31 lines
785 B
Nix
31 lines
785 B
Nix
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}:
|
|
|
|
with lib;
|
|
|
|
let
|
|
cfg = config.ugaif.sw;
|
|
builderCfg = cfg.builders;
|
|
in
|
|
mkIf builderCfg.githubRunner.enable {
|
|
services.github-runners.${builderCfg.githubRunner.name} = {
|
|
enable = true;
|
|
url = builderCfg.githubRunner.url;
|
|
tokenFile = builderCfg.githubRunner.tokenFile;
|
|
extraLabels = builderCfg.githubRunner.extraLabels;
|
|
user = builderCfg.githubRunner.user;
|
|
workDir = builderCfg.githubRunner.workDir;
|
|
replace = true;
|
|
};
|
|
|
|
# Add systemd condition to only start the service if token file exists
|
|
# This allows graceful deployment before the token is manually installed
|
|
systemd.services."github-runner-${builderCfg.githubRunner.name}".unitConfig = {
|
|
ConditionPathExists = builderCfg.githubRunner.tokenFile;
|
|
};
|
|
}
|