Merge pull request #329823 from ExpidusOS/fix/pkgsllvm/elfutils
[NixPkgs.git] / pkgs / by-name / bi / bitwarden-cli / package.nix
blobb001e22adda6ab8b7734c4b35584c91b5b42fe07
1 { lib
2 , stdenv
3 , buildNpmPackage
4 , nodejs_20
5 , fetchFromGitHub
6 , python311
7 , cctools
8 , nixosTests
9 , xcbuild
12 buildNpmPackage rec {
13   pname = "bitwarden-cli";
14   version = "2024.6.1";
16   src = fetchFromGitHub {
17     owner = "bitwarden";
18     repo = "clients";
19     rev = "cli-v${version}";
20     hash = "sha256-LKeJKA4/Vd80y48RdZTUh10bY38AoQ5G5oK6S77fSJI=";
21   };
23   nodejs = nodejs_20;
25   npmDepsHash = "sha256-rwzyKaCW3LAOqw6BEu8DLS0Ad5hB6cH1OnjWzbSEgVI=";
27   nativeBuildInputs = [
28     python311
29   ] ++ lib.optionals stdenv.isDarwin [
30     cctools
31     xcbuild.xcrun
32   ];
34   makeCacheWritable = true;
36   env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
38   npmBuildScript = "build:oss:prod";
40   npmWorkspace = "apps/cli";
42   npmFlags = [ "--legacy-peer-deps" ];
44   passthru.tests = {
45     vaultwarden = nixosTests.vaultwarden.sqlite;
46   };
48   meta = with lib; {
49     changelog = "https://github.com/bitwarden/clients/releases/tag/${src.rev}";
50     description = "Secure and free password manager for all of your devices";
51     homepage = "https://bitwarden.com";
52     license = lib.licenses.gpl3Only;
53     mainProgram = "bw";
54     maintainers = with maintainers; [ dotlambda ];
55   };