nixos: Add Gitea VM
This commit is contained in:
		@@ -63,7 +63,6 @@ in
 | 
			
		||||
          "${modulesPath}/profiles/qemu-guest.nix"
 | 
			
		||||
 | 
			
		||||
          ./valheim.nix
 | 
			
		||||
          ./gitea-actions.nix
 | 
			
		||||
        ];
 | 
			
		||||
 | 
			
		||||
        config = mkMerge [
 | 
			
		||||
 
 | 
			
		||||
@@ -1,78 +0,0 @@
 | 
			
		||||
{ lib, pkgs, config, ... }:
 | 
			
		||||
let
 | 
			
		||||
  inherit (builtins) toJSON;
 | 
			
		||||
  inherit (lib) mkForce;
 | 
			
		||||
  inherit (lib.my.c) pubDomain;
 | 
			
		||||
 | 
			
		||||
  cfgFile = pkgs.writeText "gitea-actions-runner.yaml" (toJSON {
 | 
			
		||||
    container = {
 | 
			
		||||
      network = "colony";
 | 
			
		||||
      privileged = true;
 | 
			
		||||
    };
 | 
			
		||||
    cache = {
 | 
			
		||||
      enabled = true;
 | 
			
		||||
      dir = "/var/cache/gitea-runner";
 | 
			
		||||
    };
 | 
			
		||||
  });
 | 
			
		||||
in
 | 
			
		||||
{
 | 
			
		||||
  config = {
 | 
			
		||||
    fileSystems = {
 | 
			
		||||
      "/var/cache/gitea-runner" = {
 | 
			
		||||
        device = "/dev/disk/by-label/actions-cache";
 | 
			
		||||
        fsType = "ext4";
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    services = {
 | 
			
		||||
      gitea-actions-runner.instances = {
 | 
			
		||||
        main = {
 | 
			
		||||
          enable = true;
 | 
			
		||||
          name = "main-docker";
 | 
			
		||||
          labels = [
 | 
			
		||||
            "debian-node-bullseye:docker://node:18-bullseye"
 | 
			
		||||
            "ubuntu-22.04:docker://git.nul.ie/dev/actions-ubuntu:22.04"
 | 
			
		||||
          ];
 | 
			
		||||
          url = "https://git.${pubDomain}";
 | 
			
		||||
          tokenFile = config.age.secrets."gitea/actions-runner.env".path;
 | 
			
		||||
        };
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    users = with lib.my.c.ids; {
 | 
			
		||||
      users = {
 | 
			
		||||
        gitea-runner = {
 | 
			
		||||
          isSystemUser = true;
 | 
			
		||||
          uid = uids.gitea-runner;
 | 
			
		||||
          group = "gitea-runner";
 | 
			
		||||
          home = "/var/lib/gitea-runner";
 | 
			
		||||
        };
 | 
			
		||||
      };
 | 
			
		||||
      groups = {
 | 
			
		||||
        gitea-runner.gid = gids.gitea-runner;
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    systemd = {
 | 
			
		||||
      services = {
 | 
			
		||||
        gitea-runner-main.serviceConfig = {
 | 
			
		||||
          # Needs to be able to read its secrets
 | 
			
		||||
          CacheDirectory = "gitea-runner";
 | 
			
		||||
          DynamicUser = mkForce false;
 | 
			
		||||
          User = "gitea-runner";
 | 
			
		||||
          Group = "gitea-runner";
 | 
			
		||||
          ExecStart = mkForce "${config.services.gitea-actions-runner.package}/bin/act_runner -c ${cfgFile} daemon";
 | 
			
		||||
        };
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    my = {
 | 
			
		||||
      secrets.files = {
 | 
			
		||||
        "gitea/actions-runner.env" = {
 | 
			
		||||
          owner = "gitea-runner";
 | 
			
		||||
          group = "gitea-runner";
 | 
			
		||||
        };
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user