NiksOS/secrets/default.nix
2025-08-29 11:06:06 +02:00

50 lines
1.5 KiB
Nix

{
config,
lib,
...
}: let
inherit (lib) mkIf;
inherit (config.niksos) server;
serviceUser = x: config.systemd.services.${x}.serviceConfig.User;
abstrServiceUser = x: config.services.${x}.user;
abstrServiceGroup = x: config.services.${x}.group;
in {
age.secrets = {
password.file = ./password.age;
# NOTE: server things
jsw-bot = mkIf server.jsw-bot.enable {
file = ./jsw-bot.age;
owner = serviceUser "jsw-bot"; #
};
derek-bot = mkIf server.derek-bot.enable {
file = ./derek-bot.age;
owner = "derek-bot";
};
# matrix-registration = mkIf server.matrix.enable {
# file = ./matrix-registration.age;
# owner = abstrServiceUser "matrix-continuwuity";
# };
mail-admin = mkIf server.stalwart.enable {
# owner = serviceUser "stalwart-mail"; #FIXME: revert when stopped using docker for stalwart.
file = ./mail-admin.age;
};
zitadel-key = mkIf server.zitadel.enable {
file = ./zitadel-key.age;
owner = abstrServiceUser "zitadel";
};
forgejo-mailpass = mkIf server.forgejo.enable {
file = ./forgejo-mailpass.age;
owner = abstrServiceUser "forgejo";
};
immich-oidc = mkIf server.immich.enable {
file = ./immich-oidc.age;
owner = abstrServiceUser "immich";
};
nextcloud-admin-pass = mkIf server.nextcloud.enable {
file = ./nextcloud-admin-pass.age;
owner = "nextcloud"; #NOTE: not a clear 'nextcloud.service' or 'services.nextcloud.user'.
};
};
}