diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index f5f04062ef49..250e3be16178 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -29308,6 +29308,12 @@ github = "Zhaith-Izaliel"; githubId = 39216756; }; + zhangxy = { + email = "zhangxy_2023@163.com"; + github = "zhangxy-2023"; + githubId = 246511921; + name = "Xinyao Zhang"; + }; zhaofengli = { email = "hello@zhaofeng.li"; matrix = "@zhaofeng:zhaofeng.li"; diff --git a/pkgs/by-name/ne/networkmanager-ssh/package.nix b/pkgs/by-name/ne/networkmanager-ssh/package.nix new file mode 100644 index 000000000000..b889c89d714e --- /dev/null +++ b/pkgs/by-name/ne/networkmanager-ssh/package.nix @@ -0,0 +1,69 @@ +{ + stdenv, + lib, + autoreconfHook, + fetchFromGitHub, + pkg-config, + networkmanager, + libsecret, + gtk3, + gtk4, + libnma-gtk4, + intltool, + openssh, + sshpass, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "NetworkManager-ssh"; + version = "1.4.2"; + + src = fetchFromGitHub { + owner = "danfruehauf"; + repo = "NetworkManager-ssh"; + tag = finalAttrs.version; + hash = "sha256-ExCU22V4fYuFXW/HqJ39+PbYykXu4rpk8+3/hg9KTMo="; + }; + + postPatch = '' + substituteInPlace src/nm-ssh-service.c \ + --replace-fail /usr/bin/sshpass ${lib.getExe sshpass} \ + --replace-fail /usr/bin/ssh ${lib.getExe openssh} + ''; + + nativeBuildInputs = [ + autoreconfHook + pkg-config + intltool + gtk4 + ]; + + buildInputs = [ + networkmanager + gtk3 + gtk4 + libsecret + libnma-gtk4 + ]; + + configureFlags = [ + "--with-gtk4" + "--enable-absolute-paths" + ]; + + strictDeps = true; + + passthru = { + networkManagerPlugin = "VPN/nm-ssh-service.name"; + }; + + meta = { + description = "SSH VPN integration for NetworkManager"; + homepage = "https://github.com/danfruehauf/NetworkManager-ssh"; + license = lib.licenses.gpl2Plus; + maintainers = with lib.maintainers; [ + zhangxy + ]; + inherit (networkmanager.meta) platforms; + }; +})