Skip to content

Usage

To create a basic pipeline, configure it by setting ci in perSystem. The schema is similar to the .gitlab-ci.yml, only jobs are defined differently:

ci = {
  # Nix GitLab CI specific config, see `configType` in `flakeModule.nix`
  config = {};
  jobs = {
    "job-a" = {};
    "job-b" = {};
  };
};

For every job, there are a couple of settings you can adjust aswell:

"job-a" = {
  # see `jobType` in `flakeModule.nix`
  nix = {
    enable = true; # is this a nix-based job?
    deps = []; # dependencies to install for this job
    # for gitlab runner cache:
    enable-runner-cache = false;
    runner-cache-key = "";
  };
};

Since V2 multiple pipelines are supported. See Multiple Pipelines for more.