summary refs log tree commit diff
path: root/nixos
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 /nixos
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.
Diffstat (limited to 'nixos')
-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 {