Updates (April 13th, 2022)
garnix now by default builds the nixosConfigurations, devShells, devShell, and defaultPackage components. We also improved our UI, and started a discord channel.
We've made some changes to the way garnix works recently that we thought we'd share.
We've just deployed a new version of garnix that changes what derivations get built. The additions are:
- defaultPackage: We're accustomed to having defaultPackage.<system> be an alias for a particular package in the packages.<system> attribute set. But a lot of people don't structure their project this way¸ meaning that until now the only thing nix build . builds might not have gotten built by garnix at all!
- devShell: We now also build the devShell, which is particularly useful in connection to the garnix cache. Relatedly:
- devShells: We now build all items in the devShells attribute.
This is in addition to the existing behavior, which builds packages, checks and nixosConfigurations. In other words: everything that was previously being build still gets built, plus the above attributes (if they are present).
The old behavior confused a lot of people.
The fact that we now build defaultPackage and devShell mean that if you, like me, alias those to something in packages or devShells, you might get the same derivation showing up with two different names in your builds. But they only get built once, of course.
A week or two ago, we changed how logs are displayed on the site. Previously you'd get the entirety of the logs as text. Now we split the logs into sections, corresponding to nix build phases, and keep them folded.
The spring lingers on in the scent of a damp log rotting in the sun
that was a haiku but imagine if it were all of the build logs instead: endless streams of text you'd want to hide [from] sometimes
Usually you'd have more phases, of course. (Sönke Hahn helped with this one.)
Like filtering out some irrelevant log lines, and getting log outputs in more cases.
Link. If you have questions about garnix, you can now use this as a more synchronous channel. Or just hang out.
This is it. You're reading it right now.
Microsoft's LSP is great for text-editor diversity, but it is severely lacking in flexibility for project-specific configuration.
Release announcement for garn version v0.0.19, which includes the ability to import Nix flakes from the internet and from your repository.
Release announcement for garn version v0.0.17 and v0.0.18. Includes better Haskell support, and less confusing file tracking.