From 6382598677548d5b483dce4ab380067cd91af6d2 Mon Sep 17 00:00:00 2001 From: Bernardo Meurer Date: Mon, 25 Apr 2022 16:17:21 -0700 Subject: [PATCH] linkFarm: make last entry win in case of list repeats --- pkgs/build-support/trivial-builders.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/build-support/trivial-builders.nix b/pkgs/build-support/trivial-builders.nix index f29027aa1c68..39c5787e3823 100644 --- a/pkgs/build-support/trivial-builders.nix +++ b/pkgs/build-support/trivial-builders.nix @@ -489,7 +489,8 @@ rec { let entries' = if (lib.isAttrs entries) then entries - else if (lib.isList entries) then lib.listToAttrs (map (x: lib.nameValuePair x.name x.path) entries) + # We do this foldl to have last-wins semantics in case of repeated entries + else if (lib.isList entries) then lib.foldl (a: b: a // { "${b.name}" = b.path; }) { } entries else throw "linkFarm entries must be either attrs or a list!"; linkCommands = lib.mapAttrsToList (name: path: ''