35 lines
1.0 KiB
Nix
35 lines
1.0 KiB
Nix
{ config, lib, pkgs, namespace, ... }:
|
|
|
|
let
|
|
cfg = config.${namespace}.gnome-keyring;
|
|
in {
|
|
options.${namespace}.gnome-keyring = {
|
|
enable = lib.mkEnableOption "Enable GNOME Keyring integration";
|
|
};
|
|
|
|
config = lib.mkIf cfg.enable {
|
|
services.gnome-keyring = {
|
|
enable = true;
|
|
components = [ "secrets" "ssh" ];
|
|
};
|
|
# If using SDDM:
|
|
security.pam.services.sddm.enableGnomeKeyring = true;
|
|
# Also generally useful for other login methods
|
|
security.pam.services.login.enableGnomeKeyring = true;
|
|
# If using GDM:
|
|
security.pam.services.gdm.enableGnomeKeyring = true;
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
gnome.seahorse # Provides a GUI for managing the keyring
|
|
];
|
|
|
|
environment.variables = {
|
|
# Ensure GNOME Keyring is used for SSH keys
|
|
SSH_AUTH_SOCK = "${pkgs.gnome-keyring}/run/gnome-keyring-ssh-socket";
|
|
PASSWORD_STORE = "gnome-libsecret";
|
|
};
|
|
my-namespace.home.home.packages = with pkgs; [ # Ensure keyring integration in home environments
|
|
gcr
|
|
];
|
|
};
|
|
} |