Get support for sagikazarmark/nix-ci-utils

If you're new to LTH, please see our FAQ for more information on what it is we do.

Support Options

Unfortunately, there are currently no active helpers for this repository on the platform. Until they become available, we reccomend the following actions:

View Open Issues

Take a look to see if anyone else has experienced the same issue as you and if they managed to solve it.

Open an Issue

Make sure to read any relevant guidelines for opening issues on this repo before posting a new issue.

Sponsor directly

Check out the page and see if there are any options to sponsor this project or it's developers directly.

sagikazarmark/nix-ci-utils

Nix CI utilities

GitHub Workflow Status built with nix

Nix CI utilities

⚠️ This tool is still under heavy development! Things may change. ⚠️

Usage

{
  description = "My Go project";

  inputs = {
    nixpkgs.url = "nixpkgs/nixos-unstable";
    flake-utils.url = "github:numtide/flake-utils";
    ci.url = "github:sagikazarmark/nix-ci-utils";
    ci.inputs.nixpkgs.follows = "nixpkgs";
  };

  outputs = { self, nixpkgs, flake-utils, ci, ... }:
    flake-utils.lib.eachDefaultSystem (system:
      let
        pkgs = import nixpkgs { inherit system; };
      in
      rec {
        devShells = {
          default = pkgs.mkShell {
            buildInputs = with pkgs; [
              git
              go_1_19
              gnumake
              xcaddy
              go-task
              golangci-lint
            ];
          };
        }
        //
        (ci.lib.genShellsFromList [ "1_19" "1_20" ] (goVersion:
          devShells.default.overrideAttrs (final: prev: {
            buildInputs = [ pkgs."go_${goVersion}" ] ++ prev.buildInputs;
          })
        ));
      }
    );
}

Alternatively, you can generate a matrix from an attribute set:

{
# ...
  outputs = {
    # ...
        //
        (ci.lib.genShellsFromMatrixAttrs { goVersion = [ "1_19" "1_20" ]; } (e:
          devShells.default.overrideAttrs (final: prev: {
            buildInputs = [ pkgs."go_${e.goVersion}" ] ++ prev.buildInputs;
          })
        ));
  };
}

License

The project is licensed under the MIT License.

Our Mission

We want to make open source more sustainable. The entire platform was born from this and everything we do is in aid of this.

Interesting Articles

Thank you for checking out LiveTechHelper |
2025 © lth-dev incorporated

p-e622a1a2