tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
0
fork
atom
lol
0
fork
atom
overview
issues
pulls
pipelines
bitwarden: 1.28.1 -> 1.29.1
Pavol Rusnak
4 years ago
942fe94b
7208ebc0
+45
-61
1 changed file
expand all
collapse all
unified
split
pkgs
tools
security
bitwarden
default.nix
+45
-61
pkgs/tools/security/bitwarden/default.nix
reviewed
···
4
4
, fetchurl
5
5
, lib
6
6
, libsecret
7
7
+
, libxshmfence
7
8
, makeDesktopItem
8
9
, makeWrapper
9
10
, stdenv
···
11
12
, wrapGAppsHook
12
13
}:
13
14
14
14
-
let
15
15
-
inherit (stdenv.hostPlatform) system;
16
16
-
15
15
+
stdenv.mkDerivation rec {
17
16
pname = "bitwarden";
17
17
+
version = "1.29.1";
18
18
19
19
-
version = {
20
20
-
x86_64-linux = "1.28.1";
21
21
-
}.${system} or "";
19
19
+
src = fetchurl {
20
20
+
url = "https://github.com/bitwarden/desktop/releases/download/v${version}/Bitwarden-${version}-amd64.deb";
21
21
+
sha256 = "0rxy19bazi7a6m2bpx6wadg5d9p0k324h369vgr5ppmxb69d6zp8";
22
22
+
};
22
23
23
23
-
sha256 = {
24
24
-
x86_64-linux = "sha256-vyEbISZDTN+CHqSEtElzfg4M4i+2RjUux5vzwJw8/dc=";
25
25
-
}.${system} or "";
26
26
-
27
27
-
meta = with lib; {
28
28
-
description = "A secure and free password manager for all of your devices";
29
29
-
homepage = "https://bitwarden.com";
30
30
-
license = licenses.gpl3;
31
31
-
maintainers = with maintainers; [ kiwi ];
32
32
-
platforms = [ "x86_64-linux" ];
24
24
+
desktopItem = makeDesktopItem {
25
25
+
name = "bitwarden";
26
26
+
exec = "bitwarden %U";
27
27
+
icon = "bitwarden";
28
28
+
comment = "A secure and free password manager for all of your devices";
29
29
+
desktopName = "Bitwarden";
30
30
+
categories = "Utility";
33
31
};
34
32
35
35
-
linux = stdenv.mkDerivation rec {
36
36
-
inherit pname version meta;
37
37
-
38
38
-
src = fetchurl {
39
39
-
url = "https://github.com/bitwarden/desktop/releases/download/"
40
40
-
+ "v${version}/Bitwarden-${version}-amd64.deb";
41
41
-
inherit sha256;
42
42
-
};
43
43
-
44
44
-
desktopItem = makeDesktopItem {
45
45
-
name = "bitwarden";
46
46
-
exec = "bitwarden %U";
47
47
-
icon = "bitwarden";
48
48
-
comment = "A secure and free password manager for all of your devices";
49
49
-
desktopName = "Bitwarden";
50
50
-
categories = "Utility";
51
51
-
};
33
33
+
dontBuild = true;
34
34
+
dontConfigure = true;
35
35
+
dontPatchELF = true;
36
36
+
dontWrapGApps = true;
52
37
53
53
-
dontBuild = true;
54
54
-
dontConfigure = true;
55
55
-
dontPatchELF = true;
56
56
-
dontWrapGApps = true;
38
38
+
nativeBuildInputs = [ dpkg makeWrapper autoPatchelfHook wrapGAppsHook ];
57
39
58
58
-
buildInputs = [ libsecret ] ++ atomEnv.packages;
40
40
+
buildInputs = [ libsecret libxshmfence ] ++ atomEnv.packages;
59
41
60
60
-
nativeBuildInputs = [ dpkg makeWrapper autoPatchelfHook wrapGAppsHook ];
42
42
+
unpackPhase = "dpkg-deb -x $src .";
61
43
62
62
-
unpackPhase = "dpkg-deb -x $src .";
44
44
+
installPhase = ''
45
45
+
mkdir -p "$out/bin"
46
46
+
cp -R "opt" "$out"
47
47
+
cp -R "usr/share" "$out/share"
48
48
+
chmod -R g-w "$out"
63
49
64
64
-
installPhase = ''
65
65
-
mkdir -p "$out/bin"
66
66
-
cp -R "opt" "$out"
67
67
-
cp -R "usr/share" "$out/share"
68
68
-
chmod -R g-w "$out"
50
50
+
# Desktop file
51
51
+
mkdir -p "$out/share/applications"
52
52
+
cp "${desktopItem}/share/applications/"* "$out/share/applications"
53
53
+
'';
69
54
70
70
-
# Desktop file
71
71
-
mkdir -p "$out/share/applications"
72
72
-
cp "${desktopItem}/share/applications/"* "$out/share/applications"
73
73
-
'';
55
55
+
runtimeDependencies = [
56
56
+
(lib.getLib udev)
57
57
+
];
74
58
75
75
-
runtimeDependencies = [
76
76
-
(lib.getLib udev)
77
77
-
];
59
59
+
postFixup = ''
60
60
+
makeWrapper $out/opt/Bitwarden/bitwarden $out/bin/bitwarden \
61
61
+
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libsecret stdenv.cc.cc ] }" \
62
62
+
"''${gappsWrapperArgs[@]}"
63
63
+
'';
78
64
79
79
-
postFixup = ''
80
80
-
makeWrapper $out/opt/Bitwarden/bitwarden $out/bin/bitwarden \
81
81
-
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libsecret stdenv.cc.cc ] }" \
82
82
-
"''${gappsWrapperArgs[@]}"
83
83
-
'';
65
65
+
meta = with lib; {
66
66
+
description = "A secure and free password manager for all of your devices";
67
67
+
homepage = "https://bitwarden.com";
68
68
+
license = licenses.gpl3;
69
69
+
maintainers = with maintainers; [ kiwi ];
70
70
+
platforms = [ "x86_64-linux" ];
84
71
};
85
85
-
86
86
-
in if stdenv.isDarwin
87
87
-
then throw "Bitwarden has not been packaged for macOS yet"
88
88
-
else linux
72
72
+
}