nixos-config/subprojects/wrapper-manager-fds/lib/default.nix
Gabriel Arazas 025b4f043a
wrapper-manager-fds/lib: make eval functions easier to import
This is to make wrapper-manager-fds easier to bootstrap whether used
with flakes or not.
2024-07-09 23:17:52 +08:00

27 lines
927 B
Nix

# The wrapper-manager library set. It should only require a nixpkgs instance to
# make initializing this set easier. This what makes it possible to be used as
# part of the module environments and as a standalone library.
#
# Since this library set is typically modularly set in nixpkgs module
# environments, we'll have to make sure it doesn't contain any functions that
# should return a nixpkgs module or anything of the sort. Basically, this
# should remain as a utility function that is usable outside of the nixpkgs
# module.
{ pkgs }:
pkgs.lib.makeExtensible
(self:
let
callLibs = file: import file { inherit (pkgs) lib; inherit pkgs self; };
in
{
build-support = callLibs ./build-support.nix;
env = import ./env.nix;
utils = callLibs ./utils.nix;
inherit (self.build-support) mkWrapper mkWrappedPackage;
inherit (self.env) build eval;
inherit (self.utils) getBin getLibexec;
})