nixos-config/lib/default.nix
Gabriel Arazas c782c20a4a
lib/math: init subset
Just copied over from Bahaghari lul
2024-09-12 15:46:45 +08:00

33 lines
1.1 KiB
Nix

# The entrypoint for our custom library set.
#
# Take note, this is modularly included as part of the environment so we cannot
# have any functions or references that could make the evaluation go in an
# infinite recursion such as a function that generates a valid nixpkgs module.
# If you have to add those functions, you'll have to add them in configUtils.
{ pkgs }:
let
inherit (pkgs) lib;
in
pkgs.lib.makeExtensible
(self:
let
callLib = file: import file { inherit pkgs lib self; };
in {
builders = callLib ./builders;
trivial = callLib ./trivial.nix;
data = callLib ./data.nix;
math = callLib ./math.nix;
fetchers = callLib ./fetchers;
inherit (self.builders) makeXDGMimeAssociationList
makeXDGPortalConfiguration makeXDGDesktopEntry;
inherit (self.trivial) countAttrs filterAttrs';
inherit (self.data) importYAML renderTeraTemplate renderMustacheTemplate;
inherit (self.fetchers) fetchInternetArchive;
} // lib.optionalAttrs (builtins ? fetchTree) {
flake = callLib ./flake.nix;
inherit (self.flake) importFlakeMetadata fetchTree fetchInput;
})