tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
lol
0
fork
atom
overview
issues
pulls
pipelines
passky-desktop: 7.1.0 -> 8.1.1
Alessandro Barenghi
2 years ago
ede650b4
35502f30
+57
-46
1 changed file
expand all
collapse all
unified
split
pkgs
applications
misc
passky-desktop
default.nix
+57
-46
pkgs/applications/misc/passky-desktop/default.nix
···
1
-
{ lib, stdenv, fetchurl, appimageTools, undmg }:
0
0
0
0
0
0
0
2
3
-
let
4
pname = "passky-desktop";
5
-
version = "7.1.0";
6
7
-
srcs = {
8
-
x86_64-linux = fetchurl {
9
-
url = "https://github.com/Rabbit-Company/Passky-Desktop/releases/download/v${version}/Passky-${version}.AppImage";
10
-
sha256 = "1xnhrmmm018mmyzjq05mhbf673f0n81fh1k3kbfarbgk2kbwpq6y";
11
-
};
12
-
x86_64-darwin = fetchurl {
13
-
url = "https://github.com/Rabbit-Company/Passky-Desktop/releases/download/v${version}/Passky-${version}.dmg";
14
-
sha256 = "0mm7hk4v7zvpjdqyw3nhk33x72j0gh3f59bx3q18azlm4dr61r2d";
15
-
};
16
};
17
-
src = srcs.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
18
19
-
appimageContents = appimageTools.extract { inherit pname version src; };
20
-
meta = with lib; {
21
-
homepage = "https://passky.org";
22
-
downloadPage = "https://github.com/Rabbit-Company/Passky-Desktop/releases";
23
-
license = licenses.gpl3Only;
24
-
maintainers = with maintainers; [ akkesm ];
25
-
platforms = builtins.attrNames srcs;
26
-
};
27
28
-
linux = appimageTools.wrapType2 {
29
-
inherit pname version src meta;
30
31
-
extraInstallCommands = ''
32
-
mv $out/bin/${pname}-${version} $out/bin/${pname}
33
34
-
install -D ${appimageContents}/passky.desktop \
35
-
$out/share/applications/${pname}.desktop
0
0
0
0
0
36
37
-
substituteInPlace $out/share/applications/${pname}.desktop \
38
-
--replace 'Exec=AppRun' 'Exec=${pname}'
0
0
39
40
-
cp -r ${appimageContents}/usr/share/icons $out/share
41
-
'';
42
-
};
43
44
-
darwin = stdenv.mkDerivation {
45
-
inherit pname version src meta;
0
0
0
0
0
0
0
0
0
0
0
0
46
47
-
nativeBuildInputs = [ undmg ];
48
-
49
-
sourceRoot = ".";
50
-
51
-
installPhase = ''
52
-
mkdir -p $out/Applications
53
-
cp -r *.app $out/Applications
54
-
'';
0
55
};
56
-
in
57
-
if stdenv.isDarwin
58
-
then darwin
59
-
else linux
···
1
+
{ lib
2
+
, stdenv
3
+
, fetchFromGitHub
4
+
, electron_22
5
+
, makeWrapper
6
+
, makeDesktopItem
7
+
, copyDesktopItems
8
+
}:
9
10
+
stdenv.mkDerivation rec {
11
pname = "passky-desktop";
12
+
version = "8.1.1";
13
14
+
src = fetchFromGitHub {
15
+
owner = "Rabbit-Company";
16
+
repo = "Passky-Desktop";
17
+
rev = "refs/tags/v${version}";
18
+
sha256 = "1ma8s1bngjdzclcc4m5pcmavk38sidaskmz7dgfnv84y35si18dr";
0
0
0
0
19
};
0
20
21
+
nativeBuildInputs = [ makeWrapper copyDesktopItems ];
0
0
0
0
0
0
0
22
23
+
installPhase = ''
24
+
runHook preInstall
25
26
+
mkdir -p $out/share/passky
27
+
cp -r "." "$out/share/passky/electron"
28
29
+
local resolution
30
+
for icon in $out/share/passky/electron/images/icons/icon*.png; do
31
+
resolution=''${icon%".png"}
32
+
resolution=''${resolution##*/icon-}
33
+
mkdir -p "$out/share/icons/hicolor/''${resolution}/apps"
34
+
ln -s "$icon" "$out/share/icons/hicolor/''${resolution}/apps/passky.png"
35
+
done
36
37
+
mkdir "$out/share/applications"
38
+
makeWrapper ${electron_22}/bin/electron "$out/bin/passky" \
39
+
--add-flags "$out/share/passky/electron/" \
40
+
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"
41
42
+
runHook postInstall
43
+
'';
0
44
45
+
desktopItems = [
46
+
(
47
+
makeDesktopItem {
48
+
name = "Passky";
49
+
type = "Application";
50
+
desktopName = "passky";
51
+
comment = "Simple, modern, open source and secure password manager.";
52
+
icon = "passky";
53
+
exec = "passky %U";
54
+
categories = [ "Utility" ];
55
+
startupWMClass = "Passky";
56
+
}
57
+
)
58
+
];
59
60
+
meta = with lib; {
61
+
description = "A simple, modern, lightweight, open source and secure password manager";
62
+
homepage = "https://passky.org";
63
+
downloadPage = "https://github.com/Rabbit-Company/Passky-Desktop/releases";
64
+
changelog = "https://github.com/Rabbit-Company/Passky-Desktop/releases/tag/v${version}";
65
+
license = licenses.gpl3Only;
66
+
maintainers = with maintainers; [ akkesm ];
67
+
mainProgram = "passky";
68
+
platforms = platforms.unix;
69
};
70
+
}
0
0
0