about summary refs log blame commit diff
path: root/default.nix
blob: ff4f40d8f943c334580c902977693dbfe056d32e (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15














                                                                                
                                             
 

                                                                         
                         
                           
                           
                                         













                                                                   
# 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;
    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; })))
)