Turn the booted laptop into a usable, remotely reachable console: enable NetworkManager so wifi can be joined from the console and an SSH daemon so the rest of the setup can be driven over the network. Set the base locale to timezone America/New_York, locale en_GB.UTF-8, and console keymap us. These live inline in the neogaia Host rather than behind enable Modules, matching the single-Host MVI precedent; a shared locale/networking Module can be extracted once a second Host needs the same settings. SSH keeps default password auth on, as first-boot access relies on the hand-set bootstrap password until key/sops-based auth lands post-install.
43 lines
1.4 KiB
Nix
43 lines
1.4 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;
|
|
|
|
# neogaia runs the CachyOS kernel, selected per-Host via boot.kernelPackages.
|
|
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 rather than an on-disk partition.
|
|
zramSwap.enable = true;
|
|
|
|
# NetworkManager drives the wifi so it can be joined from the console.
|
|
networking.networkmanager.enable = true;
|
|
|
|
# An SSH daemon so the rest of the setup can be driven over the network.
|
|
services.openssh.enable = true;
|
|
|
|
# Locale preferences for the base system.
|
|
time.timeZone = "America/New_York";
|
|
i18n.defaultLocale = "en_GB.UTF-8";
|
|
console.keyMap = "us";
|
|
}
|