{ pkgs, config, ... }: { services.gitea-actions-runner = { package = pkgs.forgejo-actions-runner; instances.default = { enable = true; name = config.networking.fqdn; url = "https://git.fediversity.eu"; tokenFile = config.age.secrets.forgejo-runner-token.path; settings = { log.level = "info"; runner = { file = ".runner"; capacity = 24; timeout = "3h"; insecure = false; fetch_timeout = "5s"; fetch_interval = "2s"; }; }; ## This runner supports Docker (with a default Ubuntu image) and native ## modes. In native mode, it contains a few default packages. labels = [ "docker:docker://node:16-bullseye" "native:host" ]; hostPackages = with pkgs; [ bash git nix nodejs ]; }; }; age.secrets.forgejo-runner-token.file = ../../secrets/forgejo-runner-token.age; ## For the Docker mode of the runner. virtualisation.docker.enable = true; ## The Nix configuration of the system influences the Nix configuration ## in the workflow, and our workflows are often flake-based. nix.extraOptions = '' experimental-features = nix-command flakes ''; }