lib: add toEnvVar function

This commit is contained in:
ibizaman 2025-09-16 21:09:38 +02:00 committed by Pierre Penninckx
parent 9dfb82a0cf
commit b24eed9a86
3 changed files with 5 additions and 4 deletions

View file

@ -1,7 +1,7 @@
{ pkgs, lib }: { pkgs, lib }:
let let
inherit (builtins) isAttrs hasAttr; inherit (builtins) isAttrs hasAttr;
inherit (lib) any concatMapStringsSep concatStringsSep mapAttrsToList; inherit (lib) any concatMapStringsSep concatStringsSep;
in in
rec { rec {
# Replace secrets in a file. # Replace secrets in a file.
@ -25,6 +25,7 @@ rec {
replaceSecretsFormatAdapter = format: format.generate; replaceSecretsFormatAdapter = format: format.generate;
replaceSecretsGeneratorAdapter = generator: name: value: pkgs.writeText "generator " (generator value); replaceSecretsGeneratorAdapter = generator: name: value: pkgs.writeText "generator " (generator value);
toEnvVar = replaceSecretsGeneratorAdapter (v: (lib.generators.toINIWithGlobalSection {} { globalSection = v; }));
template = file: newPath: replacements: replaceSecretsScript { template = file: newPath: replacements: replaceSecretsScript {
inherit file replacements; inherit file replacements;

View file

@ -314,7 +314,7 @@ in
script = shblib.genConfigOutOfBandSystemd { script = shblib.genConfigOutOfBandSystemd {
config = instance.settings.repository.secrets; config = instance.settings.repository.secrets;
configLocation = "/run/secrets_restic/${serviceName}"; configLocation = "/run/secrets_restic/${serviceName}";
generator = name: v: pkgs.writeText "template" (generators.toINIWithGlobalSection {} { globalSection = v; }); generator = shblib.toEnvVar;
user = instance.request.user; user = instance.request.user;
}; };
in in
@ -340,7 +340,7 @@ in
RESTIC_REPOSITORY = instance.settings.repository.path; RESTIC_REPOSITORY = instance.settings.repository.path;
}; };
resultPath = "/run/secrets_restic_env/${fullName name instance.settings.repository}"; resultPath = "/run/secrets_restic_env/${fullName name instance.settings.repository}";
generator = name: v: pkgs.writeText (fullName name instance.settings.repository) (generators.toINIWithGlobalSection {} { globalSection = v; }); generator = shblib.toEnvVar;
user = instance.request.user; user = instance.request.user;
}); });
}; };

View file

@ -195,7 +195,7 @@ in
SMTP_PASSWORD.source = cfg.smtp.password.result.path; SMTP_PASSWORD.source = cfg.smtp.password.result.path;
}; };
resultPath = "${dataFolder}/vaultwarden.env"; resultPath = "${dataFolder}/vaultwarden.env";
generator = name: v: pkgs.writeText "template" (lib.generators.toINIWithGlobalSection {} { globalSection = v; }); generator = shblib.toEnvVar;
}; };
shb.nginx.vhosts = [ shb.nginx.vhosts = [