nix-config/nixos/server/skull/default.nix
2024-05-23 15:02:20 -04:00

60 lines
1.6 KiB
Nix

# Intel Skull Canyon NUC6i7KYK
{ inputs, lib, ... }:
{
imports = [
inputs.nixos-hardware.nixosModules.common-cpu-intel
inputs.nixos-hardware.nixosModules.common-gpu-intel
inputs.nixos-hardware.nixosModules.common-pc
inputs.nixos-hardware.nixosModules.common-pc-ssd
(import ./disks.nix { })
../_mixins/hardware/systemd-boot.nix
../_mixins/services/bluetooth.nix
../_mixins/services/maestral.nix
../_mixins/services/zerotier.nix
../_mixins/virt
];
# disko does manage mounting of / /boot /home, but I want to mount by-partlabel
fileSystems."/" = lib.mkForce {
device = "/dev/disk/by-partlabel/root";
fsType = "xfs";
options = [ "defaults" "relatime" "nodiratime" ];
};
fileSystems."/boot" = lib.mkForce {
device = "/dev/disk/by-partlabel/ESP";
fsType = "vfat";
};
fileSystems."/home" = lib.mkForce {
device = "/dev/disk/by-partlabel/home";
fsType = "xfs";
options = [ "defaults" "relatime" "nodiratime" ];
};
swapDevices = [{
device = "/swap";
size = 2048;
}];
boot = {
initrd.availableKernelModules = [ "xhci_pci" "nvme" "usbhid" "uas" "sd_mod" ];
kernelModules = [ "kvm-intel" ];
};
# Use passed hostname to configure basic networking
networking = {
defaultGateway = "192.168.2.1";
interfaces.eno1.ipv4.addresses = [{
address = "192.168.2.17";
prefixLength = 24;
}];
nameservers = [ "192.168.2.1" ];
useDHCP = lib.mkForce false;
};
services.hardware.bolt.enable = true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
}