Compare commits
4 commits
7fa7351aa7
...
ae936d55e3
| Author | SHA1 | Date | |
|---|---|---|---|
| ae936d55e3 | |||
| 9831a10505 | |||
| 8f97a15738 | |||
| 339ef75baf |
7 changed files with 865 additions and 432 deletions
|
|
@ -123,6 +123,9 @@
|
|||
CONTEXT_SWITCH_TRACER = lib.mkForce no;
|
||||
SCHED_TRACER = lib.mkForce no;
|
||||
STACK_TRACER = lib.mkForce no;
|
||||
#
|
||||
CXL = no;
|
||||
|
||||
}
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
18
devenv.lock
18
devenv.lock
|
|
@ -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
146
flake.lock
generated
|
|
@ -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": {
|
||||
|
|
|
|||
30
flake.nix
30
flake.nix
|
|
@ -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 = {
|
||||
|
|
|
|||
31
home.nix
31
home.nix
|
|
@ -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$"; }
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue