2023-09-02 22:11:08 +08:00
|
|
|
inputs:
|
|
|
|
{
|
|
|
|
options.nixos.system.sops = let inherit (inputs.lib) mkOption types; in
|
|
|
|
{
|
2023-11-19 17:29:15 +08:00
|
|
|
enable = mkOption { type = types.bool; default = true; };
|
|
|
|
keyPathPrefix = mkOption { type = types.str; default = "/nix/persistent"; };
|
2023-09-02 22:11:08 +08:00
|
|
|
};
|
|
|
|
config =
|
|
|
|
let
|
|
|
|
inherit (inputs.lib) mkIf;
|
|
|
|
inherit (inputs.config.nixos.system) sops;
|
|
|
|
in mkIf sops.enable
|
|
|
|
{
|
|
|
|
sops =
|
|
|
|
{
|
|
|
|
defaultSopsFile = ../../secrets/${inputs.config.networking.hostName}.yaml;
|
|
|
|
# sops start before impermanence, so we need to use the absolute path
|
|
|
|
age.sshKeyPaths = [ "${sops.keyPathPrefix}/etc/ssh/ssh_host_ed25519_key" ];
|
|
|
|
gnupg.sshKeyPaths = [ "${sops.keyPathPrefix}/etc/ssh/ssh_host_rsa_key" ];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|