64 lines
1.3 KiB
Nix
64 lines
1.3 KiB
Nix
inputs:
|
|
{ config, pkgs, ... }:
|
|
let
|
|
extraPackages = with pkgs; [
|
|
curl
|
|
gawk
|
|
git
|
|
packer
|
|
pup
|
|
(python3.withPackages (p: with p; [ pip pyyaml virtualenv ]))
|
|
qemu_full
|
|
qemu_kvm
|
|
shellcheck
|
|
xonsh
|
|
xorriso
|
|
];
|
|
in {
|
|
imports = [
|
|
inputs.agenix.nixosModules.default
|
|
];
|
|
age.identityPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
|
|
age.secrets = let
|
|
file = num: {
|
|
file = ../../secrets/gitlab/myself-qemu-runner-reg-${num}.age;
|
|
owner = "gitlab-runner";
|
|
};
|
|
in {
|
|
qemu-runner-reg-1 = file "1";
|
|
qemu-runner-reg-2 = file "2";
|
|
qemu-runner-reg-3 = file "3";
|
|
qemu-runner-reg-4 = file "4";
|
|
qemu-runner-reg-5 = file "5";
|
|
};
|
|
|
|
networking.useHostResolvConf = pkgs.lib.mkForce false;
|
|
networking.nameservers = [ "100.100.100.100" ];
|
|
services.resolved.enable = true;
|
|
|
|
environment.systemPackages = extraPackages;
|
|
|
|
services.gitlab-runner = {
|
|
enable = true;
|
|
settings.concurrent = 5;
|
|
services = let
|
|
r = num: {
|
|
executor = "shell";
|
|
registrationConfigFile = config.age.secrets."qemu-runner-reg-${num}".path;
|
|
tagList = [ "shell" "qemu" ];
|
|
};
|
|
in {
|
|
shell1 = r "1";
|
|
shell2 = r "2";
|
|
shell3 = r "3";
|
|
shell4 = r "4";
|
|
shell5 = r "5";
|
|
};
|
|
};
|
|
|
|
systemd.services.gitlab-runner.wants = [ "network-online.target" ];
|
|
systemd.services.gitlab-runner.after = [ "network.target" "network-online.target" ];
|
|
|
|
system.stateVersion = "24.05";
|
|
}
|