at 23.11-beta 1.3 kB view raw
1# GNOME Keyring daemon. 2 3{ config, pkgs, lib, ... }: 4 5with lib; 6 7{ 8 9 meta = { 10 maintainers = teams.gnome.members; 11 }; 12 13 # Added 2021-05-07 14 imports = [ 15 (mkRenamedOptionModule 16 [ "services" "gnome3" "gnome-keyring" "enable" ] 17 [ "services" "gnome" "gnome-keyring" "enable" ] 18 ) 19 ]; 20 21 ###### interface 22 23 options = { 24 25 services.gnome.gnome-keyring = { 26 27 enable = mkOption { 28 type = types.bool; 29 default = false; 30 description = lib.mdDoc '' 31 Whether to enable GNOME Keyring daemon, a service designed to 32 take care of the user's security credentials, 33 such as user names and passwords. 34 ''; 35 }; 36 37 }; 38 39 }; 40 41 42 ###### implementation 43 44 config = mkIf config.services.gnome.gnome-keyring.enable { 45 46 environment.systemPackages = [ pkgs.gnome.gnome-keyring ]; 47 48 services.dbus.packages = [ pkgs.gnome.gnome-keyring pkgs.gcr ]; 49 50 xdg.portal.extraPortals = [ pkgs.gnome.gnome-keyring ]; 51 52 security.pam.services.login.enableGnomeKeyring = true; 53 54 security.wrappers.gnome-keyring-daemon = { 55 owner = "root"; 56 group = "root"; 57 capabilities = "cap_ipc_lock=ep"; 58 source = "${pkgs.gnome.gnome-keyring}/bin/gnome-keyring-daemon"; 59 }; 60 61 }; 62 63}