56 lines
1.2 KiB
Nix
Executable file
56 lines
1.2 KiB
Nix
Executable file
{ lib, pkgs, config, ... }:
|
|
|
|
with lib;
|
|
let
|
|
cfg = config.modules.github-runners;
|
|
extraPackages =
|
|
let gtar = pkgs.runCommandNoCC "gtar" { } ''
|
|
mkdir -p $out/bin
|
|
ln -s ${lib.getExe pkgs.gnutar} $out/bin/gtar
|
|
'';
|
|
in
|
|
with pkgs; [
|
|
nix
|
|
nixci
|
|
cachix
|
|
coreutils
|
|
which
|
|
jq
|
|
gtar
|
|
docker
|
|
curl
|
|
];
|
|
in
|
|
{
|
|
options = {
|
|
modules = {
|
|
github-runners = {
|
|
enable = mkEnableOption "Deploy github runners";
|
|
};
|
|
};
|
|
};
|
|
|
|
config = mkIf cfg.enable {
|
|
services.github-runners = {
|
|
simplelink = {
|
|
enable = true;
|
|
name = "simplelink-" + config.networking.hostName;
|
|
url = "https://github.com/waveringana/simplelink";
|
|
tokenFile = config.age.secrets."build-token".path;
|
|
user = "regent";
|
|
group = "docker";
|
|
extraPackages = extraPackages;
|
|
};
|
|
embedder = {
|
|
enable = true;
|
|
name = "embedder-" + config.networking.hostName;
|
|
url = "https://github.com/waveringana/embedder";
|
|
tokenFile = config.age.secrets."build-token".path;
|
|
user = "regent";
|
|
group = "docker";
|
|
extraPackages = extraPackages;
|
|
};
|
|
};
|
|
};
|
|
}
|
|
|