ci: Print call trace on error
This should make it easier to pinpoint errors deep in attributes within
ci: Add Nix expression with all possible package configurations
The new ci.nix, when passed to nix-build:
1. runs the lib tests;
2. builds new packages when imported directly from ./pkgs;
3. builds new packages from the overlay;
4. builds patched packages from the overlay.
These should uncover issues in the direct-overlay translation, which
we'll need before consolidating */default.nix and */overlay.nix.
I don't think we'll support loading the patched packages directly,
ci: Rework build steps to enable Nix features
Seems that nix-command is not enabled for `nixUnstable` by default.
Move the setup and tests around so we can enable it (and flakes) first.
ci: Fix flake check invocation
Add experimental flake support
ci: Run lib tests before building
ci: Push all built paths to Cachix, even in case of failure
I've been having [errors] while building the rtl8723bu driver for Linux
5.8 and that causes the whole build to fail, preventing successful paths
from being pushed to the cache. Now we fail the build only at the very
Additionally, we now push *all* new paths in the Nix store, including
dependencies of our top-level packages. That should reduce build times
from the 20+ minutes we've begun experiencing after the introduction of
crate2nix-based derivations. I borrowed this trick from
github:cachix/cachix-action after seeing local builds fetch crates from
the eigenvalue (crate2nix's) cache.
ci: Push built packages to Cachix
ci: Add build manifests for NixOS 20.03 and Nixpkgs