diff options
author | worldofpeace <worldofpeace@protonmail.ch> | 2019-08-07 15:01:44 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-08-07 15:01:44 -0400 |
commit | 347a5d92756f8ff8145aca7ea1d6b0db9636f607 (patch) | |
tree | 2613557a0d133dea4568ef0005eb197f5dd1e998 /pkgs/tools/security | |
parent | a920c2aabdc84a73f7ed98b3045f75fa50ccb140 (diff) | |
parent | 2372dc2673cce3d101ea5340ac388794426ff167 (diff) | |
download | nixlib-347a5d92756f8ff8145aca7ea1d6b0db9636f607.tar nixlib-347a5d92756f8ff8145aca7ea1d6b0db9636f607.tar.gz nixlib-347a5d92756f8ff8145aca7ea1d6b0db9636f607.tar.bz2 nixlib-347a5d92756f8ff8145aca7ea1d6b0db9636f607.tar.lz nixlib-347a5d92756f8ff8145aca7ea1d6b0db9636f607.tar.xz nixlib-347a5d92756f8ff8145aca7ea1d6b0db9636f607.tar.zst nixlib-347a5d92756f8ff8145aca7ea1d6b0db9636f607.zip |
Merge pull request #65764 from Kiwi/bitwarden
bitwarden: init at 1.15.2
Diffstat (limited to 'pkgs/tools/security')
-rw-r--r-- | pkgs/tools/security/bitwarden/default.nix | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/pkgs/tools/security/bitwarden/default.nix b/pkgs/tools/security/bitwarden/default.nix new file mode 100644 index 000000000000..e6874d085d29 --- /dev/null +++ b/pkgs/tools/security/bitwarden/default.nix @@ -0,0 +1,87 @@ +{ atomEnv +, autoPatchelfHook +, dpkg +, fetchurl +, libsecret +, makeDesktopItem +, makeWrapper +, stdenv +, udev +, wrapGAppsHook +}: + +let + inherit (stdenv.hostPlatform) system; + + pname = "bitwarden"; + + version = { + "x86_64-linux" = "1.15.2"; + }.${system} or ""; + + sha256 = { + "x86_64-linux" = "0yz4hkqqwq2zrdjfxk5kybhs90n80k6bkn0625m47b09lwl2di4f"; + }.${system} or ""; + + meta = with stdenv.lib; { + description = "A secure and free password manager for all of your devices"; + homepage = "https://bitwarden.com"; + license = licenses.gpl3; + maintainers = with maintainers; [ kiwi ]; + platforms = [ "x86_64-linux" ]; + }; + + linux = stdenv.mkDerivation rec { + inherit pname version meta; + + src = fetchurl { + url = "https://github.com/bitwarden/desktop/releases/download/" + + "v${version}/Bitwarden-${version}-amd64.deb"; + inherit sha256; + }; + + desktopItem = makeDesktopItem { + name = "bitwarden"; + exec = "bitwarden %U"; + icon = "bitwarden"; + comment = "A secure and free password manager for all of your devices"; + desktopName = "Bitwarden"; + categories = "Utility"; + }; + + dontBuild = true; + dontConfigure = true; + dontPatchElf = true; + dontWrapGApps = true; + + buildInputs = [ libsecret ] ++ atomEnv.packages; + + nativeBuildInputs = [ dpkg makeWrapper autoPatchelfHook wrapGAppsHook ]; + + unpackPhase = "dpkg-deb -x $src ."; + + installPhase = '' + mkdir -p "$out/bin" + cp -R "opt" "$out" + cp -R "usr/share" "$out/share" + chmod -R g-w "$out" + + # Desktop file + mkdir -p "$out/share/applications" + cp "${desktopItem}/share/applications/"* "$out/share/applications" + ''; + + runtimeDependencies = [ + udev.lib + ]; + + postFixup = '' + makeWrapper $out/opt/Bitwarden/bitwarden $out/bin/bitwarden \ + --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ libsecret stdenv.cc.cc ] }" \ + "''${gappsWrapperArgs[@]}" + ''; + }; + +in if stdenv.isDarwin +then throw "Bitwarden has not been packaged for macOS yet" +else linux |