about summary refs log tree commit diff
path: root/default.nix
blob: 861ae6beee6f3ba51bc24007f968f69d8f2387df (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
# 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: {
    nixos = readTree ./nixos;
    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; })))
)