Files
nixos/hosts/myself/default.nix
T

132 lines
3.0 KiB
Nix
Raw Normal View History

2023-12-12 16:25:58 -06:00
{ config, pkgs, lib, ... }:
{
imports = [
./hardware-configuration.nix
];
environment.systemPackages = with pkgs; [
git
(python3.withPackages (p: with p; [ pip virtualenv ]))
tmux
tree
vim
xonsh
];
services = {
openssh.enable = true;
};
systemd.services = let
def = id: {
enable = true;
ephemeral = false;
extraEnvironment = {
HTTP_PORT_MIN = builtins.toString (8000 + id);
HTTP_PORT_MAX = builtins.toString (8000 + id);
};
extraLabels = [ "nixos" "isaiah" ];
extraPackages = with pkgs; [
config.virtualisation.virtualbox.host.package
curl
gawk
packer
pup
(python3.withPackages (p: with p; [ pip virtualenv ]))
qemu_full
qemu_kvm
xonsh
xorriso
];
name = "isaiah-nix-${builtins.toString id}";
nodeRuntimes = [ "node20" ];
package = pkgs.github-runner;
replace = true;
runnerGroup = null;
serviceOverrides = {
Group = "vboxusers";
};
tokenFile = "/etc/github_token";
user = "runner";
url = "https://github.com/greg-hellings/vms";
workDir = "/home/runner/${builtins.toString id}";
};
runner = (import ./runner.nix);
in {
gh-one = (runner { inherit config lib pkgs; svcName = "gh-one"; cfg = def 1; });
gh-two = (runner { inherit config lib pkgs; svcName = "gh-two"; cfg = def 2; });
gh-three = (runner { inherit config lib pkgs; svcName = "gh-three"; cfg = def 3; });
gh-four = (runner { inherit config lib pkgs; svcName = "gh-four"; cfg = def 4; });
gh-five = (runner { inherit config lib pkgs; svcName = "gh-five"; cfg = def 5; });
};
networking = {
hostName = "myself";
useDHCP = false;
defaultGateway = {
address = " 10.42.1.1";
interface = "enp38s0";
};
interfaces.enp38s0 = {
ipv4.addresses = [ {
address = "10.42.1.6";
prefixLength = 16;
} ];
};
nameservers = [
"10.42.1.5"
];
};
virtualisation = {
libvirtd = {
enable = false;
onBoot = "ignore";
};
virtualbox.host = {
enable = true;
enableExtensionPack = true;
};
};
users = {
users = {
runner = {
extraGroups = [
"kvm"
"vboxusers"
];
group = "runner";
isNormalUser = true;
};
greg = {
extraGroups = [
"kvm"
"sudo"
"vboxusers"
"wheel"
];
isNormalUser = true;
};
};
groups.runner = {};
};
system.stateVersion = lib.mkForce "24.05";
boot = {
extraModprobeConfig = "options kvm_amd nested=1 vboxdrv";
supportedFilesystems = [ "ntfs" ];
loader = {
efi = {
canTouchEfiVariables = true;
efiSysMountPoint = "/boot";
};
systemd-boot = {
enable = true;
configurationLimit = 10;
};
};
};
nixpkgs.config = {
allowUnfree = true;
permittedInsecurePackages = [
"nodejs-16.20.2"
];
};
}