Archived
Check NixOS configurations / eval-hosts (pull_request) Successful in 10m45s
The systemd-based initrd (default here, since this host has a ZFS root) locks the root account by default, so sulogin refuses a shell if something in the initrd fails and it drops to emergency mode -- confirmed live: it just loops re-entering the target instead of prompting, making an initrd-level ZFS import failure impossible to diagnose from the console. Only affects the pre-switch-root initrd shell, not the installed system's own login.
39 lines
1.5 KiB
Nix
39 lines
1.5 KiB
Nix
{ ... }:
|
|
|
|
{
|
|
imports = [
|
|
../hardware-configuration/baremetal.nix
|
|
../boot/efi.nix
|
|
../disko/baremetal.nix
|
|
../services/zfs/enable-service.nix
|
|
];
|
|
|
|
# Needed for real wifi/bluetooth/GPU firmware blobs and CPU microcode
|
|
# updates (hardware-configuration/baremetal.nix's amd.updateMicrocode
|
|
# keys off this) -- irrelevant on the linode/proxmox/lxc platforms,
|
|
# which are all VMs with no real hardware to load firmware for.
|
|
hardware.enableRedistributableFirmware = true;
|
|
|
|
# AMD GPU: the amdgpu kernel driver autoloads from the PCI ID with no
|
|
# extra boot.kernelModules entry needed; this is the userspace half --
|
|
# the dedicated Xorg driver (not just the generic modesetting fallback)
|
|
# plus Mesa OpenGL/Vulkan (amdgpu/RADV), same firmware blobs as above.
|
|
# 32-bit support is for compatibility with 32-bit apps/games.
|
|
services.xserver.videoDrivers = [ "amdgpu" ];
|
|
|
|
hardware.graphics = {
|
|
enable = true;
|
|
enable32Bit = true;
|
|
};
|
|
|
|
# The systemd-based initrd (default here since this host has a ZFS root --
|
|
# see modules/disko/baremetal.nix) locks the root account by default, so
|
|
# sulogin refuses to hand over a shell if something in the initrd (e.g.
|
|
# the ZFS pool import) fails and it drops to emergency mode -- confirmed
|
|
# live: it just loops re-entering the target instead of prompting. This
|
|
# only affects the pre-switch-root initrd shell, not the installed
|
|
# system's own login, and is worth the tradeoff on a box already reachable
|
|
# at the physical console.
|
|
boot.initrd.systemd.emergencyAccess = true;
|
|
}
|