diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 681e68781e55..f174f302c323 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -7427,6 +7427,12 @@ githubId = 21156405; name = "GuangTao Zhang"; }; + Guanran928 = { + email = "guanran928@outlook.com"; + github = "Guanran928"; + githubId = 68757440; + name = "Guanran928"; + }; guekka = { github = "Guekka"; githubId = 39066502; diff --git a/nixos/modules/programs/clash-verge.nix b/nixos/modules/programs/clash-verge.nix index 57a1c0377edb..e1afafa7cadc 100644 --- a/nixos/modules/programs/clash-verge.nix +++ b/nixos/modules/programs/clash-verge.nix @@ -3,6 +3,7 @@ { options.programs.clash-verge = { enable = lib.mkEnableOption (lib.mdDoc "Clash Verge"); + package = lib.mkPackageOption pkgs "clash-verge" {}; autoStart = lib.mkEnableOption (lib.mdDoc "Clash Verge auto launch"); tunMode = lib.mkEnableOption (lib.mdDoc "Clash Verge TUN mode"); }; @@ -14,10 +15,10 @@ lib.mkIf cfg.enable { environment.systemPackages = [ - pkgs.clash-verge + cfg.package (lib.mkIf cfg.autoStart (pkgs.makeAutostartItem { name = "clash-verge"; - package = pkgs.clash-verge; + package = cfg.package; })) ]; @@ -25,7 +26,7 @@ owner = "root"; group = "root"; capabilities = "cap_net_bind_service,cap_net_admin=+ep"; - source = "${lib.getExe pkgs.clash-verge}"; + source = "${lib.getExe cfg.package}"; }; }; diff --git a/pkgs/by-name/cl/clash-nyanpasu/package.nix b/pkgs/by-name/cl/clash-nyanpasu/package.nix new file mode 100644 index 000000000000..90da8892b094 --- /dev/null +++ b/pkgs/by-name/cl/clash-nyanpasu/package.nix @@ -0,0 +1,23 @@ +{ lib +, clash-verge +, mihomo +, fetchurl +}: + +(clash-verge.override { + clash-meta = mihomo; +}).overrideAttrs (old: rec { + pname = "clash-nyanpasu"; + version = "1.4.5"; + + src = fetchurl { + url = "https://github.com/keiko233/clash-nyanpasu/releases/download/v${version}/clash-nyanpasu_${version}_amd64.deb"; + hash = "sha256-cxaq7Rndf0ytEaqc7CGQix5SOAdsTOoTj1Jlhjr5wEA="; + }; + + meta = old.meta // (with lib; { + homepage = "https://github.com/keiko233/clash-nyanpasu"; + maintainers = with maintainers; [ Guanran928 ]; + mainProgram = "clash-nyanpasu"; + }); +}) diff --git a/pkgs/by-name/cl/clash-verge-rev/package.nix b/pkgs/by-name/cl/clash-verge-rev/package.nix new file mode 100644 index 000000000000..d415428e7299 --- /dev/null +++ b/pkgs/by-name/cl/clash-verge-rev/package.nix @@ -0,0 +1,19 @@ +{ lib +, clash-verge +, fetchurl +}: + +clash-verge.overrideAttrs (old: rec { + pname = "clash-verge-rev"; + version = "1.5.4"; + + src = fetchurl { + url = "https://github.com/clash-verge-rev/clash-verge-rev/releases/download/v${version}/clash-verge_${version}_amd64.deb"; + hash = "sha256-UJYLfefgUASBmh0gyNmjsWdAadluKhwaXZL1wlVlbjU="; + }; + + meta = old.meta // (with lib; { + homepage = "https://github.com/clash-verge-rev/clash-verge-rev"; + maintainers = with maintainers; [ Guanran928 ]; + }); +}) diff --git a/pkgs/applications/networking/clash-verge/default.nix b/pkgs/by-name/cl/clash-verge/package.nix similarity index 91% rename from pkgs/applications/networking/clash-verge/default.nix rename to pkgs/by-name/cl/clash-verge/package.nix index f83583283d4f..cd3597c513cf 100644 --- a/pkgs/applications/networking/clash-verge/default.nix +++ b/pkgs/by-name/cl/clash-verge/package.nix @@ -42,13 +42,13 @@ stdenv.mkDerivation rec { mkdir -p $out/bin mv usr/* $out - rm $out/bin/{clash,clash-meta} runHook postInstall ''; postFixup = '' - ln -s ${lib.getExe clash-meta} $out/bin/clash-meta + rm -f $out/bin/clash + ln -sf ${lib.getExe clash-meta} $out/bin/${clash-meta.meta.mainProgram} ''; meta = with lib; { diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 023a1ae4c0be..318f1de1fb5f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4640,8 +4640,6 @@ with pkgs; clash-geoip = callPackage ../data/misc/clash-geoip { }; - clash-verge = callPackage ../applications/networking/clash-verge { }; - clevercsv = with python3Packages; toPythonApplication clevercsv; clevis = callPackage ../tools/security/clevis {