aboutsummaryrefslogtreecommitdiffstats
path: root/CHANGELOG.md
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2026-11-13 21:10:04 +0000
committertv <tv@krebsco.de>2026-11-13 22:16:47 +0100
commit75f2fddb65c0d0b7659282a1e210bd2ddb3abefa (patch)
tree980badaab53cad26907a3b4c04ac8ea9ae6de305 /CHANGELOG.md
parent8dfa3f18d42d852ece3f2d9cf1ae117acccc0b15 (diff)
populate: stop if a flake's URL can't be found
The URLs of flakes went into nix flake lock's and nix flake metadata's arguments as command substitutions, whose failure doesn't stop a script under set -e. After "error: source p is not a directory", nix flake lock ran with an empty URL, which Nix takes for the current directory: on a remote target, the login directory, which ended up in the world-readable store, .ssh included. URLs get assigned first now, so failing to find one stops populate. A phase's unexpected lists what populate is expected not to print, whether it succeeds or not; notdir expects populate not to go on locking.
Diffstat (limited to 'CHANGELOG.md')
-rw-r--r--CHANGELOG.md4
1 files changed, 4 insertions, 0 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index d71c57e..730a9d1 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,10 @@
## Unreleased
+- Drawing an input from a source that isn't a directory stops populate,
+ instead of locking the flake with an empty URL, which Nix takes for the
+ current directory, copying it into the store: on a remote target, the
+ login directory.
- Git can't take a `git` source's `url` or `ref`, or a `pass` source's
`name`, for an option.
- `git` sources also refuse work trees whose `.git` directory contains