Select the CachyOS kernel per-Host via boot.kernelPackages, enable Intel microcode and redistributable firmware (ath10k for the QCA6174 wifi), and move zram behind a toggle Module. Declare the chaotic binary cache in the base Nix settings (extra-substituters/keys) so the built system fetches the kernel from nyx-cache rather than compiling it.
36 lines
1.3 KiB
Nix
36 lines
1.3 KiB
Nix
{ pkgs, ... }:
|
|
# neogaia — Dell XPS 13 9380 laptop.
|
|
#
|
|
# The disk layout lives in ./disk.nix (disko); the resulting `fileSystems` are
|
|
# derived from it, so none are declared by hand here.
|
|
{
|
|
imports = [
|
|
./hardware-configuration.nix
|
|
./disk.nix
|
|
];
|
|
|
|
system.stateVersion = "26.05";
|
|
|
|
# systemd-boot on the EFI system partition disko creates. The initrd prompts
|
|
# for the LUKS passphrase (disko wires up boot.initrd.luks.devices), so a
|
|
# normal boot unlocks the encrypted root.
|
|
boot.loader.systemd-boot.enable = true;
|
|
boot.loader.efi.canTouchEfiVariables = true;
|
|
|
|
# Kernel is a per-Host choice, expressed through boot.kernelPackages: neogaia
|
|
# runs the CachyOS kernel from chaotic-nyx (fetched from the chaotic binary
|
|
# cache wired in system/, not compiled from source). Other Hosts pick their
|
|
# own kernel the same way, so the choice never leaves the Host.
|
|
boot.kernelPackages = pkgs.linuxPackages_cachyos;
|
|
|
|
# Intel CPU microcode updates for the XPS 13's Core i7-8565U.
|
|
hardware.cpu.intel.updateMicrocode = true;
|
|
|
|
# Redistributable firmware — carries the ath10k blobs the QCA6174 wifi needs.
|
|
hardware.enableRedistributableFirmware = true;
|
|
|
|
# Swap is RAM-backed zram (the zram Module) rather than an on-disk partition,
|
|
# matching the disko layout, which declares no swap partition.
|
|
modules.zram.enable = true;
|
|
}
|