nixos/vaultwarden: make package configurable (#113216)

This allows the user to override the version of Vaultwarden used by the
service, if using an overlay to keep up to date with releases for
example.
This commit is contained in:
Antoine Martin
2021-07-14 17:20:10 -04:00
committed by GitHub
parent b466d6c702
commit 2463620fc2
@@ -26,12 +26,12 @@ let
if value != null then [ (nameValuePair (nameToEnvVar name) (if isBool value then boolToString value else toString value)) ] else []
) cfg.config));
in { DATA_FOLDER = "/var/lib/bitwarden_rs"; } // optionalAttrs (!(configEnv ? WEB_VAULT_ENABLED) || configEnv.WEB_VAULT_ENABLED == "true") {
WEB_VAULT_FOLDER = "${pkgs.vaultwarden-vault}/share/vaultwarden/vault";
WEB_VAULT_FOLDER = "${cfg.webVaultPackage}/share/vaultwarden/vault";
} // configEnv;
configFile = pkgs.writeText "vaultwarden.env" (concatStrings (mapAttrsToList (name: value: "${name}=${value}\n") configEnv));
vaultwarden = pkgs.vaultwarden.override { inherit (cfg) dbBackend; };
vaultwarden = cfg.package.override { inherit (cfg) dbBackend; };
in {
imports = [
@@ -102,6 +102,20 @@ in {
<literal>vaultwarden</literal> is running.
'';
};
package = mkOption {
type = package;
default = pkgs.vaultwarden;
defaultText = "pkgs.vaultwarden";
description = "Vaultwarden package to use.";
};
webVaultPackage = mkOption {
type = package;
default = pkgs.vaultwarden-vault;
defaultText = "pkgs.vaultwarden-vault";
description = "Web vault package to use.";
};
};
config = mkIf cfg.enable {