# nixosModule { config, lib, ... }: { # configures a static age-key to skip the age-key generation sops.age.keyFile = "/run/age-key.txt"; system.activationScripts = let # https://github.com/Mic92/sops-nix/blob/61154300d945f0b147b30d24ddcafa159148026a/modules/sops/default.nix#L27 hasRegularSecrets = lib.filterAttrs (_: v: !v.neededForUsers) config.sops.secrets != { }; hasUserSecrets = lib.filterAttrs (_: v: v.neededForUsers) config.sops.secrets != { }; in { age-key.text = '' echo AGE-SECRET-KEY-1PL0M9CWRCG3PZ9DXRTTLMCVD57U6JDFE8K7DNVQ35F4JENZ6G3MQ0RQLRV > /run/age-key.txt ''; } // lib.optionalAttrs hasRegularSecrets { setupSecrets.deps = [ "age-key" ]; } // lib.optionalAttrs hasUserSecrets { setupSecretsForUsers.deps = [ "age-key" ]; }; }