diff --git a/home/david/configurations/Tytonidae/default.nix b/home/david/configurations/Tytonidae/default.nix index aff5beb..c83d3f9 100644 --- a/home/david/configurations/Tytonidae/default.nix +++ b/home/david/configurations/Tytonidae/default.nix @@ -17,7 +17,10 @@ ./zed.nix ]; - youthlic.programs.helix.enable = true; + youthlic.programs = { + helix.enable = true; + gpg.enable = true; + }; xdg.userDirs = { enable = true; diff --git a/home/david/configurations/Tytonidae/fish/default.nix b/home/david/configurations/Tytonidae/fish/default.nix index 9729c46..5538972 100644 --- a/home/david/configurations/Tytonidae/fish/default.nix +++ b/home/david/configurations/Tytonidae/fish/default.nix @@ -48,4 +48,7 @@ nix-direnv.enable = true; }; }; + services = { + gpg-agent.enableFishIntegration = true; + }; } diff --git a/home/modules/default.nix b/home/modules/default.nix index 9a8a2c7..8db7e5a 100644 --- a/home/modules/default.nix +++ b/home/modules/default.nix @@ -7,6 +7,7 @@ ++ [ ./nix.nix ./helix + ./gpg ]; options = { diff --git a/home/modules/gpg/default.nix b/home/modules/gpg/default.nix new file mode 100644 index 0000000..25a0989 --- /dev/null +++ b/home/modules/gpg/default.nix @@ -0,0 +1,36 @@ +{ config, lib, ... }: +{ + options = { + youthlic.programs.gpg = { + enable = lib.mkOption { + type = lib.types.bool; + default = true; + example = false; + description = '' + whether enable gpg + ''; + }; + }; + }; + config = + let + cfg = config.youthlic.programs.gpg; + in + lib.mkIf cfg.enable { + services.gpg-agent = { + enable = true; + enableSshSupport = true; + }; + programs.gpg = { + enable = true; + mutableKeys = true; + mutableTrust = true; + publicKeys = [ + { + source = ./public-key.txt; + trust = "ultimate"; + } + ]; + }; + }; +} diff --git a/home/modules/gpg/public-key.txt b/home/modules/gpg/public-key.txt new file mode 100644 index 0000000..be8175e --- /dev/null +++ b/home/modules/gpg/public-key.txt @@ -0,0 +1,23 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mDMEZ4EP8BYJKwYBBAHaRw8BAQdAKGtsoTz2OMi6ZaUyE2IuGFuOniKDLX7WI5OH +iPoaH+K0LXlvdXRobGljIChtYWluIGtleSkgPHVsaWMueW91dGhsaWNAZ21haWwu +Y29tPoiTBBMWCgA7FiEExvy9f0nhy7q9ZmH3/AIGPwQzGpUFAmeBD/ACGwEFCwkI +BwICIgIGFQoJCAsCBBYCAwECHgcCF4AACgkQ/AIGPwQzGpUEWwD+IMXd5CYtwkJD +GWv7w4LB8SkmMkzSAtCfn0rsLk5AAsUBAIHZGP869EO+MsiyzzbYzKEYeoULECc5 +RSu4kvcTIAoDuDMEZ4EQHRYJKwYBBAHaRw8BAQdAnmKX2VX5V1XJyI5J91KiqAk+ +bgssUJ5LUq+4RtJBguWI7wQYFgoAIBYhBMb8vX9J4cu6vWZh9/wCBj8EMxqVBQJn +gRAdAhsCAIEJEPwCBj8EMxqVdiAEGRYKAB0WIQQYMd5Sc/DTvN/HQadj6Gw8FKDX +IQUCZ4EQHQAKCRBj6Gw8FKDXISn7AP9CF4qs4EtwOqE/ghFrF4LxloGvIz9iPssI +5g1GrFE2awD/QM7ltH6lPgMNfa6/+fQeERWiz5jXCks/Cl/Sb+ydIAr0dQD/dQQH +MpFGntmx0vkhoZnx34sGHyjTwPM2lHHJMYwrmRcBAKqSa5mVb/wpDcR0CNyfusjC +HxQM6MgBQouDLP+ANtsMuDgEZ4EQORIKKwYBBAGXVQEFAQEHQCqKIhwfA/Jf5pNl +KZ60KG1rMwuE2jBM/buKmVK51xczAwEIB4h4BBgWCgAgFiEExvy9f0nhy7q9ZmH3 +/AIGPwQzGpUFAmeBEDkCGwwACgkQ/AIGPwQzGpXbiQEAwRhX1oMVLzsruiKVqNL+ +rMq+U6kTuadbh9fJAjCQ9QEA/AjFXS7hNvrsxzv3O+8P1nOZOMKB9p1aM2EDgpF7 +q0QNuDMEZ4EZ/xYJKwYBBAHaRw8BAQdAsw7WxrMq/qv2tvLRsGhCdauGAoL8L91b +TJQmvqWADjCIeAQYFgoAIBYhBMb8vX9J4cu6vWZh9/wCBj8EMxqVBQJngRn/Ahsg +AAoJEPwCBj8EMxqVSe0A/0vlCUek4APS09osNpUyLWcboq9x7Jw4ycChcqDTfweP +AQCRDLL8wMjSlwONCLmERl8KoXnQhaEz/f3TiInUYbdkCw== +=Rq0o +-----END PGP PUBLIC KEY BLOCK-----