Age | Commit message (Collapse) | Author | Files | Lines |
|
This is required to build `x/sys`, which is required by the blog_cli
|
|
This is the first Go package properly built with external dependencies
using buildGo.nix
|
|
|
|
These packages contain the Cloud SDK for Go. There is currently a
linker issue (presumably due to something in `buildGo.nix`) that means
that projects using them can not actually be built.
|
|
|
|
Sometimes things that get imported are (intentionally) not attribute
sets, e.g. for build functions.
Those should not be merged with the marker because, well, that's not
possible.
|
|
Now this was quite something.
|
|
Rewrites the previous initial tick-tocking recursion into a more
straightforward style.
Every attribute set that is imported by readTree now also contains an
attribute called `__readTree` set to `true` which acts as a marker for
other types of tree traversals.
Unfortunately directories without any children or importable content
still result in empty attribute sets, but overall this might be the
better tradeoff vs. having to follow the recursion all the way at each
subtree level to determine which children exist.
|
|
Adds a `__treeChildren` attribute that is set to `true` on derivations
that have children, e.g. for cases where a folder contains a
`default.nix` but has subdirectories with additional things in them.
|
|
|
|
|
|
|
|
What was the point of this? Noone knows!
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
As per the previous commit these files were no longer being imported,
which is now fixed by moving them into separate subfolders.
|
|
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`.
|
|
|
|
|
|
Instead of exposing the entire package tree from nixpkgs, whitelist
individual packages explicitly so that they show up in
`pkgs.third_party`.
This makes it much easier to control external dependencies used by my
projects.
Bonus: It even includes a working `third_party.callPackage` with only
the whitelisted packages!
|
|
Due to a missing feature in readTree I can't currently generate this
list automatically.
|
|
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.
|
|
Exactly as the name suggests. Currently, passing arguments from the
CLI is not really supported.
|
|
|
|
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.
|
|
Introduce Bazel-style Nix build system for Go
|
|
|
|
|
|
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.
|
|
|
|
|
|
This is a tiny program that does nothing but exists to demonstrate
pkgs.buildGo by building a program that depends on a local library as
well as a protobuf definition.
|
|
This is another step towards build reproducibility, which Go is
traditionally very bad at.
|
|
|
|
|
|
|
|
Configure automatic package layouts via repository structure
|
|
|
|
Instead of specifying CI projects manually, this filters them to move
the CI configuration into the derivations `meta` attributes.
|
|
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
|
|
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.
|
|
|
|
Add demo setup for NixCon
|
|
Maybe a bit more sane than trying to do a network based setup.
|
|
|