From 64269bb956c12a1366179a199a63af237d87a144 Mon Sep 17 00:00:00 2001 From: Moraxyc Date: Tue, 4 Aug 2026 14:04:34 +0800 Subject: [PATCH 1/3] copilot-language-server: trim bundled platform artifacts and use nodejs-slim --- .../co/copilot-language-server/package.nix | 26 +++++++++++++++---- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/co/copilot-language-server/package.nix b/pkgs/by-name/co/copilot-language-server/package.nix index 65b25014d831..133cab89c0fe 100644 --- a/pkgs/by-name/co/copilot-language-server/package.nix +++ b/pkgs/by-name/co/copilot-language-server/package.nix @@ -4,10 +4,13 @@ makeWrapper, fetchzip, nix-update-script, - nodejs, + nodejs-slim, testers, }: +let + inherit (stdenvNoCC.hostPlatform.node) arch platform; +in stdenvNoCC.mkDerivation (finalAttrs: { pname = "copilot-language-server"; version = "1.527.1"; @@ -23,16 +26,29 @@ stdenvNoCC.mkDerivation (finalAttrs: { ]; buildInputs = [ - nodejs + nodejs-slim ]; installPhase = '' runHook preInstall - mkdir -p $out/share/copilot-language-server - cp -r ./* $out/share/copilot-language-server/ + server=$out/share/copilot-language-server - makeWrapper ${lib.getExe nodejs} $out/bin/copilot-language-server \ + mkdir -p $server + cp -r ./* $server/ + + find "$server/node_modules/@github" -mindepth 1 -maxdepth 1 \ + \( -name 'copilot-linux-*' -o -name 'copilot-darwin-*' -o -name 'copilot-win32-*' \) \ + ! -name "copilot-${platform}-${arch}" -exec rm -rf {} + + + find "$server/bin" "$server/compiled" -mindepth 1 -maxdepth 1 ! -name "${platform}" -exec rm -rf {} + + find "$server/bin/${platform}" "$server/compiled/${platform}" -mindepth 1 -maxdepth 1 ! -name "${arch}" -exec rm -rf {} + + + find "$server/policy-templates" -mindepth 1 -maxdepth 1 ! -name "${platform}" -exec rm -rf {} + + + find "$server" -name '*.map' -delete + + makeWrapper ${lib.getExe nodejs-slim} $out/bin/copilot-language-server \ --add-flags $out/share/copilot-language-server/main.js runHook postInstall From 653c6d832a9107e8d4f92be2c8a27e9abb67669f Mon Sep 17 00:00:00 2001 From: Moraxyc Date: Tue, 4 Aug 2026 19:37:23 +0800 Subject: [PATCH 2/3] copilot-language-server: use versionCheckHook --- pkgs/by-name/co/copilot-language-server/package.nix | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/co/copilot-language-server/package.nix b/pkgs/by-name/co/copilot-language-server/package.nix index 133cab89c0fe..eb0777388ab4 100644 --- a/pkgs/by-name/co/copilot-language-server/package.nix +++ b/pkgs/by-name/co/copilot-language-server/package.nix @@ -5,8 +5,8 @@ fetchzip, nix-update-script, nodejs-slim, - - testers, + writableTmpDirAsHomeHook, + versionCheckHook, }: let inherit (stdenvNoCC.hostPlatform.node) arch platform; @@ -54,9 +54,16 @@ stdenvNoCC.mkDerivation (finalAttrs: { runHook postInstall ''; + doInstallCheck = true; + nativeInstallCheckInputs = [ + writableTmpDirAsHomeHook + versionCheckHook + ]; + # uv_os_homedir returned ENOENT (no such file or directory) + versionCheckKeepEnvironment = lib.optionals stdenvNoCC.hostPlatform.isDarwin [ "HOME" ]; + passthru = { updateScript = nix-update-script { }; - tests.version = testers.testVersion { package = finalAttrs.finalPackage; }; }; meta = { From 7216056a6f174cb730d71b315ff2fd7a69830245 Mon Sep 17 00:00:00 2001 From: Moraxyc Date: Tue, 4 Aug 2026 19:44:23 +0800 Subject: [PATCH 3/3] copilot-language-server: add meta.sourceProvenance --- pkgs/by-name/co/copilot-language-server/package.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/by-name/co/copilot-language-server/package.nix b/pkgs/by-name/co/copilot-language-server/package.nix index eb0777388ab4..dbc798ab8c8a 100644 --- a/pkgs/by-name/co/copilot-language-server/package.nix +++ b/pkgs/by-name/co/copilot-language-server/package.nix @@ -77,6 +77,11 @@ stdenvNoCC.mkDerivation (finalAttrs: { shortName = "GitHub Copilot License"; url = "https://github.com/customer-terms/github-copilot-product-specific-terms"; }; + sourceProvenance = with lib.sourceTypes; [ + binaryNativeCode # prebuild directory + binaryBytecode # WASM files + obfuscatedCode # minified JavaScript + ]; mainProgram = "copilot-language-server"; platforms = [ "x86_64-linux"