Files
nixos/hosts/myself/container-runner-qemu.nix
T
2023-12-27 20:27:38 -06:00

63 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
vagrant
xonsh
xorriso
];
in {
imports = [
inputs.agenix.nixosModules.default
];
age.identityPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
age.secrets.qemu-runner-reg-1 = {
file = ../../secrets/gitlab/myself-qemu-runner-reg-1.age;
owner = "root";
};
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.shell = {
executor = "shell";
registrationConfigFile = config.age.secrets.qemu-runner-reg-1.path;
tagList = [ "shell" "qemu" ];
};
};
virtualisation.libvirtd = {
enable = true;
onBoot = "ignore";
};
systemd.services = {
gitlab-runner = {
wants = [ "network-online.target" "systemd-resolved.service" ];
after = [ "network.target" "network-online.target" "systemd-resolved.service" ];
};
libvirtd.serviceConfig = {
DevicePolicy = "auto";
DeviceAllow = [ "/dev/kvm" "/dev/mem" ];
PrivateDevices = false;
ProtectKernelModules = false;
};
};
system.stateVersion = "24.05";
}