about summary refs log tree commit diff
path: root/read-tree.nix
AgeCommit message (Collapse)AuthorFilesLines
2019-12-09 r/113 fix(read-tree): Always import with `locatedAt` attributeVincent Ambo1-1/+1
2019-12-09 r/111 refactor: Move CI setup to separate Nix fileVincent Ambo1-1/+3
Instead of polluting the repository namespace with the list of CI projects, move that to a separate file. Currently the list of projects to be built by CI is still hardcoded, but this will be fixed soon.
2019-12-09 r/105 fix(read-tree): Don't import `default.nix` sibling expressionVincent Ambo1-3/+5
If a folder contains a `default.nix`, Nix expressions contained in adjacent files should not be imported (they might be things like a `shell.nix` or a `deps.nix` which do not evaluate to derivations). The tree traversal still continues for all children folders of a folder with a `default.nix`.
2019-12-09 r/100 refactor: Introduce new layout with nixpkgs in third_partyVincent Ambo1-1/+4
This is not the final layout yet, but makes it so that my top-level attribute set is no longer overlaid into nixpkgs itself. This is useful for other people who are importing my monorepo.
2019-12-09 r/98 refactor(read-tree): Remove deprecated 'builtins.toPath' callVincent Ambo1-2/+1
2019-12-02 r/97 refactor(read-tree): Keep traversing even if a default.nix is foundVincent Ambo1-4/+5
This makes it possible for people to drop a default.nix into folders along the way that add additional things into the attribute set at that level. These default.nix files are imported and merged with the rest of the traversal from that point on. In theory nothing stops a user from putting a derivation into one of them, but the effects of merging that derivation's underlying attribute set with random other things from the traversal are undefined. This feature is being introduced for a slight revamp of the thirdParty layout.
2019-11-25 feat(read-tree): Pass in-tree location to imported package setsVincent Ambo1-3/+23
Passes the location from the root at which packages are imported on to all packages. The path is passed in as a parameter called 'locatedAt' which contains a list of strings with each individual path component. For example, the blog source in `services/tazblog` will have a list with `[ "services" "tazblog" ]` passed in as the `locatedAt` attribute. This can be used for enabling features such as path-specific imports when using things like buildGo.
2019-11-25 refactor(read-tree): Idiomatic 'attrsToList' instead of weird hackVincent Ambo1-11/+4
2019-11-15 chore(nix): Move files around to conform to new read-tree layoutVincent Ambo1-3/+1
Broadly speaking, the following things are included: * there is now a uniform `args` struct that is passed to all derivations, package headers have been changed appropriately * overrides are now loaded from a separate `override` folder just using read-tree.nix * third-party packages have moved into the `third_party` attribute set
2019-11-15 feat(build): Add initial read-tree.nix implementationVincent Ambo1-0/+67
This file can read a directory tree into a package set structure, paving the way for getting rid of top-level mapping in default.nix.