2 , buildPythonApplication
4 , gobject-introspection
10 , proton-keyring-linux
11 , proton-keyring-linux-secretservice
13 , proton-vpn-connection
14 , proton-vpn-killswitch
15 , proton-vpn-killswitch-network-manager
17 , proton-vpn-network-manager
18 , proton-vpn-network-manager-openvpn
23 , withIndicator ? true
24 , libappindicator-gtk3
25 , libayatana-appindicator
28 buildPythonApplication rec {
29 pname = "protonvpn-gui";
33 src = fetchFromGitHub {
35 repo = "proton-vpn-gtk-app";
36 rev = "refs/tags/v${version}";
37 hash = "sha256-H4m4u9zksab47W5aIsQZPQTPEYiXbmrVCnT67b+A5Tc=";
41 # Needed for the NM namespace
47 buildInputs = lib.optionals withIndicator [
48 # Adds AppIndicator3 namespace
50 # Adds AyatanaAppIndicator3 namespace
51 libayatana-appindicator
54 propagatedBuildInputs = [
59 proton-keyring-linux-secretservice
63 proton-vpn-killswitch-network-manager
65 proton-vpn-network-manager
66 proton-vpn-network-manager-openvpn
73 substituteInPlace setup.cfg \
74 --replace-fail "--cov=proton --cov-report=html --cov-report=term" ""
78 mkdir -p $out/share/{applications,pixmaps}
79 install -Dm 644 ${src}/rpmbuild/SOURCES/protonvpn-app.desktop $out/share/applications
80 install -Dm 644 ${src}/rpmbuild/SOURCES/proton-vpn-logo.svg $out/share/pixmaps
88 # Needed for Permission denied: '/homeless-shelter'
89 export HOME=$(mktemp -d)
92 # Gets a segmentation fault after the widgets test
96 description = "Proton VPN GTK app for Linux";
97 homepage = "https://github.com/ProtonVPN/proton-vpn-gtk-app";
98 license = licenses.gpl3Plus;
99 platforms = platforms.linux;
100 mainProgram = "protonvpn-app";
101 maintainers = with maintainers; [ wolfangaukang ];