nixci-0.1.2 is not a library.
nixci
nixci builds all outputs in a flake, or optionally its sub-flakes, which can in turn be used either in CI or locally. Using devour-flake it will automatically build the following outputs:
| Type | Output Key |
|---|---|
| Standard flake outputs | packages, apps, checks, devShells |
| NixOS | nixosConfigurations.* |
| nix-darwin | darwinConfigurations.* |
| home-manager | legacyPackages.${system}.homeConfigurations.* |
Install
Note To make use of the binary cache, first run:
nix run nixpkgs#cachix use srid
To install, run nix profile install github:srid/nixci. You can also use use nix run github:srid/nixci to run nixci directly off this repo without installing it.
Usage
nixci accepts any valid flake URL or a Github PR URL.
# Run nixci on a local flake (default is $PWD)
# Run nixci on a github repo
# Run nixci on a github PR
Configuring
By default, nixci will build the top-level flake, but you can tell it to build sub-flakes by adding the following output to your top-level flake:
# myproject/flake.nix
{
nixci = {
dir1 = {
dir = "dir1";
};
dir2 = {
dir = "dir2";
overrideInputs.myproject = ./.;
};
}
}
Examples
Some real-world examples of how nixci is used with specific configurations:
What it does
- Accepts a flake config (
nixci) that optionally specifies all the sub-flakes to build, along with their input overrides - Checks that
flake.lockis in sync - Runs devour-flake to build all flake outputs
- Prints the built outputs
See also
- jenkins-nix-ci - Jenkins NixOS module that supports
nixcias a Groovy function