aboutsummaryrefslogtreecommitdiff
path: root/modules/secrets/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'modules/secrets/default.nix')
-rw-r--r--modules/secrets/default.nix24
1 files changed, 24 insertions, 0 deletions
diff --git a/modules/secrets/default.nix b/modules/secrets/default.nix
new file mode 100644
index 0000000..e6f3a7b
--- /dev/null
+++ b/modules/secrets/default.nix
@@ -0,0 +1,24 @@
+{ config, inputs, lib, options, ... }:
+
+{
+ imports = [ inputs.agenix.nixosModules.age ];
+
+ config.age = {
+ secrets = let
+ toName = lib.removeSuffix ".age";
+ userExists = u: builtins.hasAttr u config.users.users;
+ # Only set the user if it exists, to avoid warnings
+ userIfExists = u: if userExists u then u else "root";
+ toSecret = name:
+ { owner ? "root", ... }: {
+ file = ./. + "/${name}";
+ owner = lib.mkDefault (userIfExists owner);
+ };
+ convertSecrets = n: v: lib.nameValuePair (toName n) (toSecret n v);
+ secrets = import ./secrets.nix;
+ in lib.mapAttrs' convertSecrets secrets;
+
+ identityPaths = options.age.identityPaths.default
+ ++ [ "/home/fcuny/.ssh/id_ed25519" ];
+ };
+}