mirror of
https://github.com/Swarsel/.dotfiles.git
synced 2025-12-06 17:17:22 +01:00
51 lines
1.2 KiB
Nix
51 lines
1.2 KiB
Nix
{ self, lib, config, pkgs, ... }:
|
|
let
|
|
inherit (config.swarselsystems) mainUser homeDir;
|
|
in
|
|
{
|
|
options.swarselmodules.gpgagent = lib.mkEnableOption "gpg agent settings";
|
|
config = lib.mkIf config.swarselmodules.gpgagent {
|
|
services.gpg-agent = {
|
|
enable = true;
|
|
verbose = true;
|
|
enableZshIntegration = true;
|
|
enableScDaemon = true;
|
|
enableSshSupport = true;
|
|
enableExtraSocket = true;
|
|
pinentry.package = pkgs.wayprompt;
|
|
pinentry.program = "pinentry-wayprompt";
|
|
# pinentry.package = pkgs.pinentry.gtk2;
|
|
defaultCacheTtl = 600;
|
|
maxCacheTtl = 7200;
|
|
extraConfig = ''
|
|
allow-loopback-pinentry
|
|
allow-emacs-pinentry
|
|
'';
|
|
sshKeys = [
|
|
"4BE7925262289B476DBBC17B76FD3810215AE097"
|
|
];
|
|
};
|
|
|
|
programs.gpg = {
|
|
enable = true;
|
|
publicKeys = [
|
|
{
|
|
source = "${self}/secrets/keys/gpg/gpg-public-key-0x76FD3810215AE097.asc";
|
|
trust = 5;
|
|
}
|
|
];
|
|
};
|
|
|
|
# assure correct permissions
|
|
systemd.user.tmpfiles.settings."30-gpgagent".rules = {
|
|
"${homeDir}/.gnupg" = {
|
|
d = {
|
|
group = "users";
|
|
user = mainUser;
|
|
mode = "0700";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
}
|