nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 stdenv,
3 lib,
4 autoreconfHook,
5 fetchFromGitHub,
6 pkg-config,
7 networkmanager,
8 libsecret,
9 gtk3,
10 gtk4,
11 libnma-gtk4,
12 intltool,
13 openssh,
14 sshpass,
15}:
16
17stdenv.mkDerivation (finalAttrs: {
18 pname = "NetworkManager-ssh";
19 version = "1.4.2";
20
21 src = fetchFromGitHub {
22 owner = "danfruehauf";
23 repo = "NetworkManager-ssh";
24 tag = finalAttrs.version;
25 hash = "sha256-ExCU22V4fYuFXW/HqJ39+PbYykXu4rpk8+3/hg9KTMo=";
26 };
27
28 postPatch = ''
29 substituteInPlace src/nm-ssh-service.c \
30 --replace-fail /usr/bin/sshpass ${lib.getExe sshpass} \
31 --replace-fail /usr/bin/ssh ${lib.getExe openssh}
32 '';
33
34 nativeBuildInputs = [
35 autoreconfHook
36 pkg-config
37 intltool
38 gtk4
39 ];
40
41 buildInputs = [
42 networkmanager
43 gtk3
44 gtk4
45 libsecret
46 libnma-gtk4
47 ];
48
49 configureFlags = [
50 "--with-gtk4"
51 "--enable-absolute-paths"
52 ];
53
54 strictDeps = true;
55
56 passthru = {
57 networkManagerPlugin = "VPN/nm-ssh-service.name";
58 };
59
60 meta = {
61 description = "SSH VPN integration for NetworkManager";
62 homepage = "https://github.com/danfruehauf/NetworkManager-ssh";
63 license = lib.licenses.gpl2Plus;
64 maintainers = with lib.maintainers; [
65 zhangxy
66 ];
67 inherit (networkmanager.meta) platforms;
68 };
69})