From c8efaed5bb409707d78a34f776f06eec2663aeb3 Mon Sep 17 00:00:00 2001 From: ljxfstorm Date: Tue, 26 Aug 2025 18:43:16 +0800 Subject: [PATCH] cloudflare-warp: add headless variant --- pkgs/by-name/cl/cloudflare-warp/package.nix | 44 +++++++++++++++------ 1 file changed, 32 insertions(+), 12 deletions(-) diff --git a/pkgs/by-name/cl/cloudflare-warp/package.nix b/pkgs/by-name/cl/cloudflare-warp/package.nix index 3a6c759ad1ad..feb8e901b883 100644 --- a/pkgs/by-name/cl/cloudflare-warp/package.nix +++ b/pkgs/by-name/cl/cloudflare-warp/package.nix @@ -20,6 +20,7 @@ jq, ripgrep, common-updater-scripts, + headless ? false, }: let @@ -38,7 +39,7 @@ in stdenv.mkDerivation rec { inherit version; - pname = "cloudflare-warp"; + pname = "cloudflare-warp" + lib.optionalString headless "-headless"; src = sources.${stdenv.hostPlatform.system} @@ -49,20 +50,24 @@ stdenv.mkDerivation rec { autoPatchelfHook versionCheckHook makeWrapper + ] + ++ lib.optionals (!headless) [ copyDesktopItems desktop-file-utils ]; buildInputs = [ dbus - gtk3 libpcap openssl nss (lib.getLib stdenv.cc.cc) + ] + ++ lib.optionals (!headless) [ + gtk3 ]; - desktopItems = [ + desktopItems = lib.optionals (!headless) [ (makeDesktopItem { name = "com.cloudflare.WarpCli"; desktopName = "Cloudflare Zero Trust Team Enrollment"; @@ -93,22 +98,35 @@ stdenv.mkDerivation rec { mv lib/systemd/system $out/lib/systemd/ substituteInPlace $out/lib/systemd/system/warp-svc.service \ --replace-fail "ExecStart=" "ExecStart=$out" - substituteInPlace $out/lib/systemd/user/warp-taskbar.service \ - --replace-fail "ExecStart=" "ExecStart=$out" \ - --replace-fail "BindsTo=" "PartOf=" + ${lib.optionalString (!headless) '' + substituteInPlace $out/lib/systemd/user/warp-taskbar.service \ + --replace-fail "ExecStart=" "ExecStart=$out" \ + --replace-fail "BindsTo=" "PartOf=" - cat >>$out/lib/systemd/user/warp-taskbar.service <>$out/lib/systemd/user/warp-taskbar.service <