nixos-config/config/hardware/locum.nix

74 lines
1.9 KiB
Nix
Raw Normal View History

2023-10-14 16:15:26 -07:00
{ config, lib, pkgs, modulesPath, ... }:
let generateMac = pkgs.lib.network.generate-mac-address;
in {
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
config = {
boot = {
initrd.availableKernelModules = [ "ahci" "xhci_pci" ];
kernelModules = [ "kvm-intel" ];
loader.grub = {
enable = true;
device =
"/dev/disk/by-id/ata-Samsung_SSD_870_EVO_250GB_S6PENX0T445931Y";
};
kernelPackages = pkgs.linuxPackages_latest;
};
system.stateVersion = "23.05";
fileSystems = {
"/" = {
device = "locum-root";
fsType = "tmpfs";
options = [ "mode=755" "size=16G" "noexec" ];
};
"/boot" = {
device = "/dev/disk/by-label/locum-boot";
fsType = "ext4";
options = [ "noatime" "noexec" ];
};
"/state" = {
device = "/dev/disk/by-label/locum-data";
fsType = "btrfs";
options = [ "noatime" "compress=zstd" "noexec" "subvol=@state" ];
};
"/nix" = {
device = "/dev/disk/by-label/locum-data";
fsType = "btrfs";
options = [ "noatime" "compress=zstd" "subvol=@nix" ];
};
"/home" = {
device = "/dev/disk/by-label/locum-data";
fsType = "btrfs";
options = [ "noatime" "compress=zstd" "subvol=@home" ];
};
"/var/log" = {
device = "/dev/disk/by-label/locum-data";
fsType = "btrfs";
options = [ "noatime" "compress=zstd" "noexec" "subvol=@logs" ];
};
};
swapDevices = [{ device = "/dev/disk/by-label/locum-swap"; }];
nix.settings.max-jobs = lib.mkDefault 16;
networking = {
useDHCP = false;
macvlans = {
extif0 = {
interface = "eno1";
mode = "bridge";
};
};
interfaces.extif0 = {
macAddress = generateMac config.instance.hostname "extif0";
};
};
};
}