From a612e5f4476461fe96d51094be5607a52a0b82ab Mon Sep 17 00:00:00 2001 From: TheK0tYaRa Date: Thu, 19 Mar 2026 09:05:23 +0200 Subject: [PATCH] Create kernel sccache dir in wrappers --- custom/modules/kernel.nix | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/custom/modules/kernel.nix b/custom/modules/kernel.nix index 85ab741..210fc87 100644 --- a/custom/modules/kernel.nix +++ b/custom/modules/kernel.nix @@ -73,11 +73,17 @@ let dir = "${sccacheDir}" size = "100G" ''; + sccacheSetup = lib.optionalString enforceSccache '' + mkdir -p ${lib.escapeShellArg sccacheDir} + export SCCACHE_CONF=${lib.escapeShellArg sccacheConfig} + ${lib.optionalString (sccacheServerUds != null) "export SCCACHE_SERVER_UDS=${lib.escapeShellArg sccacheServerUds}"} + ''; mkSccacheWrapper = name: compiler: pkgs.writeShellScriptBin name '' set -euo pipefail + mkdir -p ${lib.escapeShellArg sccacheDir} export SCCACHE_CONF=${lib.escapeShellArg sccacheConfig} ${lib.optionalString (sccacheServerUds != null) "export SCCACHE_SERVER_UDS=${lib.escapeShellArg sccacheServerUds}"} if [ -n "''${SCCACHE_ENFORCE_MARKER-}" ]; then @@ -91,6 +97,7 @@ let hostcxxSccache = mkSccacheWrapper "c++" realHostCXX; rustcSccache = pkgs.writeShellScriptBin "rustc" '' set -euo pipefail + mkdir -p ${lib.escapeShellArg sccacheDir} export SCCACHE_CONF=${lib.escapeShellArg sccacheConfig} ${lib.optionalString (sccacheServerUds != null) "export SCCACHE_SERVER_UDS=${lib.escapeShellArg sccacheServerUds}"} if [ -n "''${SCCACHE_ENFORCE_MARKER-}" ]; then @@ -101,6 +108,7 @@ let hostrustcSccache = pkgs.writeShellScriptBin "rustc" '' set -euo pipefail + mkdir -p ${lib.escapeShellArg sccacheDir} export SCCACHE_CONF=${lib.escapeShellArg sccacheConfig} ${lib.optionalString (sccacheServerUds != null) "export SCCACHE_SERVER_UDS=${lib.escapeShellArg sccacheServerUds}"} if [ -n "''${SCCACHE_ENFORCE_MARKER-}" ]; then @@ -152,21 +160,14 @@ buildLinux ( ] ; - preBuild = - (args.preBuild or "") - + lib.optionalString enforceSccache '' - mkdir -p ${lib.escapeShellArg sccacheDir} - export SCCACHE_CONF=${lib.escapeShellArg sccacheConfig} - ${lib.optionalString (sccacheServerUds != null) "export SCCACHE_SERVER_UDS=${lib.escapeShellArg sccacheServerUds}"} - ''; + preConfigure = (args.preConfigure or "") + sccacheSetup; + + preBuild = (args.preBuild or "") + sccacheSetup; buildPhase = if enforceSccache then '' runHook preBuild - mkdir -p ${lib.escapeShellArg sccacheDir} - export SCCACHE_CONF=${lib.escapeShellArg sccacheConfig} - ${lib.optionalString (sccacheServerUds != null) "export SCCACHE_SERVER_UDS=${lib.escapeShellArg sccacheServerUds}"} export SCCACHE_ENFORCE_MARKER="$NIX_BUILD_TOP/.sccache-used" rm -f "$SCCACHE_ENFORCE_MARKER" make "''${makeFlags[@]}" "''${buildFlags[@]}"