This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

.github.ci: evaluate the machines with iets eval-jobs

iets (numtide/iets, a Nix evaluator in Rust) gives the same drvPath,
isCached and cacheStatus for every machine as nix-eval-jobs 2.35.4, in
24-35s instead of 108-144s (4 workers, coaxmetal). It is a flake input
so CI builds it once and pushes it to cache.lassul.us with niks3 and
the lazy store.

+52 -8
+38 -1
flake.lock
··· 105 105 }, 106 106 "crane": { 107 107 "locked": { 108 + "lastModified": 1790899423, 109 + "narHash": "sha256-THGtz65UGJU+sonZidRboyCMk+9DclpMF7pwL4uDV4M=", 110 + "owner": "ipetkov", 111 + "repo": "crane", 112 + "rev": "47b6b27ed9a3a9181415e4367d0c30ab2a0e0250", 113 + "type": "github" 114 + }, 115 + "original": { 116 + "owner": "ipetkov", 117 + "repo": "crane", 118 + "type": "github" 119 + } 120 + }, 121 + "crane_2": { 122 + "locked": { 108 123 "lastModified": 1788465171, 109 124 "narHash": "sha256-Y1/TTVXjYXGF068IThQH9fPSZ0SIE74PABlUxnWTUH0=", 110 125 "owner": "ipetkov", ··· 329 344 "original": { 330 345 "owner": "nix-community", 331 346 "repo": "home-manager", 347 + "type": "github" 348 + } 349 + }, 350 + "iets": { 351 + "inputs": { 352 + "crane": "crane", 353 + "nixpkgs": [ 354 + "nixpkgs" 355 + ] 356 + }, 357 + "locked": { 358 + "lastModified": 1792229581, 359 + "narHash": "sha256-HED+KoK3cWACc3g3JHwSJ2X2w8bmAYC+33ceYwjHygc=", 360 + "owner": "numtide", 361 + "repo": "iets", 362 + "rev": "92f514a30e8c400077450b8966f0b9d7b176b143", 363 + "type": "github" 364 + }, 365 + "original": { 366 + "owner": "numtide", 367 + "repo": "iets", 332 368 "type": "github" 333 369 } 334 370 }, ··· 676 712 "clan-core": "clan-core", 677 713 "disko": "disko", 678 714 "hermes-agent": "hermes-agent", 715 + "iets": "iets", 679 716 "kartei": "kartei", 680 717 "llm-agents": "llm-agents", 681 718 "niks3": "niks3", ··· 779 816 }, 780 817 "tincr": { 781 818 "inputs": { 782 - "crane": "crane", 819 + "crane": "crane_2", 783 820 "fenix": "fenix", 784 821 "nixpkgs": [ 785 822 "nixpkgs"
+7
flake.nix
··· 84 84 byoidc.inputs.nixpkgs.follows = "nixpkgs"; 85 85 byoidc.inputs.treefmt-nix.follows = "treefmt-nix"; 86 86 87 + # Nix evaluator in Rust, CI evaluates the machines with its eval-jobs 88 + # (.github/workflows/ci.yml). No import from derivation there. 89 + iets.url = "github:numtide/iets"; 90 + iets.inputs.nixpkgs.follows = "nixpkgs"; 91 + 87 92 }; 88 93 89 94 outputs = ··· 249 254 packages.clan-cli = clan-core.packages.${system}.clan-cli; 250 255 # CI pushes its builds to cache.lassul.us with it (.github/niks3-push.sh) 251 256 packages.niks3 = inputs.niks3.packages.${system}.niks3; 257 + # CI's eval job evaluates ciToplevels with it 258 + packages.iets = inputs.iets.packages.${system}.default; 252 259 devShells.default = pkgs.mkShell { 253 260 packages = [ 254 261 self.packages.${pkgs.system}.pass
+7 -7
.github/workflows/ci.yml
··· 70 70 # The NixOS machines, built on plain runners with hestia (the GitHub Actions 71 71 # cache) as binary cache next to cache.lassul.us: 72 72 # 73 - # - eval: evaluates ciToplevels once, uploads the drv closures to hestia, 73 + # - eval: evaluates ciToplevels once (iets), uploads the drv closures to hestia, 74 74 # lists the machines whose toplevel is in neither cache and the 75 75 # derivations needed by more than one of them (.github/ci-shared.sh). 76 76 # - shared: builds those once, so the machine jobs substitute them instead ··· 108 108 upstream-cache-key-names: cache.nixos.org-1 cache.lassul.us-1 109 109 filter-drv-closures: true 110 110 # the niks3 client of all jobs and the lazy store of the machine jobs, 111 - # the others substitute them; nix-eval-jobs from the flake's nixpkgs, 112 - # which the flake evaluation fetches anyway 111 + # the others substitute them; iets for the evaluation, its eval-jobs 112 + # is nix-eval-jobs about 5 times faster (no import from derivation) 113 113 - id: tools 114 114 run: | 115 115 niks3=$(nix build --no-link --print-out-paths .#niks3) 116 116 lazy=$(nix build --no-link --print-out-paths .#lazy-store) 117 - nej=$(nix build --no-link --print-out-paths --inputs-from . nixpkgs#nix-eval-jobs) 117 + iets=$(nix build --no-link --print-out-paths .#iets) 118 118 { 119 119 echo "niks3=$niks3" 120 120 echo "lazy-store=$lazy" 121 - echo "nix-eval-jobs=$nej/bin/nix-eval-jobs" 121 + echo "iets=$iets/bin/iets" 122 122 } >> "$GITHUB_OUTPUT" 123 - PATH=$niks3/bin:$PATH .github/niks3-push.sh "$niks3" "$lazy" 123 + PATH=$niks3/bin:$PATH .github/niks3-push.sh "$niks3" "$lazy" "$iets" 124 124 - id: matrix 125 125 uses: Mic92/hestia/matrix@v3 126 126 with: 127 127 flake: ".#ciToplevels" 128 - nix-eval-jobs: "${{ steps.tools.outputs.nix-eval-jobs }} --workers 4 --max-memory-size 3072" 128 + nix-eval-jobs: "${{ steps.tools.outputs.iets }} eval-jobs --workers 4 --max-memory-size 3072" 129 129 - env: 130 130 MATRIX: ${{ steps.matrix.outputs.matrix }} 131 131 run: |