diff options
Diffstat (limited to 'lib/lists.nix')
-rw-r--r-- | lib/lists.nix | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/lists.nix b/lib/lists.nix index 566ee89c95bc..d57c4893daa8 100644 --- a/lib/lists.nix +++ b/lib/lists.nix @@ -223,4 +223,14 @@ rec { crossLists = f: foldl (fs: args: concatMap (f: map f args) fs) [f]; + # Remove duplicate elements from the list + unique = list: + if list == [] then + [] + else + let + x = head list; + xs = unique (drop 1 list); + in [x] ++ remove x xs; + } |