summaryrefslogtreecommitdiff
path: root/home/gpg.nix
diff options
context:
space:
mode:
Diffstat (limited to 'home/gpg.nix')
-rw-r--r--home/gpg.nix31
1 files changed, 31 insertions, 0 deletions
diff --git a/home/gpg.nix b/home/gpg.nix
new file mode 100644
index 0000000..a2deed2
--- /dev/null
+++ b/home/gpg.nix
@@ -0,0 +1,31 @@
+{
+ config,
+ lib,
+ pkgs,
+ ...
+}: let
+ keysDir = ../files/keys;
+ keys = lib.attrsets.mapAttrsToList (name: type: "${keysDir}/${name}") (builtins.readDir keysDir);
+ gpgKeys = builtins.filter (path: lib.strings.hasSuffix "asc" path) keys;
+in {
+ home-manager.users.${config.user} = {
+ # install keys into gpg keyring
+ programs.gpg = {
+ enable = true;
+ publicKeys =
+ map (path: {
+ source = path;
+ trust = 5;
+ })
+ gpgKeys;
+ };
+
+ # global gpg agent
+ services.gpg-agent = {
+ enable = true;
+ enableExtraSocket = true;
+ enableSshSupport = true;
+ pinentry.package = pkgs.pinentry-curses;
+ };
+ };
+}