Files
nixos.server/modules/features/sops/default.nix
2026-10-02 19:23:30 +01:00

60 lines
1.8 KiB
Nix

{
self,
inputs,
...
}: {
flake.nixosModules.secrets = {
config,
lib,
pkgs,
...
}: {
imports = [inputs.sops-nix.nixosModules.sops];
sops = {
age.keyFile = "/etc/sops/age/keys.txt";
defaultSopsFile = ../../../secrets/secrets.yaml;
secrets = {
lidarr-api-key = {};
gitea-db-passwd = {};
immich-api-key = {};
immich-db-passwd = {};
immich-postgres-passwd = {};
mail-relay-user = {};
mail-relay-passwd = {};
silverbullet-user = {};
paperless-ngx-key = {};
paperless-postgres-password = {};
matrix-postgres-password = {};
};
templates = {
"gitea.env".content = ''
GITEA__database__PASSWD=${config.sops.placeholder.gitea-db-passwd}
MYSQL_PASSWORD=${config.sops.placeholder.gitea-db-passwd}
MYSQL_ROOT_PASSWORD=${config.sops.placeholder.gitea-db-passwd}
'';
"immich.env".content = ''
DB_PASSWORD=${config.sops.placeholder.immich-db-passwd}
IMMICH_API_KEY=${config.sops.placeholder.immich-api-key}
POSTGRES_PASSWORD=${config.sops.placeholder.immich-postgres-passwd}
'';
"mail.env".content = ''
RELAY_USER=${config.sops.placeholder.mail-relay-user}
RELAY_PASSWORD=${config.sops.placeholder.mail-relay-passwd}
'';
"silverbullet.env".content = ''
SB_USER=${config.sops.placeholder.silverbullet-user}
'';
"paperless.env".content = ''
POSTGRES_PASSWORD=${config.sops.placeholder.paperless-postgres-password}
PAPERLESS_SECRET_KEY=${config.sops.placeholder.paperless-ngx-key}
'';
"matrix.env".content = ''
"POSTGRES_PASSWORD" = ${config.sops.placeholder.matrix-postgres-password}
'';
};
};
};
}