Enable gpg
- Used for commit signing
- Curses pinentry is used, as it's better with a maximized terminal and I never
use gui git clients anymore
- We need to persist our gpg directory to keep our keys stored
diff --git a/modules/gpg.nix b/modules/gpg.nix
new file mode 100644
index 0000000..71e4915
--- /dev/null
+++ b/modules/gpg.nix
@@ -0,0 +1,22 @@
+{
+ pkgs,
+ username,
+ ...
+}: {
+ home = {
+ programs.gpg.enable = true;
+ services.gpg-agent = {
+ enable = true;
+ extraConfig = ''
+ pinentry-program ${pkgs.pinentry.curses}/bin/pinentry
+ '';
+ };
+ };
+
+ config.environment.persistence."/nix/persist".users.${username}.directories = [
+ {
+ directory = ".gnupg";
+ mode = "0700";
+ }
+ ];
+}