feat: add nas host
This commit is contained in:
72
hosts/nas/hardware-configuration.nix
Normal file
72
hosts/nas/hardware-configuration.nix
Normal file
@@ -0,0 +1,72 @@
|
||||
# Hardware configuration for NAS
|
||||
# TODO: Update disk labels/UUIDs after installation
|
||||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
{
|
||||
imports = [
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.loader.systemd-boot = {
|
||||
enable = true;
|
||||
configurationLimit = 5;
|
||||
};
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "sd_mod" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-intel" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
# Tmpfs root filesystem (ephemeral - resets on reboot)
|
||||
fileSystems."/" = {
|
||||
device = "none";
|
||||
fsType = "tmpfs";
|
||||
options = [ "size=8G" "mode=755" ];
|
||||
};
|
||||
|
||||
# Boot partition - EFI
|
||||
fileSystems."/boot" = {
|
||||
device = "/dev/disk/by-partlabel/BOOT";
|
||||
fsType = "vfat";
|
||||
};
|
||||
|
||||
fileSystems."/nix" = {
|
||||
device = "/dev/disk/by-partlabel/NIXOS";
|
||||
fsType = "btrfs";
|
||||
neededForBoot = true;
|
||||
options = [
|
||||
"subvol=@"
|
||||
"compress=zstd:1"
|
||||
"noatime"
|
||||
"commit=120"
|
||||
];
|
||||
};
|
||||
|
||||
fileSystems."/nix/store" = {
|
||||
device = "/dev/disk/by-partlabel/NIXOS";
|
||||
fsType = "btrfs";
|
||||
neededForBoot = true;
|
||||
options = [
|
||||
"subvol=@nix-store"
|
||||
"compress=zstd:1"
|
||||
"noatime"
|
||||
"commit=120"
|
||||
];
|
||||
};
|
||||
|
||||
fileSystems."/nix/persist" = {
|
||||
device = "/dev/disk/by-partlabel/NIXOS";
|
||||
fsType = "btrfs";
|
||||
neededForBoot = true;
|
||||
options = [
|
||||
"subvol=@nix-persist"
|
||||
"compress=zstd:1"
|
||||
"noatime"
|
||||
"commit=120"
|
||||
];
|
||||
};
|
||||
|
||||
# DHCP networking
|
||||
networking.useDHCP = lib.mkDefault true;
|
||||
|
||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
}
|
||||
Reference in New Issue
Block a user