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; CONTEXT_SWITCH_TRACER = lib.mkForce no;
SCHED_TRACER = lib.mkForce no; SCHED_TRACER = lib.mkForce no;
STACK_TRACER = lib.mkForce no; STACK_TRACER = lib.mkForce no;
#
CXL = no;
} }
); );
} }

View file

@ -73,24 +73,27 @@ let
dir = "${sccacheDir}" dir = "${sccacheDir}"
size = "100G" 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 = mkSccacheWrapper =
name: compiler: name: compiler:
pkgs.writeShellScriptBin name '' pkgs.runCommand "${name}-sccache-wrapper"
set -euo pipefail {
mkdir -p ${lib.escapeShellArg sccacheDir} 2>/dev/null || true passthru.meta.mainProgram = name;
export SCCACHE_CONF=${lib.escapeShellArg sccacheConfig} }
${lib.optionalString (sccacheServerUds != null) "export SCCACHE_SERVER_UDS=${lib.escapeShellArg sccacheServerUds}"} ''
if [ -n "''${SCCACHE_ENFORCE_MARKER-}" ]; then mkdir -p $out/bin
: > "''${SCCACHE_ENFORCE_MARKER}" cat > $out/bin/${name} <<'WRAP'
fi #!${pkgs.bash}/bin/bash
exec ${pkgs.sccache}/bin/sccache ${compiler} "$@" 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; clangSccache = mkSccacheWrapper "clang" realClang;
hostccSccache = mkSccacheWrapper "cc" realHostCC; hostccSccache = mkSccacheWrapper "cc" realHostCC;
@ -98,8 +101,13 @@ let
rustcSccache = pkgs.writeShellScriptBin "rustc" '' rustcSccache = pkgs.writeShellScriptBin "rustc" ''
set -euo pipefail set -euo pipefail
mkdir -p ${lib.escapeShellArg sccacheDir} 2>/dev/null || true 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_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 if [ -n "''${SCCACHE_ENFORCE_MARKER-}" ]; then
: > "''${SCCACHE_ENFORCE_MARKER}" : > "''${SCCACHE_ENFORCE_MARKER}"
fi fi
@ -109,12 +117,13 @@ let
hostrustcSccache = pkgs.writeShellScriptBin "rustc" '' hostrustcSccache = pkgs.writeShellScriptBin "rustc" ''
set -euo pipefail set -euo pipefail
mkdir -p ${lib.escapeShellArg sccacheDir} 2>/dev/null || true 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_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"
if [ -n "''${SCCACHE_ENFORCE_MARKER-}" ]; then export SCCACHE_NO_DAEMON=1
: > "''${SCCACHE_ENFORCE_MARKER}" ${lib.optionalString (
fi sccacheServerUds != null
exec ${pkgs.sccache}/bin/sccache ${realHostRustc} "$@" ) "export SCCACHE_SERVER_UDS=${lib.escapeShellArg sccacheServerUds}"}
''; '';
structuredExtraConfig' = structuredExtraConfig' =
@ -125,7 +134,7 @@ let
}) })
// structuredExtraConfig; // structuredExtraConfig;
in in
buildLinux ( (buildLinux (
args args
// { // {
kernelPatches = kernelPatches'; kernelPatches = kernelPatches';
@ -138,55 +147,24 @@ buildLinux (
stdenv = llvm.stdenv; stdenv = llvm.stdenv;
buildPackages = llvmBuildPackages; buildPackages = llvmBuildPackages;
extraMakeFlags = extraMakeFlags = (args.extraMakeFlags or [ ]) ++ [
(args.extraMakeFlags or [ ]) "LLVM=1"
++ [ "LLVM_IAS=1"
"LLVM=1" "CC=${lib.getExe clangSccache}"
"LLVM_IAS=1" "LD=${realLd}"
"CC=${if enforceSccache then lib.getExe clangSccache else realClang}" "AR=${realAr}"
"LD=${realLd}" "NM=${realNm}"
"AR=${realAr}" "STRIP=${realStrip}"
"NM=${realNm}" "OBJCOPY=${realObjcopy}"
"STRIP=${realStrip}" "OBJDUMP=${realObjdump}"
"OBJCOPY=${realObjcopy}" "READELF=${realReadelf}"
"OBJDUMP=${realObjdump}" "HOSTCC=${lib.getExe hostccSccache}"
"READELF=${realReadelf}" "HOSTCXX=${lib.getExe hostcxxSccache}"
"HOSTCC=${if enforceSccache then lib.getExe hostccSccache else realHostCC}" "HOSTAR=${realHostAr}"
"HOSTCXX=${if enforceSccache then lib.getExe hostcxxSccache else realHostCXX}" "HOSTLD=${realHostLd}"
"HOSTAR=${realHostAr}" "RUSTC=${lib.getExe rustcSccache}"
"HOSTLD=${realHostLd}" "HOSTRUSTC=${lib.getExe hostrustcSccache}"
"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 "";
structuredExtraConfig = structuredExtraConfig'; structuredExtraConfig = structuredExtraConfig';
@ -194,4 +172,51 @@ buildLinux (
extraMeta.branch = "${V}.${P}"; 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": { "devenv": {
"locked": { "locked": {
"dir": "src/modules", "dir": "src/modules",
"lastModified": 1773937316, "lastModified": 1774466721,
"narHash": "sha256-1Ou0hiagyj7urRqWZgPW51VdcaCcM3GUwrMBHQ27stU=", "narHash": "sha256-yi8Y0l5ZeJEGbvs48zBSqi183lMncn/ZQlpEbV07NEo=",
"owner": "cachix", "owner": "cachix",
"repo": "devenv", "repo": "devenv",
"rev": "450735a11ddd934e923aaea8b693336d31e7df32", "rev": "1172f805e4497b6d562b32116c8a15ba5d207967",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -22,11 +22,11 @@
"nixpkgs-src": "nixpkgs-src" "nixpkgs-src": "nixpkgs-src"
}, },
"locked": { "locked": {
"lastModified": 1773704619, "lastModified": 1774287239,
"narHash": "sha256-LKtmit8Sr81z8+N2vpIaN/fyiQJ8f7XJ6tMSKyDVQ9s=", "narHash": "sha256-W3krsWcDwYuA3gPWsFA24YAXxOFUL6iIlT6IknAoNSE=",
"owner": "cachix", "owner": "cachix",
"repo": "devenv-nixpkgs", "repo": "devenv-nixpkgs",
"rev": "906534d75b0e2fe74a719559dfb1ad3563485f43", "rev": "fa7125ea7f1ae5430010a6e071f68375a39bd24c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -39,11 +39,11 @@
"nixpkgs-src": { "nixpkgs-src": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1773597492, "lastModified": 1773840656,
"narHash": "sha256-hQ284SkIeNaeyud+LS0WVLX+WL2rxcVZLFEaK0e03zg=", "narHash": "sha256-9tpvMGFteZnd3gRQZFlRCohVpqooygFuy9yjuyRL2C0=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "a07d4ce6bee67d7c838a8a5796e75dff9caa21ef", "rev": "9cf7092bdd603554bd8b63c216e8943cf9b12512",
"type": "github" "type": "github"
}, },
"original": { "original": {

146
flake.lock generated
View file

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

View file

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

View file

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