github-runners.nix
1 { 2 config, 3 pkgs, 4 ... 5 }: 6 { 7 services.github-runners = { 8 nixos-1 = { 9 enable = config.networking.hostName == "framework-desktop"; 10 # enable = false; 11 # group = null; 12 replace = true; 13 # name = "nixos"; # defaults to hostname, changing this triggers new registration 14 # workDir = null; # triggers new registration on change 15 user = "mfarabi"; 16 ephemeral = false; 17 # runnerGroup = "self-hosted"; 18 url = "https://github.com/apidae-systems/platform"; 19 tokenFile = "/var/lib/secrets/github-actions-runner.token"; 20 21 extraLabels = [ 22 "nixos" 23 ]; 24 25 nodeRuntimes = [ 26 "node24" 27 ]; 28 29 extraPackages = with pkgs; [ 30 jq 31 pnpm 32 xvfb 33 pulumi 34 devenv 35 direnv 36 platformio 37 playwright 38 playwright-test 39 ]; 40 41 # extraEnvironment = { 42 # PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS = "true"; 43 # PLAYWRIGHT_NODEJS_PATH = "${pkgs.nodejs_24}/bin/node"; 44 # }; 45 46 serviceOverrides = { 47 PrivateUsers = false; 48 SystemCallFilter = ""; 49 RestrictNamespaces = false; 50 SystemCallArchitectures = "native"; 51 }; 52 }; 53 54 # nixos-2 = { 55 # enable = config.networking.hostName == "framework-desktop"; 56 # # workDir = null; # triggers new registration on change 57 # replace = true; 58 # user = "mfarabi"; 59 # ephemeral = true; 60 # url = "https://github.com/apidae-systems/platform"; 61 # tokenFile = "/var/lib/secrets/github-actions-runner.token"; 62 # 63 # extraLabels = [ 64 # "nixos" 65 # ]; 66 # 67 # extraPackages = with pkgs; [ 68 # devenv 69 # ]; 70 # 71 # serviceOverrides = { 72 # PrivateUsers = false; 73 # SystemCallFilter = ""; 74 # RestrictNamespaces = false; 75 # SystemCallArchitectures = "native"; 76 # }; 77 # }; 78 79 # nixos-3 = { 80 # enable = config.networking.hostName == "framework-desktop"; 81 # # workDir = null; # triggers new registration on change 82 # replace = true; 83 # user = "mfarabi"; 84 # ephemeral = true; 85 # url = "https://github.com/apidae-systems/platform"; 86 # tokenFile = "/var/lib/secrets/github-actions-runner.token"; 87 88 # extraLabels = [ 89 # "nixos" 90 # ]; 91 92 # extraPackages = with pkgs; [ 93 # devenv 94 # ]; 95 96 # serviceOverrides = { 97 # PrivateUsers = false; 98 # SystemCallFilter = ""; 99 # RestrictNamespaces = false; 100 # SystemCallArchitectures = "native"; 101 # }; 102 # }; 103 104 # nixos-4 = { 105 # enable = config.networking.hostName == "framework-desktop"; 106 # # workDir = null; # triggers new registration on change 107 # replace = true; 108 # user = "mfarabi"; 109 # ephemeral = true; 110 # url = "https://github.com/apidae-systems/platform"; 111 # tokenFile = "/var/lib/secrets/github-actions-runner.token"; 112 113 # extraLabels = [ 114 # "nixos" 115 # ]; 116 117 # extraPackages = with pkgs; [ 118 # devenv 119 # ]; 120 121 # serviceOverrides = { 122 # PrivateUsers = false; 123 # SystemCallFilter = ""; 124 # RestrictNamespaces = false; 125 # SystemCallArchitectures = "native"; 126 # }; 127 # }; 128 }; 129 }