tasks/update: Manage filesystem artifacts

This commit is contained in:
Andrew Kvalheim 2023-02-08 11:52:21 -08:00
parent eb455e4941
commit bad63ce0c2
3 changed files with 14 additions and 9 deletions

5
.gitignore vendored
View file

@ -1,8 +1,3 @@
# Local configuration
local/
*.local.nix
# Package updates
/packages/*.cmp
/*.log
/update-git-commits.txt

View file

@ -1,2 +0,0 @@
# Used by ./tasks/update
{}: import <nixpkgs> { overlays = [ (import ./common/packages.nix) ]; }

View file

@ -1,12 +1,24 @@
#!/usr/bin/env bash
# See https://discourse.nixos.org/t/25274
set -Eeu
root="$(readlink --canonicalize -- "$(dirname -- "$0")/..")"
nixpkgs="$(nix-instantiate --eval --expr '<nixpkgs>')"
exec nix-shell "$nixpkgs/maintainers/scripts/update.nix" \
# Mock nixpkgs
trap 'rm -f "$root/default.nix"' EXIT; cat > "$root/default.nix" << NIX
{}: import <nixpkgs> { overlays = [ (import ./common/packages.nix) ]; }
NIX
# Run update scripts
nixpkgs="$(nix-instantiate --eval --expr '<nixpkgs>')"
nix-shell "$nixpkgs/maintainers/scripts/update.nix" \
--arg include-overlays "(import $root { }).overlays" \
--arg predicate "(
let prefix = \"$root/packages/\"; prefixLen = builtins.stringLength prefix;
in (_: p: (builtins.substring 0 prefixLen p.meta.position) == prefix)
)"
# Clean up
if [[ -f "$root/update-git-commits.txt" ]]; then
cat "$root/update-git-commits.txt" && rm "$root/update-git-commits.txt"
fi