nix/update-all.nu

17 lines
685 B
Nu
Executable file

#! /usr/bin/env nu
def main [] {
let sdks = open nix/sourcemod/hl2sdks.json | columns
$sdks | each {|sdk| update_sdk $sdk}
}
def update_sdk [sdk: string] {
print $"Updating ($sdk) SDK"
# some sdks might have identical files at some point, so their hash can be the same
# nix-update will replace all occurences of the hash, which might not be correct
# so we put a unique dummy value in there to work around this
open nix/sourcemod/hl2sdks.json | update ([$sdk, "sha256"] | into cell-path) $"($sdk)-placeholder" | save -f nix/sourcemod/hl2sdks.json
nix-update --flake --use-update-script $"hl2sdk.($sdk)"
nix build .#sourcemods.x86_64-linux.tf2
}