# 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.