nixos-config/modules/system/sops-config.nix

47 lines
886 B
Nix
Raw Normal View History

2025-03-29 14:07:48 -04:00
{ config, lib, ... }:
2025-03-10 15:42:03 -04:00
let
cfg = config.sops-config;
2025-02-16 16:24:34 -05:00
2025-03-10 15:42:03 -04:00
in {
options.sops-config = {
key-file = lib.mkOption {
type = lib.types.str;
default = "";
2025-02-16 16:24:34 -05:00
};
2025-03-10 15:42:03 -04:00
};
config = {
sops = {
age.keyFile = cfg.key-file; # must have no password!
defaultSopsFile = ./secrets.yaml;
secrets = {
filez = {};
media-server = {};
};
2025-03-29 14:07:48 -04:00
templates."media-server-secrets".content =
''
2025-02-16 16:24:34 -05:00
username=media
password=${config.sops.placeholder.media-server}
'';
2025-03-29 14:07:48 -04:00
templates."filez-secrets".content =
''
2025-02-16 16:24:34 -05:00
username=admin
password=${config.sops.placeholder.filez}
'';
2025-03-10 15:42:03 -04:00
};
2025-02-16 16:24:34 -05:00
2025-03-10 15:42:03 -04:00
environment.etc = {
"nixos/filez-secrets" = {
source = config.sops.templates."filez-secrets".path;
};
"nixos/media-server-secrets" = {
source = config.sops.templates."media-server-secrets".path;
};
2025-02-16 16:24:34 -05:00
};
2025-03-10 15:42:03 -04:00
};
2025-02-16 16:24:34 -05:00
}