mirror of
https://gitlab.com/TECHNOFAB/nix-gitlab-ci.git
synced 2025-12-12 10:10:06 +01:00
Squashed commit of the following: commit 86eadd3ec42b7bce0dc5716d65798af95d0d8cbc Author: technofab <admin@technofab.de> Date: Fri May 2 17:10:33 2025 +0200 docs(README): fix built with nix badge commit f50057da69e89974f17bc37b5e140b2ef9f817f6 Author: technofab <admin@technofab.de> Date: Fri May 2 16:09:00 2025 +0200 ci: change back rule so docs only get deployed on main commit ce02b043f4bd83c36285e5620e71701fc3bcc998 Author: technofab <admin@technofab.de> Date: Fri May 2 16:08:10 2025 +0200 docs: write docs and improve formatter etc. commit e996b23cf877d8021759b782aa5996f5e2bf12ac Author: technofab <admin@technofab.de> Date: Fri May 2 16:07:56 2025 +0200 docs: update README commit 650f97b5608c32cf6cf66cc3fdd0965dc42e4860 Author: technofab <admin@technofab.de> Date: Wed Apr 23 21:05:14 2025 +0200 docs: add favicon commit 67e1bfecbcaf0b8f7dad2eecfaccf774cc560874 Author: technofab <admin@technofab.de> Date: Wed Apr 23 20:53:44 2025 +0200 docs: initial setup
33 lines
768 B
Markdown
33 lines
768 B
Markdown
# 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:
|
|
|
|
```nix
|
|
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:
|
|
|
|
```nix
|
|
"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](./multi_pipeline.md) for more.
|