Compare commits

..

1 commit

Author SHA1 Message Date
792d40b3ab
try new remove strategy 2024-09-17 13:15:49 -05:00
5 changed files with 58 additions and 64 deletions

View file

@ -20,7 +20,7 @@ runs:
- name: Maximize build disk space
shell: bash
run: |
set -xeuo pipefail
set -euo pipefail
shopt -s globstar
non_manifest_packages() {
@ -41,23 +41,26 @@ runs:
sudo rm -rf \
/var/lib/docker/ \
"$AGENT_TOOLSDIRECTORY" \
/opt &
/opt \
/usr/local/** &
sudo find /usr/{share,local} \
-mindepth 1 -maxdepth 1 \
-type d \
-not -wholename '/usr/share/git-core' \
-exec rm -rf {} + &
find /usr/share -maxdepth -m -type d -not -name 'git-core' -delete
# for f in /usr/share/**/!(git-core); do
# sudo rm -rf $f &
# done
# nix flake update wants to find git-core templates
# /usr/share/git-core/templates
# /usr/share/**
{
sudo swapoff -a
sudo rm -f /mnt/swapfile
} &
wait
echo "... done"
- name: Disk space report after modification
shell: bash
run: |

View file

@ -130,7 +130,7 @@ jobs:
- run: |
echo "# System Diff" >> $GITHUB_STEP_SUMMARY
nix run "nixpkgs#nvd" -- --color always diff ./current ./updated >> summary.md
printf '```\n%s\n```\n' "$(nix run "nixpkgs#nvd" -- diff ./current ./updated)" >> $GITHUB_STEP_SUMMARY
printf '```\n%s```\n' "$(nix run "nixpkgs#nvd" -- diff ./current ./updated)" >> $GITHUB_STEP_SUMMARY
- run: df -h

View file

@ -179,11 +179,11 @@
"systems": "systems_4"
},
"locked": {
"lastModified": 1726560853,
"narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
"lastModified": 1710146030,
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a",
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
"type": "github"
},
"original": {
@ -323,11 +323,11 @@
"xdph": "xdph"
},
"locked": {
"lastModified": 1726580240,
"narHash": "sha256-VBXNeRJMaiqbIietRihPYnWA7bFJO2wqqlPg0f9Xfjc=",
"lastModified": 1726430622,
"narHash": "sha256-50vt1snpVwS5lqvvH4p6DHiEWspJUZuJ1kYy1DKtrfM=",
"ref": "refs/heads/main",
"rev": "3c9716acfd00c6ea1b7bcd1dc63f97b51cc09998",
"revCount": 5227,
"rev": "9e356562446f44c471ae38a80506a9df039305d6",
"revCount": 5224,
"submodules": true,
"type": "git",
"url": "https://github.com/hyprwm/Hyprland/"
@ -488,11 +488,11 @@
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1726600542,
"narHash": "sha256-4ZP8rYtad1Z0LY3vZ1eYSRUzqPd3x7K0j7SpP3vReWc=",
"lastModified": 1726402305,
"narHash": "sha256-Ps21x+17J0rclqg68crak2Vo/P3+1fZStqmV+OI7k6M=",
"owner": "nix-community",
"repo": "lib-aggregate",
"rev": "e0cc0b05b0296fdc52fa683d47a3470dfe4f79ea",
"rev": "90b637e33ab9be23e0ba3c57905a1837561923ea",
"type": "github"
},
"original": {
@ -504,11 +504,11 @@
"lix": {
"flake": false,
"locked": {
"lastModified": 1726590994,
"narHash": "sha256-CrvIEzBzvvfE7jGIXBv6hSYDxv4eYeHWAwVho5WrF48=",
"rev": "8ab5743904a06c78153281bf61b3aa8aa451a489",
"lastModified": 1726411950,
"narHash": "sha256-OnPGWKN3mJCsbdt4zOCVSTWg8N9QX+VTCXDcYviStTk=",
"rev": "80202e3ca314c21547c48f3a23d3f629cd9ddb87",
"type": "tarball",
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/8ab5743904a06c78153281bf61b3aa8aa451a489.tar.gz?rev=8ab5743904a06c78153281bf61b3aa8aa451a489"
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/80202e3ca314c21547c48f3a23d3f629cd9ddb87.tar.gz?rev=80202e3ca314c21547c48f3a23d3f629cd9ddb87"
},
"original": {
"type": "tarball",
@ -605,11 +605,11 @@
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1726529941,
"narHash": "sha256-jj7gvddyUQ3xnZxApiGv5xQaa75f1hYKFdtOfvtkcZ0=",
"lastModified": 1723372011,
"narHash": "sha256-zqenoufFiPfobw74idorZMG8AXG3DnFzbHplt/Nkvrg=",
"owner": "nix-community",
"repo": "nix-eval-jobs",
"rev": "a7cdbbbd9a7755489267dfd1297c613c824a5920",
"rev": "8802412b8747633e9d80639897e4d58fa6290909",
"type": "github"
},
"original": {
@ -744,11 +744,11 @@
"nixpkgs": "nixpkgs_6"
},
"locked": {
"lastModified": 1726604396,
"narHash": "sha256-N96NVHAYUxK4L7uaeKi45a+v61VIpimzHyQsKctBpb4=",
"lastModified": 1726496380,
"narHash": "sha256-0SPQYespqgqODDBDpdryqWDcwUOObk0NxIMUjRQ7ydY=",
"owner": "nix-community",
"repo": "nixpkgs-wayland",
"rev": "e2d0b0171ddf364b687d091ee603d0c3a7079166",
"rev": "cbe4866388730d63d98743cc884062b6374beb41",
"type": "github"
},
"original": {
@ -791,11 +791,11 @@
},
"nixpkgs_4": {
"locked": {
"lastModified": 1726463316,
"narHash": "sha256-gI9kkaH0ZjakJOKrdjaI/VbaMEo9qBbSUl93DnU7f4c=",
"lastModified": 1726243404,
"narHash": "sha256-sjiGsMh+1cWXb53Tecsm4skyFNag33GPbVgCdfj3n9I=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "99dc8785f6a0adac95f5e2ab05cc2e1bf666d172",
"rev": "345c263f2f53a3710abe117f28a5cb86d0ba4059",
"type": "github"
},
"original": {
@ -823,11 +823,11 @@
},
"nixpkgs_6": {
"locked": {
"lastModified": 1726463316,
"narHash": "sha256-gI9kkaH0ZjakJOKrdjaI/VbaMEo9qBbSUl93DnU7f4c=",
"lastModified": 1726243404,
"narHash": "sha256-sjiGsMh+1cWXb53Tecsm4skyFNag33GPbVgCdfj3n9I=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "99dc8785f6a0adac95f5e2ab05cc2e1bf666d172",
"rev": "345c263f2f53a3710abe117f28a5cb86d0ba4059",
"type": "github"
},
"original": {
@ -900,11 +900,11 @@
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1726567229,
"narHash": "sha256-5BfrNDZBwiG0dN09V7Skd5Bpr2HwVMCdDWOvneQ2iZ4=",
"lastModified": 1726359326,
"narHash": "sha256-Nt7Ywk1lO6S4jLv9CYg7HN9nOhmgV79uUiSLWXA4fPE=",
"owner": "roc-lang",
"repo": "roc",
"rev": "3215a8f3d73daf881185e4f7474972f2059754b6",
"rev": "7df11424550bb7955a178190a3b341e34d184a19",
"type": "github"
},
"original": {
@ -1112,11 +1112,11 @@
},
"locked": {
"dir": "nix",
"lastModified": 1726527644,
"narHash": "sha256-WAruDParTj7AY16SNjTDPgXf54vJCQRpRAiED3x9FIM=",
"lastModified": 1726326914,
"narHash": "sha256-QMOS1KxI1tY3Rxtpc8UkG5vLBonybjJTiNT89ENOvo0=",
"owner": "daylinmorgan",
"repo": "tsm",
"rev": "5991d93bcb216c4cd5345296111fee7027be29cf",
"rev": "8c866db5f020cbdbe9ea9123ce4b92478b41ede5",
"type": "github"
},
"original": {
@ -1184,11 +1184,11 @@
]
},
"locked": {
"lastModified": 1726575046,
"narHash": "sha256-XD2qJ30wTLUz7BOXVz1wY/q+RJBvI7f6ksGJrYMbFAg=",
"lastModified": 1726488713,
"narHash": "sha256-af/hZxM6+AVuap2g0sshCbIr4jr2D734JwMI+RdoVrQ=",
"owner": "mitchellh",
"repo": "zig-overlay",
"rev": "a2f15c93b689b31044d5604fb0cd5bac818daf01",
"rev": "ff9255e02181bad3562f5f24fa27a26036a5f112",
"type": "github"
},
"original": {
@ -1209,11 +1209,11 @@
]
},
"locked": {
"lastModified": 1726516447,
"narHash": "sha256-CV6Mr2zm5ZmtW4RnC3taJqA0tZ0U0ERzLBoO6GfzGWA=",
"lastModified": 1726435403,
"narHash": "sha256-KB95mT5hMppNqV4uX7det1D1m5Y0rTQotjmGXYnnps0=",
"owner": "zigtools",
"repo": "zls",
"rev": "cf9b49a67b15693d62926ea11d17f53efc60be50",
"rev": "956b436a3f302d5dbc7fecfa565da666c1b2df77",
"type": "github"
},
"original": {

View file

@ -22,4 +22,3 @@ code
direnv
comma-with-db
nix-index-with-db
python

View file

@ -147,18 +147,8 @@ proc findSystemPaths(drvs: Table[string, NixDerivation]): seq[string] =
assert len(hosts) == len(result)
proc filterSeq(
drvs: seq[string],
filter: proc(s: string): bool,
): tuple[yes: seq[string], no: seq[string]] =
for drv in drvs:
if filter(drv): result.yes.add drv
else: result.no.add drv
func isIgnored(drv: string): bool =
const ignoredPackages = (slurp "ignored.txt").strip().splitLines()
const ignoredPackages = (slurp "ignored.txt").splitLines()
let name = drv.split("-", 1)[1].replace(".drv","")
result = name in ignoredPackages
if not result:
@ -167,15 +157,17 @@ func isIgnored(drv: string): bool =
return true
proc systemPathDrvsToBuild(): seq[string] =
var inputDrvs, dropped: seq[string]
let toBuild = toBuildNixosConfiguration()
let drvs = evaluateDerivations(nixosConfigAttrs())
let systemPaths = findSystemPaths(drvs)
var inputDrvs: seq[string]
for p in systemPaths:
inputDrvs &= drvs[p].inputDrvs.keys().toSeq()
(result, _) = filterSeq(inputDrvs, (s) => s in toBuild)
(dropped, result) = filterSeq(result, isIgnored)
debug fmt"ignored {dropped.len} derivations"
result = inputDrvs.filterIt(it in toBuild)
let nToBuild = result.len
result = result.filterIt(not it.isIgnored)
let nIgnored = nToBuild - result.len
debug fmt"ignored {nIgnored} derivations"
result = result.mapIt(it & "^*")
func splitDrv(drv: string): tuple[name, hash:string] =