snix/default.nix
William Carroll 9e0fdd3973 Remove default values for Nix expression parameters
I'm not sure if this commit breaks everything in my monorepo. I think it
will.

Why am I doing this? Perhaps it's a bad idea. I don't fully understand how
readTree works. My ignorance is costing me hours of time spent debugging. In an
effort to better understand readTree, I'm removing the default values for my Nix
expression parameters, which I believe have preventing errors from surfacing.
2020-03-01 22:32:24 +00:00

37 lines
1,004 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 = self: {
inherit self;
pkgs = import <nixpkgs> {};
depot = import <depot> {};
briefcase = import <briefcase> {};
};
readTree' = import <depot/nix/readTree> {};
# TODO: Find a better way to expose entire monorepo without introducing
# "infinite recursion".
localPkgs = readTree: {
blog = readTree ./blog;
lisp = readTree ./lisp;
gopkgs = readTree ./gopkgs;
monzo_ynab = readTree ./monzo_ynab;
third_party = readTree ./third_party;
tools = readTree ./tools;
};
in fix(self: {
config = config self;
}
# Add local packages as structured by readTree
// (localPkgs (readTree' (self.config // { inherit (self) lib; })))
)