summaryrefslogtreecommitdiff
path: root/home/gpg.nix
diff options
context:
space:
mode:
authorFreya Murphy <freya@freyacat.org>2025-06-23 22:33:44 -0400
committerFreya Murphy <freya@freyacat.org>2025-06-23 22:33:44 -0400
commit328c741b1aac74020412e99e0dca7c728dbc92fa (patch)
tree461f4ebcd3252d542749a34668defd62de356c73 /home/gpg.nix
parentremoved unused packages (diff)
downloaddotfiles-nix-328c741b1aac74020412e99e0dca7c728dbc92fa.tar.gz
dotfiles-nix-328c741b1aac74020412e99e0dca7c728dbc92fa.tar.bz2
dotfiles-nix-328c741b1aac74020412e99e0dca7c728dbc92fa.zip
refactor
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;
+ };
+ };
+}