aboutsummaryrefslogtreecommitdiffstats
path: root/ci.nix
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2026-11-11 20:13:30 +0000
committertv <tv@krebsco.de>2026-11-11 20:13:30 +0000
commit962a0ed7337e5f83dfe9ad0933fae05ad2471aeb (patch)
tree31ab351cebcf56735d8afcd821f08800bca0ccd9 /ci.nix
parent1598b34e590a3e94dd364bbada76a98115ffcf8a (diff)
populate flake: support fetchOnTarget
With fetchOnTarget, the target fetches the flake's inputs using the arguments recorded in the lock file, like it does for flake-input sources. The flake itself has no lock entry, so the target fetches it by its locked reference, unless that refers to the deploying machine, e.g. a path or a Git work tree. Then the flake's tree gets transferred using rsync and added to the target's store using nix-store --add-fixed, which yields the same store path as on the deploying machine, because flake store paths are content-addressed by their NAR hash. Adding paths like this needs neither signatures nor a trusted user, so this works for targets using sudo. The transfer gets skipped if the target's store has the flake already, and populate fails if the added path differs from the expected one. rsync' gets a filterFiles option, so the flake's tree gets transferred without applying .rsync-filter files, which would change it.
Diffstat (limited to 'ci.nix')
0 files changed, 0 insertions, 0 deletions