nixos/vaultwarden: update state directory name

Align the state directory name with the module name based on the
system state version.
This commit is contained in:
Martin Weinelt 2024-06-11 02:41:24 +02:00 committed by Sandro Jäckel
parent a0ec5ff8e3
commit d8c8faf8c3
No known key found for this signature in database
GPG Key ID: 3AF5A43A3EECC2E5

View File

@ -5,6 +5,8 @@ let
user = config.users.users.vaultwarden.name;
group = config.users.groups.vaultwarden.name;
StateDirectory = if lib.versionOlder config.system.stateVersion "24.11" then "bitwarden_rs" else "vaultwarden";
# Convert name from camel case (e.g. disable2FARemember) to upper case snake case (e.g. DISABLE_2FA_REMEMBER).
nameToEnvVar = name:
let
@ -23,7 +25,7 @@ let
configEnv = lib.concatMapAttrs (name: value: lib.optionalAttrs (value != null) {
${nameToEnvVar name} = if lib.isBool value then lib.boolToString value else toString value;
}) cfg.config;
in { DATA_FOLDER = "/var/lib/bitwarden_rs"; } // lib.optionalAttrs (!(configEnv ? WEB_VAULT_ENABLED) || configEnv.WEB_VAULT_ENABLED == "true") {
in { DATA_FOLDER = "/var/lib/${StateDirectory}"; } // lib.optionalAttrs (!(configEnv ? WEB_VAULT_ENABLED) || configEnv.WEB_VAULT_ENABLED == "true") {
WEB_VAULT_FOLDER = "${cfg.webVaultPackage}/share/vaultwarden/vault";
} // configEnv;
@ -183,7 +185,7 @@ in {
ProtectHome = "true";
ProtectSystem = "strict";
AmbientCapabilities = "CAP_NET_BIND_SERVICE";
StateDirectory = "bitwarden_rs";
inherit StateDirectory;
StateDirectoryMode = "0700";
Restart = "always";
};
@ -193,7 +195,7 @@ in {
systemd.services.backup-vaultwarden = lib.mkIf (cfg.backupDir != null) {
description = "Backup vaultwarden";
environment = {
DATA_FOLDER = "/var/lib/bitwarden_rs";
DATA_FOLDER = "/var/lib/${StateDirectory}";
BACKUP_FOLDER = cfg.backupDir;
};
path = with pkgs; [ sqlite ];