{ config, pkgs, lib, ... }: let nodeMajorVersion = lib.versions.major pkgs.nodejs.version; in { age.secrets.codeberg-runner.file = ../../secrets/codeberg-runner.age; services.gitea-actions-runner = { package = pkgs.forgejo-runner; instances.codeberg = { name = config.networking.hostName; enable = true; url = "https://codeberg.org"; tokenFile = config.age.secrets.codeberg-runner.path; labels = [ "docker:docker://node:${nodeMajorVersion}-alpine" "alpine-latest:docker://node:${nodeMajorVersion}-alpine" "nixos:host" ]; hostPackages = with pkgs; [ bash coreutils curl gawk config.programs.git.package gnused nix nodejs wget ]; }; }; virtualisation.podman.enable = true; virtualisation.containers = { enable = true; policy = { default = [ { type = "insecureAcceptAnything"; } ]; }; }; virtualisation.podman = { autoPrune = { enable = true; }; }; users.users.alin.extraGroups = [ "podman" ]; networking.firewall.trustedInterfaces = [ "podman0" ]; }