summary refs log tree commit diff
diff options
context:
space:
mode:
authorAntoine Martin <antoine97.martin@gmail.com>2021-07-14 23:20:10 +0200
committerGitHub <noreply@github.com>2021-07-14 17:20:10 -0400
commit2463620fc2bad6eeb8f0c0e837e4d6affd2c22a9 (patch)
treecd390b7caf1f77feed947575f44508d7e371c86f
parentb466d6c702867f6a3844db58dd4da6298a1df25c (diff)
downloadnixpkgs-2463620fc2bad6eeb8f0c0e837e4d6affd2c22a9.tar
nixpkgs-2463620fc2bad6eeb8f0c0e837e4d6affd2c22a9.tar.gz
nixpkgs-2463620fc2bad6eeb8f0c0e837e4d6affd2c22a9.tar.bz2
nixpkgs-2463620fc2bad6eeb8f0c0e837e4d6affd2c22a9.tar.lz
nixpkgs-2463620fc2bad6eeb8f0c0e837e4d6affd2c22a9.tar.xz
nixpkgs-2463620fc2bad6eeb8f0c0e837e4d6affd2c22a9.tar.zst
nixpkgs-2463620fc2bad6eeb8f0c0e837e4d6affd2c22a9.zip
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.
-rw-r--r--nixos/modules/services/security/vaultwarden/default.nix18
1 files changed, 16 insertions, 2 deletions
diff --git a/nixos/modules/services/security/vaultwarden/default.nix b/nixos/modules/services/security/vaultwarden/default.nix
index 940ac7832da..d28ea61e66a 100644
--- a/nixos/modules/services/security/vaultwarden/default.nix
+++ b/nixos/modules/services/security/vaultwarden/default.nix
@@ -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 {