lib: set as fixed point

This commit is contained in:
Gabriel Arazas 2024-02-25 20:02:41 +08:00
parent 8377dba214
commit 29b7b302e1
No known key found for this signature in database
GPG Key ID: ADE0C41DAB221FCC

View File

@ -1,6 +1,8 @@
# All of the custom functions suitable for all environments.
# The entrypoint for our custom library set.
{ lib }:
lib.makeExtensible
(self:
rec {
/* Count the attributes with the given predicate.
@ -15,7 +17,26 @@ rec {
lib.count (attr: pred attr.name attr.value)
(lib.mapAttrsToList lib.nameValuePair attrs);
/* Returns the file path of the given config of the given environment.
Type: getConfig :: String -> String -> Path
Example:
getConfig "home-manager" "foo-dogsquared"
=> ../configs/home-manager/foo-dogsquared
*/
getConfig = type: config: ../configs/${type}/${config};
/* Returns the file path of the given user subpart of the given
environment. Only certain environments such as NixOS have this type of
setup.
Type: getConfig :: String -> String -> Path
Example:
getUser "nixos" "foo-dogsquared"
=> ../configs/nixos/_users/foo-dogsquared
*/
getUser = type: user: ../configs/${type}/_users/${user};
}
})