mirror of
https://github.com/ryan4yin/nix-config.git
synced 2026-07-12 23:52:39 +02:00
feat: refactoring configuration with options to make it more modular
This commit is contained in:
+5
-6
@@ -1,6 +1,4 @@
|
||||
{ lib, ... }:
|
||||
|
||||
rec {
|
||||
{lib, ...}: {
|
||||
# Generate an attribute set from a list.
|
||||
#
|
||||
# lib.genAttrs [ "foo" "bar" ] (name: "x_" + name)
|
||||
@@ -8,7 +6,7 @@ rec {
|
||||
listToAttrs = lib.genAttrs;
|
||||
|
||||
# Update only the values of the given attribute set.
|
||||
#
|
||||
#
|
||||
# mapAttrs
|
||||
# (name: value: ("bar-" + value))
|
||||
# { x = "a"; y = "b"; }
|
||||
@@ -16,7 +14,7 @@ rec {
|
||||
mapAttrs = lib.attrsets.mapAttrs;
|
||||
|
||||
# Update both the names and values of the given attribute set.
|
||||
#
|
||||
#
|
||||
# mapAttrs'
|
||||
# (name: value: nameValuePair ("foo_" + name) ("bar-" + value))
|
||||
# { x = "a"; y = "b"; }
|
||||
@@ -24,6 +22,7 @@ rec {
|
||||
mapAttrs' = lib.attrsets.mapAttrs';
|
||||
|
||||
# Merge a list of attribute sets into one. smilar to the operator `a // b`, but for a list of attribute sets.
|
||||
# NOTE: the later attribute set overrides the former one!
|
||||
#
|
||||
# mergeAttrsList
|
||||
# [ { x = "a"; y = "b"; } { x = "c"; z = "d"; } { g = "e"; } ]
|
||||
@@ -31,7 +30,7 @@ rec {
|
||||
mergeAttrsList = lib.attrsets.mergeAttrsList;
|
||||
|
||||
# Generate a string from an attribute set.
|
||||
#
|
||||
#
|
||||
# attrsets.foldlAttrs
|
||||
# (acc: name: value: acc + "\nexport ${name}=${value}")
|
||||
# "# A shell script"
|
||||
|
||||
Reference in New Issue
Block a user