aboutsummaryrefslogtreecommitdiffstats
path: root/pkgs
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2026-11-12 02:33:43 +0000
committertv <tv@krebsco.de>2026-11-12 02:33:43 +0000
commit408fcc6584ca598533a0f8c9012d60450db148a8 (patch)
treec5681ad8830b8ee9939f2e6eb35bec210f7e8f59 /pkgs
parent55f41b5f04efee81b4ab48899214bc59448af325 (diff)
populate: place overrides on sources with generated flakes correctly
An override below an input drawn from a source that has a generated flake itself got placed on that generated flake, which has no such input, so Nix ignored it with a warning. Generated flakes have their source as input of the same name, so the override goes below that. An edge case overrides an input of a source with a generated flake.
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/populate/default.nix3
1 files changed, 3 insertions, 0 deletions
diff --git a/pkgs/populate/default.nix b/pkgs/populate/default.nix
index 7a52ca9..06197b6 100644
--- a/pkgs/populate/default.nix
+++ b/pkgs/populate/default.nix
@@ -89,6 +89,9 @@ let
rest = if parent == null then x.path else drop (length parent) x.path;
in
"inputs.${toJSON base}" +
+ # A source with a generated flake has itself as input therein.
+ optionalString (parent != null && generated ? ${base})
+ ".inputs.${toJSON base}" +
concatMapStrings (name: ".inputs.${toJSON name}") rest +
".follows = ${toJSON x.source};";
in /* sh */ ''