diff --git a/modules/system/gui.nix b/modules/system/gui.nix index 14de967a..57ae1bbd 100644 --- a/modules/system/gui.nix +++ b/modules/system/gui.nix @@ -75,7 +75,21 @@ inputs: config.programs.dankMaterialShell = { enable = true; enableKeybinds = true; enableSystemd = true; }; })]; # niri module will auto enable this, disable it to avoid conflict with system ssh-agent and kwallet - services.gnome.gcr-ssh-agent.enable = false; + services.gnome = { gcr-ssh-agent.enable = false; gnome-keyring.enable = inputs.lib.mkForce false; }; + }) + # niri setup kwallet + (inputs.lib.mkIf (gui.implementation == "niri") + { + nixos.packages.packages._packages = with inputs.pkgs.kdePackages; [ kwallet kwalletmanager kwallet-pam ]; + xdg.portal.extraPortals = [ inputs.pkgs.kdePackages.kwallet ]; + security.pam.services.login.kwallet = { enable = true; package = inputs.pkgs.kdePackages.kwallet-pam; }; + services.dbus.packages = inputs.lib.singleton + (inputs.pkgs.writeTextDir "share/dbus-1/services/org.freedesktop.secrets.service" + '' + [D-BUS Service] + Name=org.freedesktop.secrets + Exec=${inputs.pkgs.kdePackages.kwallet}/bin/kwalletd6 + ''); }) ]; }