diff --git a/modules/age.nix b/modules/age.nix index e3822b8..5f8e184 100644 --- a/modules/age.nix +++ b/modules/age.nix @@ -10,7 +10,7 @@ let if lib.versionOlder pkgs.rage.version "0.5.0" then pkgs.callPackage ../pkgs/rage.nix { } else pkgs.rage; - ageBin = "${rage}/bin/rage"; + ageBin = config.age.ageBin; users = config.users.users; @@ -96,6 +96,13 @@ let in { options.age = { + ageBin = mkOption { + type = types.str; + default = "${rage}/bin/rage"; + description = '' + The age executable to use. + ''; + }; secrets = mkOption { type = types.attrsOf secretType; default = { }; diff --git a/pkgs/agenix.nix b/pkgs/agenix.nix index ede9434..ca1c44e 100644 --- a/pkgs/agenix.nix +++ b/pkgs/agenix.nix @@ -8,13 +8,14 @@ nix, mktemp, diffutils, + ageBin ? "${ + # we need at least rage 0.5.0 to support ssh keys + if rage.version < "0.5.0" + then callPackage ./rage.nix {} + else rage + }/bin/rage" } : let - # we need at least rage 0.5.0 to support ssh keys - rageToUse = if rage.version < "0.5.0" - then callPackage ./rage.nix {} - else rage; - ageBin = "${rageToUse}/bin/rage"; sedBin = "${gnused}/bin/sed"; nixInstantiate = "${nix}/bin/nix-instantiate"; mktempBin = "${mktemp}/bin/mktemp";