blob: cf7e61e4a9906b50e94c9e21baa438dfc408342f (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
# 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 ~/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;
# 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; })))
)
|