{ config, lib, pkgs, ... }: let cfg = config.szpont.sys.core.security; in { options.szpont.sys.core.security.enable = lib.mkEnableOption "core security services"; config = lib.mkIf cfg.enable { services.gnome.gnome-keyring.enable = true; security = { polkit.enable = true; rtkit.enable = true; }; programs.gnupg.agent = { enable = true; enableSSHSupport = true; pinentryPackage = pkgs.pinentry-curses; }; systemd.user.services.polkit-gnome-authentication-agent-1 = { description = "gnome-polkit-authentication-agent-1"; wantedBy = [ "graphical-session.target" ]; serviceConfig = { Type = "simple"; ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1"; Restart = "on-failure"; RestartSec = 1; TimeoutStopSec = 10; }; }; }; }