about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorFilesLines
2019-12-13 r/125 refactor(tools/blog_cli): Build with buildGo.nixVincent Ambo2-118/+6
This is the first Go package properly built with external dependencies using buildGo.nix
2019-12-13 r/124 chore(third_party): Bump gopkgs needed for Google CloudVincent Ambo11-11/+12
2019-12-13 r/123 feat(third_party/gopkgs): Import external packages for Google CloudVincent Ambo12-0/+178
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.
2019-12-13 r/122 chore(overrides): Upgrade buildGo.nixVincent Ambo2-1/+2
2019-12-10 r/121 fix(read-tree): Only add marker to imported attribute setsVincent Ambo1-4/+9
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.
2019-12-10 r/120 feat(aoc2019): Solve day 3 puzzlesVincent Ambo1-0/+58
Now this was quite something.
2019-12-09 r/119 refactor(read-tree): Simplify tree recursion logicVincent Ambo1-65/+30
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.
2019-12-09 r/118 feat(read-tree): Mark derivations that have childrenVincent Ambo1-4/+3
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.
2019-12-09 r/117 feat(aoc2019): Solve day 2 puzzlesVincent Ambo1-0/+53
2019-12-09 r/116 feat(aoc2019): Solve day 1 puzzlesVincent Ambo1-0/+28
2019-12-09 r/115 feat(tools): Add auto-dispatch for Advent of Code solutionsVincent Ambo3-1/+5
2019-12-09 r/114 chore: Remove old 'external' folderVincent Ambo1-1/+0
What was the point of this? Noone knows!
2019-12-09 r/113 fix(read-tree): Always import with `locatedAt` attributeVincent Ambo1-1/+1
2019-12-09 r/112 feat(tools): Set up Advent of Code 2019 scaffoldingVincent Ambo1-0/+22
2019-12-09 r/111 refactor: Move CI setup to separate Nix fileVincent Ambo4-26/+21
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/110 fix(overrides): Fix package importing for kontemplateVincent Ambo2-4/+5
2019-12-09 r/109 fix(build): Install cachix from third_partyVincent Ambo1-1/+1
2019-12-09 r/108 fix(third_party): Expose various other missing dependenciesVincent Ambo5-5/+10
2019-12-09 r/107 fix(third_party): Expose missing dependencies for NixeryVincent Ambo1-1/+17
2019-12-09 r/106 fix(third_party): Shuffle code around to be compatible with readTreeVincent Ambo5-8/+8
As per the previous commit these files were no longer being imported, which is now fixed by moving them into separate subfolders.
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/104 fix(writeElispBin): Add required nixpkgs attributes for elispVincent Ambo2-3/+6
2019-12-09 r/103 fix: Amend import paths to use whitelisted nixpkgsVincent Ambo4-4/+4
2019-12-09 r/102 feat(third_party): Explicitly expose packages from nixpkgsVincent Ambo1-0/+49
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!
2019-12-09 r/101 fix(build): Temporarily hardcode list of CI projectsVincent Ambo1-4/+12
Due to a missing feature in readTree I can't currently generate this list automatically.
2019-12-09 r/100 refactor: Introduce new layout with nixpkgs in third_partyVincent Ambo10-50/+62
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/99 feat: Add writeElispBin helper functionVincent Ambo1-0/+23
Exactly as the name suggests. Currently, passing arguments from the CLI is not really supported.
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-27 r/96 Merge pull request #10 from tazjin/feat/buildGo-dot-nixVincent Ambo6-13/+93
Introduce Bazel-style Nix build system for Go
2019-11-27 chore(overrides): Import buildGo.nix from external repositoryVincent Ambo1-147/+4
2019-11-25 feat(buildGo): Add x_defs supportVincent Ambo1-4/+9
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-22 fix(tools): Enable CI runs for tools.gotestVincent Ambo1-1/+1
2019-11-22 feat(tools): Add 'gotest' program to demonstrate pkgs.buildGoVincent Ambo4-0/+63
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.
2019-11-22 fix(buildGo): Use stable build ID when linking outputsVincent Ambo1-2/+2
This is another step towards build reproducibility, which Go is traditionally very bad at.
2019-11-22 fix(buildGo): Ensure names of proto-generated files are correctVincent Ambo1-1/+1
2019-11-22 refactor(buildGo): Minor cleanups of buildGo implementationVincent Ambo1-52/+25
2019-11-21 feat(buildGo): Introduce Bazel-style Nix builders for GoVincent Ambo1-0/+169
2019-11-15 r/95 Merge pull request #9 from tazjin/feat/read-treeVincent Ambo20-111/+191
Configure automatic package layouts via repository structure
2019-11-15 fix(k8s): Adjust blog image name to match new repo layoutVincent Ambo1-1/+1
2019-11-15 feat(nix): Filter projects that should be built by CIVincent Ambo4-15/+25
Instead of specifying CI projects manually, this filters them to move the CI configuration into the derivations `meta` attributes.
2019-11-15 chore(nix): Move files around to conform to new read-tree layoutVincent Ambo19-102/+112
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.
2019-11-14 chore: Remove unstable channel (no longer in use)Vincent Ambo1-7/+0
2019-10-26 r/94 Merge pull request #8 from tazjin/feat/nixconVincent Ambo5-0/+939
Add demo setup for NixCon
2019-10-26 feat(nixcon-demo): Add CLI mode for NixCon demoVincent Ambo1-2/+13
Maybe a bit more sane than trying to do a network based setup.
2019-10-26 feat(services): Add nixcon-demo service with simple web serverVincent Ambo5-0/+922
2019-10-26 feat(third_party): Add naersk to package setVincent Ambo1-0/+6