{ config, pkgs, inputs, lib, system, ... }:
let
  unstable = inputs.nixpkgs-nixos-unstable;
  package = unstable.legacyPackages."${system}".gitea-actions-runner;
in {

  disabledModules =
    [ "services/continuous-integration/gitea-actions-runner.nix" ];
  imports = [
    "${unstable}/nixos/modules/services/continuous-integration/gitea-actions-runner.nix"
  ];

  sops.secrets."gitea-runner-token" = {
    sopsFile = ./gitea-runner-token.sops;
    format = "binary";
  };
  virtualisation.docker = {
    enable = true;
    autoPrune.enable = true;
    daemon.settings = { };
  };

  services.gitea-actions-runner = {
    inherit package;
    instances.cupsnet-local = {
      enable = true;
      url = "https://git.cyplo.dev";
      tokenFile = config.sops.secrets."gitea-runner-token".path;
      name = "cupsnet local";
      hostPackages = with pkgs; [
        bash
        coreutils
        curl
        gawk
        gitMinimal
        gnused
        nodejs
        wget
        sudo
        nix
      ];
      labels = [
        "flakes-action:docker://git.cyplo.dev/cyplo/base-images/flakes-action:latest"
        "linux_amd64:host"
      ];
    };
  };
}
