Files
nixos/hosts/jeremiah/default.nix
T

132 lines
3.1 KiB
Nix
Raw Normal View History

2024-04-16 08:34:06 -05:00
# Edit this configuration file to define what should be installed on
2024-05-06 13:30:36 -05:00
# your system. Help is available in the configuration.nix(5) man page
2024-04-16 08:34:06 -05:00
# and in the NixOS manual (accessible by running nixos-help).
2024-06-21 13:02:13 -05:00
{ config, pkgs, lib, ... }:
2024-04-16 08:34:06 -05:00
{
imports =
[
# Include the results of the hardware scan.
./ceph.nix
./hardware-configuration.nix
./minio.nix
];
2024-04-16 08:34:06 -05:00
# Bootloader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
2024-04-16 08:34:06 -05:00
networking = {
hostName = "jeremiah"; # Define your hostname.
useDHCP = false;
defaultGateway = {
address = " 10.42.1.1";
interface = "enp68s0";
};
vlans = {
san = {
id = 616;
interface = "enp67s0";
};
};
interfaces = {
enp68s0 = {
ipv4.addresses = [{
address = "10.42.1.8";
prefixLength = 16;
}
{
address = "10.42.100.1";
prefixLength = 16;
}];
};
san = {
ipv4.addresses = [{
address = "10.201.1.2";
prefixLength = 24;
}];
};
};
nameservers = [
"10.42.1.5"
];
};
greg = {
home = true;
tailscale.enable = true;
};
environment.systemPackages = with pkgs; [
curl
gawk
git
unzip
wget
];
2024-06-21 13:02:13 -05:00
fileSystems = {
"/nix" = {
fsType = "btrfs";
options = [ "subvol=nix" ];
device = "/dev/nvme0n1p1";
};
"/var" = {
fsType = "btrfs";
options = [ "subvol=var" ];
device = "/dev/nvme0n1p1";
};
};
2024-06-21 13:02:13 -05:00
#####################################################################################
#################### Virtualbox Runner ##############################################
#####################################################################################
services = {
gitlab-runner = {
enable = true;
settings.concurrent = 7;
services = {
shell = {
executor = "shell";
limit = 5;
authenticationTokenConfigFile = config.age.secrets.runner-reg.path;
environmentVariables = {
EFI_DIR = "${pkgs.OVMF.fd}/FV/";
STORAGE_URL = "http://s3.thehellings.lan:9000";
};
};
};
};
};
age.secrets.runner-reg.file = ../../secrets/gitlab/jeremiah-runner-reg.age;
virtualisation.virtualbox.host = {
enable = true;
enableExtensionPack = true;
enableHardening = false;
headless = true;
enableWebService = true;
};
systemd.services."gitlab-runner" = {
after = [
"network.target"
"network-online.target"
"systemd-resolved.service"
];
wants = [
"network-online.target"
"systemd-resolved.service"
];
preStart = builtins.concatStringsSep "\n" [
"${pkgs.kmod}/bin/modprobe vboxdrv"
"${pkgs.kmod}/bin/modprobe vboxnetadp"
"${pkgs.kmod}/bin/modprobe vboxnetflt"
];
postStop = "${pkgs.kmod}/bin/rmmod vboxnetadp vboxnetflt vboxdrv";
serviceConfig = {
DevicePolicy = lib.mkForce "auto";
User = "root";
DynamicUser = lib.mkForce false;
};
};
2024-04-16 08:34:06 -05:00
}