80 lines
1.6 KiB
Nix
80 lines
1.6 KiB
Nix
{
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}: let
|
|
inherit (lib) mkDefault;
|
|
in {
|
|
imports = [
|
|
./options.nix
|
|
];
|
|
|
|
nixpkgs = {
|
|
hostPlatform = "x86_64-linux";
|
|
config = {
|
|
allowUnfree = true;
|
|
};
|
|
};
|
|
|
|
networking.hostName = "inkvine";
|
|
|
|
boot = {
|
|
initrd = {
|
|
availableKernelModules = ["nvme" "xhci_pci" "thunderbolt" "usb_storage" "sd_mod"];
|
|
luks.devices.root.device = "/dev/disk/by-label/CRYPT";
|
|
kernelModules = ["amdgpu"];
|
|
};
|
|
kernelPackages = pkgs.linuxPackages_latest;
|
|
loader = {
|
|
systemd-boot = {
|
|
enable = mkDefault true;
|
|
editor = false;
|
|
};
|
|
efi.canTouchEfiVariables = true;
|
|
};
|
|
};
|
|
|
|
fileSystems = {
|
|
"/boot" = {
|
|
device = "/dev/disk/by-label/BOOT";
|
|
fsType = "vfat";
|
|
};
|
|
"/" = {
|
|
device = "/dev/disk/by-label/ROOT";
|
|
fsType = "btrfs";
|
|
options = ["subvol=root" "compress=zstd" "noatime"];
|
|
};
|
|
"/nix" = {
|
|
device = "/dev/disk/by-label/ROOT";
|
|
fsType = "btrfs";
|
|
options = ["subvol=nix" "compress=zstd" "noatime"];
|
|
neededForBoot = true;
|
|
};
|
|
"/swap" = {
|
|
device = "/dev/disk/by-label/ROOT";
|
|
fsType = "btrfs";
|
|
options = ["subvol=swap" "noatime"];
|
|
};
|
|
};
|
|
swapDevices = [{device = "/swap/swapfile";}];
|
|
|
|
services = {
|
|
fwupd.enable = true;
|
|
power-profiles-daemon.enable = true;
|
|
btrfs.autoScrub = {
|
|
enable = true;
|
|
fileSystems = ["/"];
|
|
};
|
|
};
|
|
|
|
hardware = {
|
|
enableRedistributableFirmware = true;
|
|
enableAllFirmware = true;
|
|
cpu.amd.updateMicrocode = true;
|
|
|
|
graphics = {
|
|
enable = true;
|
|
enable32Bit = true;
|
|
};
|
|
};
|
|
}
|