Compare commits

...

4 commits

Author SHA1 Message Date
ae936d55e3 bastard 2026-03-26 04:31:31 +02:00
9831a10505 i'm gonna kill someone if this shit keeps going 2026-03-25 22:46:56 +02:00
8f97a15738 xe vomit 2026-03-23 01:33:56 +02:00
339ef75baf vomit day 2026-03-22 22:16:01 +02:00
7 changed files with 865 additions and 432 deletions

View file

@ -123,6 +123,9 @@
CONTEXT_SWITCH_TRACER = lib.mkForce no;
SCHED_TRACER = lib.mkForce no;
STACK_TRACER = lib.mkForce no;
#
CXL = no;
}
);
}

View file

@ -73,24 +73,27 @@ let
dir = "${sccacheDir}"
size = "100G"
'';
sccacheSetup = lib.optionalString enforceSccache ''
mkdir -p ${lib.escapeShellArg sccacheDir} 2>/dev/null || true
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} 2>/dev/null || true
export SCCACHE_CONF=${lib.escapeShellArg sccacheConfig}
${lib.optionalString (sccacheServerUds != null) "export SCCACHE_SERVER_UDS=${lib.escapeShellArg sccacheServerUds}"}
if [ -n "''${SCCACHE_ENFORCE_MARKER-}" ]; then
: > "''${SCCACHE_ENFORCE_MARKER}"
fi
exec ${pkgs.sccache}/bin/sccache ${compiler} "$@"
'';
pkgs.runCommand "${name}-sccache-wrapper"
{
passthru.meta.mainProgram = name;
}
''
mkdir -p $out/bin
cat > $out/bin/${name} <<'WRAP'
#!${pkgs.bash}/bin/bash
exec ${pkgs.sccache}/bin/sccache ${compiler} "$@"
WRAP
chmod +x $out/bin/${name}
'';
sccacheSetup = lib.optionalString enforceSccache ''
mkdir -p ${lib.escapeShellArg sccacheDir} 2>/dev/null || true
mkdir -p "$NIX_BUILD_TOP/.sccache/preprocessor" 2>/dev/null || true
export SCCACHE_CONF=${lib.escapeShellArg sccacheConfig}
export SCCACHE_LOCAL_PREPROCESSOR_CACHE_DIR="$NIX_BUILD_TOP/.sccache/preprocessor"
export SCCACHE_NO_DAEMON=1
'';
clangSccache = mkSccacheWrapper "clang" realClang;
hostccSccache = mkSccacheWrapper "cc" realHostCC;
@ -98,8 +101,13 @@ let
rustcSccache = pkgs.writeShellScriptBin "rustc" ''
set -euo pipefail
mkdir -p ${lib.escapeShellArg sccacheDir} 2>/dev/null || true
mkdir -p "$NIX_BUILD_TOP/.sccache/preprocessor" 2>/dev/null || true
export SCCACHE_CONF=${lib.escapeShellArg sccacheConfig}
${lib.optionalString (sccacheServerUds != null) "export SCCACHE_SERVER_UDS=${lib.escapeShellArg sccacheServerUds}"}
export SCCACHE_LOCAL_PREPROCESSOR_CACHE_DIR="$NIX_BUILD_TOP/.sccache/preprocessor"
export SCCACHE_NO_DAEMON=1
${lib.optionalString (
sccacheServerUds != null
) "export SCCACHE_SERVER_UDS=${lib.escapeShellArg sccacheServerUds}"}
if [ -n "''${SCCACHE_ENFORCE_MARKER-}" ]; then
: > "''${SCCACHE_ENFORCE_MARKER}"
fi
@ -109,12 +117,13 @@ let
hostrustcSccache = pkgs.writeShellScriptBin "rustc" ''
set -euo pipefail
mkdir -p ${lib.escapeShellArg sccacheDir} 2>/dev/null || true
mkdir -p "$NIX_BUILD_TOP/.sccache/preprocessor" 2>/dev/null || true
export SCCACHE_CONF=${lib.escapeShellArg sccacheConfig}
${lib.optionalString (sccacheServerUds != null) "export SCCACHE_SERVER_UDS=${lib.escapeShellArg sccacheServerUds}"}
if [ -n "''${SCCACHE_ENFORCE_MARKER-}" ]; then
: > "''${SCCACHE_ENFORCE_MARKER}"
fi
exec ${pkgs.sccache}/bin/sccache ${realHostRustc} "$@"
export SCCACHE_LOCAL_PREPROCESSOR_CACHE_DIR="$NIX_BUILD_TOP/.sccache/preprocessor"
export SCCACHE_NO_DAEMON=1
${lib.optionalString (
sccacheServerUds != null
) "export SCCACHE_SERVER_UDS=${lib.escapeShellArg sccacheServerUds}"}
'';
structuredExtraConfig' =
@ -125,7 +134,7 @@ let
})
// structuredExtraConfig;
in
buildLinux (
(buildLinux (
args
// {
kernelPatches = kernelPatches';
@ -138,55 +147,24 @@ buildLinux (
stdenv = llvm.stdenv;
buildPackages = llvmBuildPackages;
extraMakeFlags =
(args.extraMakeFlags or [ ])
++ [
"LLVM=1"
"LLVM_IAS=1"
"CC=${if enforceSccache then lib.getExe clangSccache else realClang}"
"LD=${realLd}"
"AR=${realAr}"
"NM=${realNm}"
"STRIP=${realStrip}"
"OBJCOPY=${realObjcopy}"
"OBJDUMP=${realObjdump}"
"READELF=${realReadelf}"
"HOSTCC=${if enforceSccache then lib.getExe hostccSccache else realHostCC}"
"HOSTCXX=${if enforceSccache then lib.getExe hostcxxSccache else realHostCXX}"
"HOSTAR=${realHostAr}"
"HOSTLD=${realHostLd}"
"RUSTC=${if enforceSccache then lib.getExe rustcSccache else realRustc}"
"HOSTRUSTC=${if enforceSccache then lib.getExe hostrustcSccache else realHostRustc}"
]
;
preConfigure = (args.preConfigure or "") + sccacheSetup;
preBuild = (args.preBuild or "") + sccacheSetup;
buildPhase =
if enforceSccache then
''
runHook preBuild
export SCCACHE_ENFORCE_MARKER="$NIX_BUILD_TOP/.sccache-used"
rm -f "$SCCACHE_ENFORCE_MARKER"
make "''${makeFlags[@]}" "''${buildFlags[@]}"
if [ ! -e "$SCCACHE_ENFORCE_MARKER" ]; then
echo "FATAL: sccache enforcement failed during buildPhase: compiler wrappers were not invoked."
echo "This means the build stage did not use your CC/HOSTCC/HOSTCXX/RUSTC/HOSTRUSTC overrides."
exit 1
fi
${pkgs.sccache}/bin/sccache --show-stats --stats-format text || true
runHook postBuild
''
else
(args.buildPhase or ''
runHook preBuild
make "''${makeFlags[@]}" "''${buildFlags[@]}"
runHook postBuild
'');
postBuild = args.postBuild or "";
extraMakeFlags = (args.extraMakeFlags or [ ]) ++ [
"LLVM=1"
"LLVM_IAS=1"
"CC=${lib.getExe clangSccache}"
"LD=${realLd}"
"AR=${realAr}"
"NM=${realNm}"
"STRIP=${realStrip}"
"OBJCOPY=${realObjcopy}"
"OBJDUMP=${realObjdump}"
"READELF=${realReadelf}"
"HOSTCC=${lib.getExe hostccSccache}"
"HOSTCXX=${lib.getExe hostcxxSccache}"
"HOSTAR=${realHostAr}"
"HOSTLD=${realHostLd}"
"RUSTC=${lib.getExe rustcSccache}"
"HOSTRUSTC=${lib.getExe hostrustcSccache}"
];
structuredExtraConfig = structuredExtraConfig';
@ -194,4 +172,51 @@ buildLinux (
extraMeta.branch = "${V}.${P}";
}
)
)).overrideAttrs
(old: {
__noChroot = true;
postPatch =
(old.postPatch or "")
+ sccacheSetup
+ lib.optionalString enforceSccache ''
# -- Sccache caching smoke test --
echo "==> Testing sccache caching..."
SCCACHE_TEST_SRC="$NIX_BUILD_TOP/.sccache-test.c"
SCCACHE_TEST_OBJ="$NIX_BUILD_TOP/.sccache-test.o"
SCCACHE_TEST_ID=$(date +%s%N)
printf '// sccache smoke test %s\nint main(void) { return 0; }\n' "$SCCACHE_TEST_ID" > "$SCCACHE_TEST_SRC"
${pkgs.sccache}/bin/sccache --zero-stats >/dev/null 2>&1 || true
${lib.getExe clangSccache} -c "$SCCACHE_TEST_SRC" -o "$SCCACHE_TEST_OBJ" 2>&1
STATS1=$(${pkgs.sccache}/bin/sccache --show-stats --stats-format json 2>/dev/null || echo '{}')
COMPILED=$(echo "$STATS1" | ${pkgs.jq}/bin/jq '[.stats.cache_hits.counts // {}, .stats.cache_misses.counts // {}] | add | to_entries | map(.value) | add // 0' 2>/dev/null || echo 0)
WRITE_ERRORS=$(echo "$STATS1" | ${pkgs.jq}/bin/jq '.stats.cache_errors.counts // {} | to_entries | map(.value) | add // 0' 2>/dev/null || echo 0)
if [ "$COMPILED" -lt 1 ]; then
echo "FATAL: sccache first compile was not cached."
${pkgs.sccache}/bin/sccache --show-stats --stats-format text || true
exit 1
fi
if [ "$WRITE_ERRORS" -gt 0 ]; then
echo "FATAL: sccache cache write errors detected ($WRITE_ERRORS)."
${pkgs.sccache}/bin/sccache --show-stats --stats-format text || true
exit 1
fi
echo "==> sccache first compile OK (cached=$COMPILED, write_errors=$WRITE_ERRORS)"
rm -f "$SCCACHE_TEST_OBJ"
${lib.getExe clangSccache} -c "$SCCACHE_TEST_SRC" -o "$SCCACHE_TEST_OBJ" 2>&1
STATS2=$(${pkgs.sccache}/bin/sccache --show-stats --stats-format json 2>/dev/null || echo '{}')
HITS=$(echo "$STATS2" | ${pkgs.jq}/bin/jq '.stats.cache_hits.counts // {} | to_entries | map(.value) | add // 0' 2>/dev/null || echo 0)
if [ "$HITS" -lt 1 ]; then
echo "FATAL: sccache second compile did not hit cache."
${pkgs.sccache}/bin/sccache --show-stats --stats-format text || true
exit 1
fi
echo "==> sccache cache hit OK (hits=$HITS)"
rm -f "$SCCACHE_TEST_SRC" "$SCCACHE_TEST_OBJ"
${pkgs.sccache}/bin/sccache --zero-stats >/dev/null 2>&1 || true
# -- End sccache caching smoke test --
'';
})

File diff suppressed because it is too large Load diff

View file

@ -3,11 +3,11 @@
"devenv": {
"locked": {
"dir": "src/modules",
"lastModified": 1773937316,
"narHash": "sha256-1Ou0hiagyj7urRqWZgPW51VdcaCcM3GUwrMBHQ27stU=",
"lastModified": 1774466721,
"narHash": "sha256-yi8Y0l5ZeJEGbvs48zBSqi183lMncn/ZQlpEbV07NEo=",
"owner": "cachix",
"repo": "devenv",
"rev": "450735a11ddd934e923aaea8b693336d31e7df32",
"rev": "1172f805e4497b6d562b32116c8a15ba5d207967",
"type": "github"
},
"original": {
@ -22,11 +22,11 @@
"nixpkgs-src": "nixpkgs-src"
},
"locked": {
"lastModified": 1773704619,
"narHash": "sha256-LKtmit8Sr81z8+N2vpIaN/fyiQJ8f7XJ6tMSKyDVQ9s=",
"lastModified": 1774287239,
"narHash": "sha256-W3krsWcDwYuA3gPWsFA24YAXxOFUL6iIlT6IknAoNSE=",
"owner": "cachix",
"repo": "devenv-nixpkgs",
"rev": "906534d75b0e2fe74a719559dfb1ad3563485f43",
"rev": "fa7125ea7f1ae5430010a6e071f68375a39bd24c",
"type": "github"
},
"original": {
@ -39,11 +39,11 @@
"nixpkgs-src": {
"flake": false,
"locked": {
"lastModified": 1773597492,
"narHash": "sha256-hQ284SkIeNaeyud+LS0WVLX+WL2rxcVZLFEaK0e03zg=",
"lastModified": 1773840656,
"narHash": "sha256-9tpvMGFteZnd3gRQZFlRCohVpqooygFuy9yjuyRL2C0=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "a07d4ce6bee67d7c838a8a5796e75dff9caa21ef",
"rev": "9cf7092bdd603554bd8b63c216e8943cf9b12512",
"type": "github"
},
"original": {

146
flake.lock generated
View file

@ -46,11 +46,11 @@
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1773961521,
"narHash": "sha256-enhjd1AcHHU+3RCRdSWVQj6TIqRXkJUbQSFVXzC6xLo=",
"lastModified": 1774419577,
"narHash": "sha256-1dmCZWYAhJ1Z65Bl11wgXCHcCu1CTTD0j+PBGFfjanM=",
"owner": "sadjow",
"repo": "claude-code-nix",
"rev": "1519be1f77ed017ae4a88916ac54529cef885573",
"rev": "8117d36a65200c7a2870620427296b381acb4c35",
"type": "github"
},
"original": {
@ -84,11 +84,11 @@
},
"crane": {
"locked": {
"lastModified": 1771121070,
"narHash": "sha256-aIlv7FRXF9q70DNJPI237dEDAznSKaXmL5lfK/Id/bI=",
"lastModified": 1772080396,
"narHash": "sha256-84W9UNtSk9DNMh43WBkOjpkbfODlmg+RDi854PnNgLE=",
"owner": "ipetkov",
"repo": "crane",
"rev": "a2812c19f1ed2e5ed5ce2ef7109798b575c180e1",
"rev": "8525580bc0316c39dbfa18bd09a1331e98c9e463",
"type": "github"
},
"original": {
@ -158,11 +158,11 @@
]
},
"locked": {
"lastModified": 1771469470,
"narHash": "sha256-GnqdqhrguKNN3HtVfl6z+zbV9R9jhHFm3Z8nu7R6ml0=",
"lastModified": 1773889306,
"narHash": "sha256-PAqwnsBSI9SVC2QugvQ3xeYCB0otOwCacB1ueQj2tgw=",
"owner": "nix-community",
"repo": "disko",
"rev": "4707eec8d1d2db5182ea06ed48c820a86a42dc13",
"rev": "5ad85c82cc52264f4beddc934ba57f3789f28347",
"type": "github"
},
"original": {
@ -176,11 +176,11 @@
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1773921118,
"narHash": "sha256-ZBb59LTDi00YbqtEv4WGELVQp1OVUuIKsH1OFj3ccJs=",
"lastModified": 1774147244,
"narHash": "sha256-t0LgngMyJu9sRCvNTrkE0oxQgS1jFDheZtuUJbrYoTI=",
"owner": "imaviso",
"repo": "dwproton-flake",
"rev": "f32d216870fcbc4a3a24764f39bbbaa3991f7f53",
"rev": "c5dda756199e5f7ae4850ceb6981f1856cd1497a",
"type": "github"
},
"original": {
@ -198,11 +198,11 @@
"rust-analyzer-src": "rust-analyzer-src"
},
"locked": {
"lastModified": 1769929675,
"narHash": "sha256-EBpe7sXCPLs+qVePXbA7kc+Kmpmp0pWysEpjjEWTK+E=",
"lastModified": 1772348640,
"narHash": "sha256-caiKs7O4khFydpKyg8O8/nmvw/NfN4fn/4spageGoig=",
"owner": "nix-community",
"repo": "fenix",
"rev": "78d518f5ca32a86dc767de481160dbae640c70cf",
"rev": "47c5355eaba0b08836e720d5d545c8ea1e1783db",
"type": "github"
},
"original": {
@ -268,11 +268,11 @@
]
},
"locked": {
"lastModified": 1769996383,
"narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=",
"lastModified": 1772408722,
"narHash": "sha256-rHuJtdcOjK7rAHpHphUb1iCvgkU3GpfvicLMwwnfMT0=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "57928607ea566b5db3ad13af0e57e921e6b12381",
"rev": "f20dc5d9b8027381c474144ecabc9034d6a839a3",
"type": "github"
},
"original": {
@ -363,11 +363,11 @@
]
},
"locked": {
"lastModified": 1770726378,
"narHash": "sha256-kck+vIbGOaM/dHea7aTBxdFYpeUl/jHOy5W3eyRvVx8=",
"lastModified": 1772893680,
"narHash": "sha256-JDqZMgxUTCq85ObSaFw0HhE+lvdOre1lx9iI6vYyOEs=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "5eaaedde414f6eb1aea8b8525c466dc37bba95ae",
"rev": "8baab586afc9c9b57645a734c820e4ac0a604af9",
"type": "github"
},
"original": {
@ -451,11 +451,11 @@
]
},
"locked": {
"lastModified": 1774007980,
"narHash": "sha256-FOnZjElEI8pqqCvB6K/1JRHTE8o4rer8driivTpq2uo=",
"lastModified": 1774379316,
"narHash": "sha256-0nGNxWDUH2Hzlj/R3Zf4FEK6fsFNB/dvewuboSRZqiI=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "9670de2921812bc4e0452f6e3efd8c859696c183",
"rev": "1eb0549a1ab3fe3f5acf86668249be15fa0e64f7",
"type": "github"
},
"original": {
@ -472,11 +472,11 @@
]
},
"locked": {
"lastModified": 1771519029,
"narHash": "sha256-H59Qf82wv5kBXVoyXsmUKW+9J3o8FqgY4uKaLdsLdLg=",
"lastModified": 1774007980,
"narHash": "sha256-FOnZjElEI8pqqCvB6K/1JRHTE8o4rer8driivTpq2uo=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "167e0b6837115e672ec5f58e2b0ea39093abe807",
"rev": "9670de2921812bc4e0452f6e3efd8c859696c183",
"type": "github"
},
"original": {
@ -524,11 +524,11 @@
"vaultix": "vaultix"
},
"locked": {
"lastModified": 1772131544,
"narHash": "sha256-rhKS/XoOMN90xpGZleFEQQ9gmn1+8Cagzg12kRRypuE=",
"lastModified": 1774176252,
"narHash": "sha256-ldrHZQdua0rHq3dFy12nFkU4ZgCOf3CXpRe9SgJ7ZFM=",
"owner": "MordragT",
"repo": "nixos",
"rev": "5fc6b35b8aafafbe9fa8bda6e0dc4ddbb0327b43",
"rev": "c329d001d4ea63b686315ff449a15d30338b515f",
"type": "github"
},
"original": {
@ -540,16 +540,16 @@
"kernel-src": {
"flake": false,
"locked": {
"lastModified": 1773844285,
"narHash": "sha256-vOF2HIA1J5Ktzt2aYqGPBv3AEQb0ziORKRQIOj+6h04=",
"lastModified": 1774368605,
"narHash": "sha256-9wxoMXSl3z7LuLNjyue/Vbxq+1WY9XaccEzkej7Tsn4=",
"ref": "refs/heads/drm-tip",
"rev": "61409ba11a36fa5aff4ce0f0086a6026a43c5bce",
"rev": "0be244ee3139de3578e9acc56e1b917a4bd162cd",
"shallow": true,
"type": "git",
"url": "https://gitlab.freedesktop.org/drm/tip.git"
},
"original": {
"rev": "61409ba11a36fa5aff4ce0f0086a6026a43c5bce",
"rev": "0be244ee3139de3578e9acc56e1b917a4bd162cd",
"shallow": true,
"type": "git",
"url": "https://gitlab.freedesktop.org/drm/tip.git"
@ -566,11 +566,11 @@
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1771492583,
"narHash": "sha256-nQzvnU4BGu8dA6BsPPCqmVcab/3ebVmHtX3ZWbW3Hxc=",
"lastModified": 1773344150,
"narHash": "sha256-JSsXufJy2zdg5XS5pRGlkwF1dqN+sWPmCgrvJsnhEzg=",
"owner": "nix-community",
"repo": "lanzaboote",
"rev": "5e9380994665ef66c87ab8e22c913ff837174ce4",
"rev": "d21013305ef39e1d9d2d06b161c3785ffad82281",
"type": "github"
},
"original": {
@ -611,11 +611,11 @@
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
},
"locked": {
"lastModified": 1773889880,
"narHash": "sha256-cu23CGP+mD2wKPKaoGM7evZ1dXfjd+cjryqqqx2HloE=",
"lastModified": 1774283383,
"narHash": "sha256-3aCfmL8hOcdIl783LTnK+lHcjMGCnc+2zQ98xUyefCU=",
"owner": "sodiboo",
"repo": "niri-flake",
"rev": "63767d4572eb2e3da5e68f68de77d8f2cdeca8dd",
"rev": "8a583029606cf072cc01c7e2f4298cc75a7ada28",
"type": "github"
},
"original": {
@ -680,11 +680,11 @@
]
},
"locked": {
"lastModified": 1773552174,
"narHash": "sha256-mHSRNrT1rjeYBgkAlj07dW3+1nFEgAd8Gu6lgyfT9DU=",
"lastModified": 1774156144,
"narHash": "sha256-gdYe9wTPl4ignDyXUl1LlICWj41+S0GB5lG1fKP17+A=",
"owner": "nix-community",
"repo": "nix-index-database",
"rev": "8faeb68130df077450451b6734a221ba0d6cde42",
"rev": "55b588747fa3d7fc351a11831c4b874dab992862",
"type": "github"
},
"original": {
@ -695,11 +695,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1773628058,
"narHash": "sha256-hpXH0z3K9xv0fHaje136KY872VT2T5uwxtezlAskQgY=",
"lastModified": 1774273680,
"narHash": "sha256-a++tZ1RQsDb1I0NHrFwdGuRlR5TORvCEUksM459wKUA=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "f8573b9c935cfaa162dd62cc9e75ae2db86f85df",
"rev": "fdc7b8f7b30fdbedec91b71ed82f36e1637483ed",
"type": "github"
},
"original": {
@ -726,11 +726,11 @@
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1773814637,
"narHash": "sha256-GNU+ooRmrHLfjlMsKdn0prEKVa0faVanm0jrgu1J/gY=",
"lastModified": 1774244481,
"narHash": "sha256-4XfMXU0DjN83o6HWZoKG9PegCvKvIhNUnRUI19vzTcQ=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "fea3b367d61c1a6592bc47c72f40a9f3e6a53e96",
"rev": "4590696c8693fea477850fe379a01544293ca4e2",
"type": "github"
},
"original": {
@ -758,11 +758,11 @@
},
"nixpkgs_3": {
"locked": {
"lastModified": 1771369470,
"narHash": "sha256-0NBlEBKkN3lufyvFegY4TYv5mCNHbi5OmBDrzihbBMQ=",
"lastModified": 1773821835,
"narHash": "sha256-TJ3lSQtW0E2JrznGVm8hOQGVpXjJyXY2guAxku2O9A4=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "0182a361324364ae3f436a63005877674cf45efb",
"rev": "b40629efe5d6ec48dd1efba650c797ddbd39ace0",
"type": "github"
},
"original": {
@ -787,11 +787,11 @@
},
"nixpkgs_5": {
"locked": {
"lastModified": 1773821835,
"narHash": "sha256-TJ3lSQtW0E2JrznGVm8hOQGVpXjJyXY2guAxku2O9A4=",
"lastModified": 1774106199,
"narHash": "sha256-US5Tda2sKmjrg2lNHQL3jRQ6p96cgfWh3J1QBliQ8Ws=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "b40629efe5d6ec48dd1efba650c797ddbd39ace0",
"rev": "6c9a78c09ff4d6c21d0319114873508a6ec01655",
"type": "github"
},
"original": {
@ -826,11 +826,11 @@
"utils": "utils_2"
},
"locked": {
"lastModified": 1767894517,
"narHash": "sha256-QF7hieotASi8KTe6dhJEaRg+Ex0HO1SkoqwsILzwO4k=",
"lastModified": 1773168029,
"narHash": "sha256-dLcdUV+M7z5YIPpLGWKhJ71TZhHHHhEjsJAI0BqlHeI=",
"owner": "MordragT",
"repo": "nu-env",
"rev": "0b6d3b1ee6a5535e13e28d94a85a6eba0585964d",
"rev": "0636a884cd447d624e039f730b390d8737dad04c",
"type": "github"
},
"original": {
@ -850,11 +850,11 @@
]
},
"locked": {
"lastModified": 1770726378,
"narHash": "sha256-kck+vIbGOaM/dHea7aTBxdFYpeUl/jHOy5W3eyRvVx8=",
"lastModified": 1772024342,
"narHash": "sha256-+eXlIc4/7dE6EcPs9a2DaSY3fTA9AE526hGqkNID3Wg=",
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"rev": "5eaaedde414f6eb1aea8b8525c466dc37bba95ae",
"rev": "6e34e97ed9788b17796ee43ccdbaf871a5c2b476",
"type": "github"
},
"original": {
@ -874,11 +874,11 @@
]
},
"locked": {
"lastModified": 1770726378,
"narHash": "sha256-kck+vIbGOaM/dHea7aTBxdFYpeUl/jHOy5W3eyRvVx8=",
"lastModified": 1772893680,
"narHash": "sha256-JDqZMgxUTCq85ObSaFw0HhE+lvdOre1lx9iI6vYyOEs=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "5eaaedde414f6eb1aea8b8525c466dc37bba95ae",
"rev": "8baab586afc9c9b57645a734c820e4ac0a604af9",
"type": "github"
},
"original": {
@ -928,11 +928,11 @@
"rust-analyzer-src": {
"flake": false,
"locked": {
"lastModified": 1769857242,
"narHash": "sha256-3eKpRRzKz0KzY7CJzRXFm4POwEqbuTohyQ2ajI/zKvg=",
"lastModified": 1772310333,
"narHash": "sha256-njFwHnxYcfQINwSa+XWhenv8s8PMg/j5ID0HpIa49xM=",
"owner": "rust-lang",
"repo": "rust-analyzer",
"rev": "17304e9c7e11d26139672d3d77aa498b1cae0d69",
"rev": "a96b6a9b887008bae01839543f9ca8e1f67f4ebe",
"type": "github"
},
"original": {
@ -951,11 +951,11 @@
]
},
"locked": {
"lastModified": 1771125043,
"narHash": "sha256-ldf/s49n6rOAxl7pYLJGGS1N/assoHkCOWdEdLyNZkc=",
"lastModified": 1772334676,
"narHash": "sha256-Jrc0J3AH+iNJDlUze3+FJZv2R0BZnhANFnD52V4kyvI=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "4912f951a26dc8142b176be2c2ad834319dc06e8",
"rev": "9879be11f30fd3bbf848e653a7f991549e8973b5",
"type": "github"
},
"original": {
@ -1015,11 +1015,11 @@
]
},
"locked": {
"lastModified": 1773852796,
"narHash": "sha256-aEriBf9qkKeUoICKuxOj9e1GE8PZEnKke83+TzXpBT8=",
"lastModified": 1774443684,
"narHash": "sha256-eXRUZ6Fvlfq0MreTDOXzXTpDGIBWJj+JxdhcZgr8kgs=",
"owner": "mozilla",
"repo": "sccache",
"rev": "8d6cab9ee9356ff4054409c60f7a607cb798de03",
"rev": "f5edaf1076a093a1a0d17ab153e19bf920dc052b",
"type": "github"
},
"original": {

View file

@ -24,7 +24,7 @@
nix-flatpak.url = "github:gmodena/nix-flatpak/latest";
kernel-src = {
# url = "git+https://gitlab.freedesktop.org/drm/tip.git?shallow=1";
url = "git+https://gitlab.freedesktop.org/drm/tip.git?rev=61409ba11a36fa5aff4ce0f0086a6026a43c5bce&shallow=1";
url = "git+https://gitlab.freedesktop.org/drm/tip.git?rev=0be244ee3139de3578e9acc56e1b917a4bd162cd&shallow=1";
flake = false;
};
sccache = {
@ -85,7 +85,8 @@
pkgdefault = pkg: pkg.packages.${pkgs.stdenv.hostPlatform.system}.default;
};
nixpkgs.overlays = [
intel-hw.overlays.default
intel-hw.overlays.by-scope
intel-hw.overlays.by-name
mypkgs.overlays.default
(import ./custom/override.nix)
niri-flake.overlays.niri
@ -101,12 +102,14 @@
intel-ocl
vpl-gpu-rt
intel-compute-runtime
intel-compute-runtime.drivers
### intel-hw
oneapi-ccl
oneapi-dpl
oneapi-math
oneapi-tbb
unified-memory-framework
level-zero
]
);
# ++ (with inputs.intel-hw.packages."${system}"; [
@ -124,7 +127,7 @@
"root"
"thek0tyara"
];
sandbox = "relaxed";
sandbox = true;
extra-sandbox-paths = [
"/run/sccache"
"/var/cache/sccache"
@ -135,11 +138,11 @@
download-buffer-size = 160000000;
};
systemd.tmpfiles.rules = [
# setgid, чтобы файлы/папки сохраняли группу nixbld
"d /var/cache/sccache 2770 root nixbld - -"
"d /var/cache/sccache/nix-builds 2770 root nixbld - -"
"d /var/cache/sccache/nix-builds/packages 2770 root nixbld - -"
"d /var/cache/sccache/nix-builds/kernel 2770 root nixbld - -"
# setgid, to preserve group nixbld
"d /var/cache/sccache 1777 root root - -"
"d /var/cache/sccache/nix-builds 1777 root root - -"
"d /var/cache/sccache/nix-builds/packages 1777 root root - -"
"d /var/cache/sccache/nix-builds/kernel 1777 root root - -"
];
systemd.services.sccache = {
description = "Shared sccache server for Nix builds";
@ -246,6 +249,17 @@
security = {
polkit = {
enable = true;
extraConfig = ''
polkit.addRule(function(action, subject) {
if (action.id == "org.freedesktop.policykit.exec" &&
subject.isInGroup("wheel")) {
var cmd = action.lookup("program");
if (cmd && cmd.match(/\/ls$/)) {
return polkit.Result.YES;
}
}
});
'';
};
rtkit.enable = true;
sudo = {

View file

@ -27,6 +27,7 @@
package = pkgs.apple-cursor;
size = 28;
};
gtk4.theme = config.gtk.theme;
};
home = {
stateVersion = "25.11";
@ -53,7 +54,7 @@
arch-install-scripts
kdocker # tray the untrayable
xwayland-satellite
winboat
# winboat
xfce4-taskmanager
xdg-desktop-portal-cosmic
file
@ -92,17 +93,20 @@
vintagestory
prismlauncher
# bottles # sunthetik2 mouse issues
# umu-launcher
umu-launcher
### neural networks
dsearch
lmstudio
# lmstudio
# vllm
claude-code
# kdePackages.kdenlive
(python313.withPackages (
py: with py; [
# torch
# triton-xpu
#
huggingface-hub
# haystack-ai
# raganything
@ -398,7 +402,7 @@
"mcp-server-qdrant"
];
enabled = true;
timeout = 15000;
timeout = 20000;
environment = {
# NumPy from uvx needs libstdc++.so.6 on NixOS.
LD_LIBRARY_PATH = lib.makeLibraryPath [ pkgs.stdenv.cc.cc ];
@ -456,6 +460,7 @@
theme = "opencode";
autoupdate = false;
share = "manual";
model = "openrouter/openrouter/free";
# server = {
# port = 4096;
@ -604,13 +609,11 @@
mod-key = "Super";
};
layout.default-column-width = { };
spawn-at-startup = [
{
sh = "systemctl --user restart xdg-desktop-portal xdg-desktop-portal-wlr xdg-desktop-portal-gtk";
}
];
workspaces = {
"1-social" = {
name = "social";
@ -669,6 +672,22 @@
# tiled-state = false;
open-on-workspace = "gaming";
}
{
matches = [
{
app-id = "steam";
title = "^notificationtoasts_[0-9]*_desktop$";
}
];
# open-floating = false;
default-floating-position = {
x = 0;
y = 20;
relative-to = "top-left";
};
open-floating = true;
open-on-workspace = "gaming";
}
{
matches = [
{ title = "^Picture-in-Picture$"; }