NixOS-Config/hosts/firefly/system/hardware/default.nix
2024-10-24 05:54:26 -04:00

149 lines
4.8 KiB
Nix

{ config, lib, modulesPath, ... }:
{
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot = {
initrd = {
availableKernelModules = [
"nvme"
"xhci_pci"
"ahci"
"usbhid"
"usb_storage"
"sd_mod"
];
kernelModules = [
"dm-snapshot"
"vfio"
"vfio_pci"
"vfio_iommu_type1"
"kvm-amd"
];
};
};
fileSystems = {
"/" = {
device = "/dev/disk/by-uuid/bbfed7d1-62f2-4d8e-b63f-7f6ec932105b";
fsType = "btrfs";
options = [ "subvol=@" "noatime" "nodiratime" "discard" ];
};
"/home" = {
device = "/dev/disk/by-uuid/bbfed7d1-62f2-4d8e-b63f-7f6ec932105b";
fsType = "btrfs";
options = [ "subvol=@home" "noatime" "nodiratime" "discard" ];
};
"/nix" = {
device = "/dev/disk/by-uuid/bbfed7d1-62f2-4d8e-b63f-7f6ec932105b";
fsType = "btrfs";
options = [ "subvol=@nix" "noatime" "nodiratime" "discard" ];
};
"/var" = {
device = "/dev/disk/by-uuid/bbfed7d1-62f2-4d8e-b63f-7f6ec932105b";
fsType = "btrfs";
options = [ "subvol=@var" "noatime" "nodiratime" "discard" ];
};
"/.snapshots" = {
device = "/dev/disk/by-uuid/bbfed7d1-62f2-4d8e-b63f-7f6ec932105b";
fsType = "btrfs";
options = [ "subvol=@snapshots" "noatime" "nodiratime" "discard" ];
};
"/boot" = {
device = "/dev/disk/by-uuid/3B4A-76C9";
fsType = "vfat";
options = [ "fmask=0022" "dmask=0022" ];
};
# Games and such
"/mnt/Linux1" = {
device = "/dev/disk/by-uuid/b2901f8c-ffda-4b88-bb63-a9ea0c96ccb4";
options = [ "nosuid" "nodev" "nofail" "x-gvfs-show" ];
};
"/mnt/Linux2" = {
device = "/dev/disk/by-uuid/f08e4f38-162c-402f-ba2a-5925151b78bf";
options = [ "nosuid" "nodev" "nofail" "x-gvfs-show" ];
};
"/mnt/Windows1" = {
device = "/dev/disk/by-uuid/10BC97B2BC979138";
options = [ "nosuid" "nodev" "noauto" ];
};
"/mnt/Windows2" = {
device = "/dev/disk/by-uuid/0A5A3420237C863A";
options = [ "nosuid" "nodev" "noauto" ];
};
# Miscellaneous mounts
"/etc/libvirt" = {
device = "/dev/disk/by-uuid/f18a0302-9914-471d-828c-85ab1a67a8be";
options = [ "nosuid" "nodev" "nofail" ];
};
"/etc/libvirt/VMs/Bulk" = {
depends = [ "/etc/libvirt" ];
device = "/dev/disk/by-uuid/3eb36c3e-81ac-4281-89f0-c89242d88dd6";
options = [ "nosuid" "nodev" "nofail" ];
};
"/var/lib/libvirt" = {
depends = [ "/etc/libvirt" ];
device = "/etc/libvirt/varlibvirt";
options = [ "bind" "rw" ];
};
# Network mounts
"/home/jimbo/JimboNFS/Downloads" = {
device = "${config.ips.server}:/export/JimboNFS/Downloads";
fsType = "nfs4";
options = [ "x-systemd.automount" "_netdev" "nofail" "noauto" ];
};
"/home/jimbo/JimboNFS/Documents" = {
device = "${config.ips.server}:/export/JimboNFS/Documents";
fsType = "nfs4";
options = [ "x-systemd.automount" "_netdev" "nofail" "noauto" ];
};
"/home/jimbo/JimboNFS/Photos" = {
device = "${config.ips.server}:/export/JimboNFS/Photos";
fsType = "nfs4";
options = [ "x-systemd.automount" "_netdev" "nofail" "noauto" ];
};
"/home/jimbo/JimboNFS/Videos/Random" = {
device = "${config.ips.server}:/export/JimboNFS/Videos/Random";
fsType = "nfs4";
options = [ "x-systemd.automount" "_netdev" "nofail" "noauto" ];
};
"/home/jimbo/JimboNFS/Videos/Media" = {
device = "${config.ips.server}:/export/JimboNFS/Videos/Media";
fsType = "nfs4";
options = [ "x-systemd.automount" "_netdev" "nofail" "noauto" ];
};
"/home/jimbo/JimboNFS/Music/Synced" = {
device = "${config.ips.server}:/export/JimboNFS/Music/Synced";
fsType = "nfs4";
options = [ "x-systemd.automount" "_netdev" "nofail" "noauto" ];
};
"/home/jimbo/JimboNFS/Music/Unsynced" = {
device = "${config.ips.server}:/export/JimboNFS/Music/Unsynced";
fsType = "nfs4";
options = [ "x-systemd.automount" "_netdev" "nofail" "noauto" ];
};
"/home/jimbo/JimboNFS/Projects" = {
device = "${config.ips.server}:/export/JimboNFS/Projects";
fsType = "nfs4";
options = [ "x-systemd.automount" "_netdev" "nofail" "noauto" ];
};
"/home/jimbo/JimboNFS/School" = {
device = "${config.ips.server}:/export/JimboNFS/School";
fsType = "nfs4";
options = [ "x-systemd.automount" "_netdev" "nofail" "noauto" ];
};
};
swapDevices = [
{ device = "/dev/disk/by-uuid/1a6a68d0-8ae7-4836-a585-b708597937a1"; }
];
networking.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}