feat(nix-lib): Add genAttrs'
All checks were successful
Run pre-commit on all files / pre-commit (push) Successful in 24s
Check meta / check_meta (pull_request) Successful in 16s
Check meta / check_dns (pull_request) Successful in 15s
Check workflows / check_workflows (pull_request) Successful in 16s
Build all the nodes / ap01 (pull_request) Successful in 30s
Build all the nodes / netaccess01 (pull_request) Successful in 19s
Build all the nodes / netcore01 (pull_request) Successful in 18s
Build all the nodes / netcore02 (pull_request) Successful in 18s
Build all the nodes / geo01 (pull_request) Successful in 1m31s
Build all the nodes / geo02 (pull_request) Successful in 1m38s
Build all the nodes / bridge01 (pull_request) Successful in 1m39s
Build all the nodes / hypervisor01 (pull_request) Successful in 1m32s
Build all the nodes / build01 (pull_request) Successful in 1m48s
Build all the nodes / hypervisor02 (pull_request) Successful in 1m40s
Build all the nodes / hypervisor03 (pull_request) Successful in 1m44s
Build the shell / build-shell (pull_request) Successful in 24s
Build all the nodes / compute01 (pull_request) Successful in 2m37s
Run pre-commit on all files / pre-commit (pull_request) Successful in 24s
Build all the nodes / rescue01 (pull_request) Successful in 1m40s
Build all the nodes / storage01 (pull_request) Successful in 1m42s
Build all the nodes / tower01 (pull_request) Successful in 1m39s
Build all the nodes / web02 (pull_request) Successful in 1m38s
Build all the nodes / vault01 (pull_request) Successful in 1m51s
Build all the nodes / web03 (pull_request) Successful in 1m59s
Build all the nodes / web01 (pull_request) Successful in 2m14s

This commit is contained in:
Tom Hubrecht 2025-02-28 13:39:14 +01:00
parent b7c225a9cd
commit 4d9dde0ede
Signed by: thubrecht
SSH key fingerprint: SHA256:CYNvFo44Ar9qCNnWNnvJVhs0QXO9AZjOLlPeWcSij3Q

View file

@ -4,18 +4,17 @@
# SPDX-License-Identifier: EUPL-1.2
{ lib }:
rec {
let
inherit (lib)
flip
optionals
optionalString
hasPrefix
listToAttrs
nameValuePair
recursiveUpdate
splitString
unique
warn
;
in
rec {
/*
Fuses a list of attribute sets into a single attribute set.
@ -97,6 +96,11 @@ rec {
*/
mapSingleFuse = f: mapFuse (x: singleAttr x (f x));
# Like genAttrs but allows configuring the name
genAttrs' =
names: f: g:
listToAttrs (map (n: nameValuePair (f n) (g n)) names);
/*
Creates a relative path as a string