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}