pkgs/vaultwarden: init at git-a2ad1dc
	
		
			
	
		
	
	
		
	
		
			All checks were successful
		
		
	
	
		
			
				
	
				Check flake / build-amd64-linux (push) Successful in 1m24s
				
			
		
		
	
	
				
					
				
			
		
			All checks were successful
		
		
	
	Check flake / build-amd64-linux (push) Successful in 1m24s
				
			This commit is contained in:
		| @@ -24,7 +24,6 @@ | ||||
|     config.allowUnfree = true; | ||||
|     overlays = [ | ||||
|       inputs.agenix.overlays.default | ||||
|       (import ../overlays/default.nix) | ||||
|       (final: prev: { | ||||
|         unstable = import inputs.nixpkgs-unstable { | ||||
|           config = { | ||||
| @@ -33,6 +32,7 @@ | ||||
|           system = final.system; | ||||
|         }; | ||||
|       }) | ||||
|       (import ../overlays/default.nix) | ||||
|     ]; | ||||
|   }; | ||||
|  | ||||
|   | ||||
| @@ -31,6 +31,8 @@ lib.mapAttrs ( | ||||
|     else | ||||
|       # Namespaced package sets in regular attrsets. | ||||
|       prev.${name} // value | ||||
|   else if name == "vaultwarden" then | ||||
|     final.callPackage value { rustPlatform = final.unstable.rustPlatform; } | ||||
|   else | ||||
|     final.callPackage value { } | ||||
| ) pkgs | ||||
|   | ||||
							
								
								
									
										65
									
								
								pkgs/vaultwarden/package.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										65
									
								
								pkgs/vaultwarden/package.nix
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,65 @@ | ||||
| { | ||||
|   lib, | ||||
|   stdenv, | ||||
|   callPackage, | ||||
|   rustPlatform, | ||||
|   fetchFromGitHub, | ||||
|   nixosTests, | ||||
|   pkg-config, | ||||
|   openssl, | ||||
|   libiconv, | ||||
|   dbBackend ? "sqlite", | ||||
|   libmysqlclient, | ||||
|   libpq, | ||||
| }: | ||||
|  | ||||
| let | ||||
|   webvault = callPackage ./webvault.nix { }; | ||||
| in | ||||
|  | ||||
| rustPlatform.buildRustPackage rec { | ||||
|   pname = "vaultwarden"; | ||||
|   version = "git-" + builtins.substring 0 7 src.rev; | ||||
|  | ||||
|   src = fetchFromGitHub { | ||||
|     owner = "dani-garcia"; | ||||
|     repo = "vaultwarden"; | ||||
|     rev = "a2ad1dc7c3d28834749d4b14206838d795236c27"; | ||||
|     sha256 = "sha256-6Qmp/Uv8hdKuL9e3tPMKgNq1ZdvRQbzM65ifmS2Z3UY="; | ||||
|   }; | ||||
|  | ||||
|   cargoHash = "sha256-F7we9rurJ7srz54lsuSrdoIZpkGE+4ncW3+wjEwaD7M="; | ||||
|  | ||||
|   # used for "Server Installed" version in admin panel | ||||
|   env.VW_VERSION = version; | ||||
|  | ||||
|   nativeBuildInputs = [ pkg-config ]; | ||||
|   buildInputs = [ | ||||
|     openssl | ||||
|   ] | ||||
|   ++ lib.optionals stdenv.hostPlatform.isDarwin [ | ||||
|     libiconv | ||||
|   ] | ||||
|   ++ lib.optional (dbBackend == "mysql") libmysqlclient | ||||
|   ++ lib.optional (dbBackend == "postgresql") libpq; | ||||
|  | ||||
|   buildFeatures = dbBackend; | ||||
|  | ||||
|   passthru = { | ||||
|     inherit webvault; | ||||
|     tests = nixosTests.vaultwarden; | ||||
|     updateScript = callPackage ./update.nix { }; | ||||
|   }; | ||||
|  | ||||
|   meta = with lib; { | ||||
|     description = "Unofficial Bitwarden compatible server written in Rust"; | ||||
|     homepage = "https://github.com/dani-garcia/vaultwarden"; | ||||
|     changelog = "https://github.com/dani-garcia/vaultwarden/releases/tag/${version}"; | ||||
|     license = licenses.agpl3Only; | ||||
|     maintainers = with maintainers; [ | ||||
|       dotlambda | ||||
|       SuperSandro2000 | ||||
|     ]; | ||||
|     mainProgram = "vaultwarden"; | ||||
|   }; | ||||
| } | ||||
							
								
								
									
										83
									
								
								pkgs/vaultwarden/webvault.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										83
									
								
								pkgs/vaultwarden/webvault.nix
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,83 @@ | ||||
| { | ||||
|   lib, | ||||
|   buildNpmPackage, | ||||
|   fetchFromGitHub, | ||||
|   nixosTests, | ||||
|   python3, | ||||
|   vaultwarden, | ||||
| }: | ||||
|  | ||||
| let | ||||
|   version = "2025.8.0"; | ||||
|  | ||||
|   bw_web_builds = fetchFromGitHub { | ||||
|     owner = "dani-garcia"; | ||||
|     repo = "bw_web_builds"; | ||||
|     rev = "v${version}"; | ||||
|     hash = "sha256-93acGKO3Fq81M1wKPvIynvkTFXPQXypcMb+c4aEtxJc="; | ||||
|   }; | ||||
|  | ||||
| in | ||||
| buildNpmPackage rec { | ||||
|   pname = "vaultwarden-webvault"; | ||||
|   inherit version; | ||||
|  | ||||
|   src = fetchFromGitHub { | ||||
|     owner = "vaultwarden"; | ||||
|     repo = "vw_web_builds"; | ||||
|     rev = bw_web_builds.rev; | ||||
|     hash = "sha256-u51EP4I+bUcTeMqfzx1gbZMxpjalt3bpK3QGp5QEpYU="; | ||||
|   }; | ||||
|  | ||||
|   npmDepsHash = "sha256-wi7ZDgGKXrtueLob5OVNKCpnzC00UW9zo8KwuoyL1Bo="; | ||||
|  | ||||
|   postPatch = '' | ||||
|     ln -s ${bw_web_builds}/{patches,resources} .. | ||||
|   ''; | ||||
|  | ||||
|   nativeBuildInputs = [ | ||||
|     python3 | ||||
|   ]; | ||||
|  | ||||
|   makeCacheWritable = true; | ||||
|  | ||||
|   env = { | ||||
|     ELECTRON_SKIP_BINARY_DOWNLOAD = "1"; | ||||
|     npm_config_build_from_source = "true"; | ||||
|   }; | ||||
|  | ||||
|   npmRebuildFlags = [ | ||||
|     # FIXME one of the esbuild versions fails to download @esbuild/linux-x64 | ||||
|     "--ignore-scripts" | ||||
|   ]; | ||||
|  | ||||
|   npmBuildScript = "dist:oss:selfhost"; | ||||
|  | ||||
|   npmBuildFlags = [ | ||||
|     "--workspace" | ||||
|     "apps/web" | ||||
|   ]; | ||||
|  | ||||
|   npmFlags = [ "--legacy-peer-deps" ]; | ||||
|  | ||||
|   installPhase = '' | ||||
|     runHook preInstall | ||||
|     mkdir -p $out/share/vaultwarden | ||||
|     mv apps/web/build $out/share/vaultwarden/vault | ||||
|     runHook postInstall | ||||
|   ''; | ||||
|  | ||||
|   passthru = { | ||||
|     inherit bw_web_builds; | ||||
|     tests = nixosTests.vaultwarden; | ||||
|   }; | ||||
|  | ||||
|   meta = with lib; { | ||||
|     description = "Integrates the web vault into vaultwarden"; | ||||
|     homepage = "https://github.com/dani-garcia/bw_web_builds"; | ||||
|     changelog = "https://github.com/dani-garcia/bw_web_builds/releases/tag/v${version}"; | ||||
|     platforms = platforms.all; | ||||
|     license = licenses.gpl3Plus; | ||||
|     inherit (vaultwarden.meta) maintainers; | ||||
|   }; | ||||
| } | ||||
		Reference in New Issue
	
	Block a user