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}