main
 1{lib, ...}: {
 2  den.aspects.desktop.env.secret-store = {user, ...}: {
 3    persistUser = {
 4      directories = lib.optional (!(lib.elem "homeManager" user.classes)) ".local/share/keyrings";
 5    };
 6    persistHome = {config, ...}: {
 7      directories = ["${config.xdg.dataHome}/keyrings"];
 8    };
 9
10    nixos = {
11      services.gnome.gnome-keyring = {
12        enable = true;
13      };
14      security.pam.services.${user.userName}.enableGnomeKeyring = true;
15
16      xdg.portal = {
17        enable = true;
18        config.common."org.freedesktop.impl.portal.Secret" = [
19          "gnome-keyring"
20        ];
21      };
22    };
23  };
24}