393bd0a5c7
Using @tazjin's depot/default.nix to bootstrap this project. I'll be borrowing his Nix idioms until I better understand Nix and have preferences of my own.
33 lines
797 B
Nix
33 lines
797 B
Nix
# At the time of this writing, this configuration was taken from @tazjin's
|
|
# default.nix from his depot. I've added, changed, and removed that parts that I
|
|
# don't need, and this is what remains.
|
|
{ ... }@args:
|
|
|
|
with builtins;
|
|
|
|
let
|
|
fix = f: let x = f x; in x;
|
|
|
|
# Global configuration that all packages are called with.
|
|
config = pkgs: {
|
|
inherit pkgs;
|
|
};
|
|
|
|
readTree' = import /home/wpcarro/depot/nix/readTree {};
|
|
|
|
localPkgs = readTree: {
|
|
third_party = readTree ./third_party;
|
|
};
|
|
in fix(self: {
|
|
config = config self;
|
|
|
|
# Expose readTree for downstream repo consumers.
|
|
readTree = {
|
|
__functor = x: (readTree' x.config);
|
|
config = self.config;
|
|
};
|
|
}
|
|
|
|
# Add local packages as structured by readTree
|
|
// (localPkgs (readTree' (self.config // { inherit (self) lib; })))
|
|
)
|