feat(nix-lib): Add genAttrs'
All checks were successful
Check meta / check_dns (push) Successful in 16s
Check meta / check_meta (push) Successful in 15s
Check workflows / check_workflows (push) Successful in 17s
Check meta / check_meta (pull_request) Successful in 15s
Check meta / check_dns (pull_request) Successful in 16s
Check workflows / check_workflows (pull_request) Successful in 16s
Build all the nodes / ap01 (pull_request) Successful in 31s
Build all the nodes / bridge01 (pull_request) Successful in 51s
Build all the nodes / netaccess01 (pull_request) Successful in 24s
Build all the nodes / build01 (pull_request) Successful in 53s
Build all the nodes / netcore00 (pull_request) Successful in 22s
Build all the nodes / geo01 (pull_request) Successful in 58s
Build all the nodes / geo02 (pull_request) Successful in 58s
Build all the nodes / cof02 (pull_request) Successful in 1m3s
Build all the nodes / netcore01 (pull_request) Successful in 28s
Build all the nodes / netcore02 (pull_request) Successful in 28s
Build all the nodes / hypervisor03 (pull_request) Successful in 58s
Run pre-commit on all files / pre-commit (pull_request) Successful in 25s
Build the shell / build-shell (pull_request) Successful in 26s
Build all the nodes / compute01 (pull_request) Successful in 1m32s
Build all the nodes / hypervisor01 (pull_request) Successful in 1m48s
Build all the nodes / tower01 (pull_request) Successful in 1m1s
Build all the nodes / rescue01 (pull_request) Successful in 1m18s
Build all the nodes / hypervisor02 (pull_request) Successful in 1m56s
Build all the nodes / storage01 (pull_request) Successful in 1m14s
Build all the nodes / web02 (pull_request) Successful in 1m8s
Build all the nodes / web03 (pull_request) Successful in 1m12s
Build all the nodes / vault01 (pull_request) Successful in 1m17s
Build all the nodes / web01 (pull_request) Successful in 1m50s
Build all the nodes / ap01 (push) Successful in 56s
Build all the nodes / netcore00 (push) Successful in 22s
Build all the nodes / netaccess01 (push) Successful in 23s
Build all the nodes / netcore01 (push) Successful in 21s
Build all the nodes / bridge01 (push) Successful in 1m21s
Build all the nodes / build01 (push) Successful in 1m30s
Build all the nodes / geo01 (push) Successful in 1m19s
Build all the nodes / geo02 (push) Successful in 1m10s
Build all the nodes / netcore02 (push) Successful in 37s
Build all the nodes / cof02 (push) Successful in 1m34s
Run pre-commit on all files / pre-commit (push) Successful in 25s
Build all the nodes / hypervisor03 (push) Successful in 1m10s
Build the shell / build-shell (push) Successful in 32s
Build all the nodes / storage01 (push) Successful in 2m13s
Build all the nodes / hypervisor01 (push) Successful in 2m56s
Build all the nodes / web03 (push) Successful in 1m54s
Build all the nodes / vault01 (push) Successful in 2m14s
Build all the nodes / hypervisor02 (push) Successful in 49s
Build all the nodes / compute01 (push) Successful in 1m21s
Build all the nodes / web01 (push) Successful in 1m14s
Build all the nodes / tower01 (push) Successful in 1m27s
Build all the nodes / web02 (push) Successful in 1m37s
Build all the nodes / rescue01 (push) Successful in 1m39s

This commit is contained in:
Tom Hubrecht 2025-02-28 13:39:14 +01:00 committed by thubrecht
parent 4b9721457c
commit f01b1fd6e4

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