{ pkgs, ... }:
{

  virtualisation.docker.enable = true;

  services.gitea-actions-runner = {
    package = pkgs.forgejo-actions-runner;
    instances.default = {
      enable = true;
      name = "vm02179.procolix.com";
      url = "https://git.fediversity.eu";
      # Obtaining the path to the runner token file may differ
      token = "MKmFPY4nxfR4zPYHIRLoiJdrrfkGmcRymj0GWOAk";
      labels = [
        "docker:docker://node:16-bullseye"
        "native:host"
      ];
      hostPackages = with pkgs; [
        bash
        git
        nix
        nodejs
      ];
      settings = {
        log.level = "info";
        runner = {
          file = ".runner";
          capacity = 8;
          timeout = "3h";
          insecure = false;
          fetch_timeout = "5s";
          fetch_interval = "2s";
        };
      };
    };
  };

  ## 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
  '';
}
