Files
nixfiles/system/machine/MacPro31/README.md
T
Emma Thorpe 6356e07364 feat(nixos): disk hygiene, dedupe shared options, fix MacPro docs
- common-nixos: nix.settings.auto-optimise-store + larger download buffer.
- workstation: fstrim, boot.tmp.cleanOnBoot, and the shared graphical
  options moved here from the per-host configs (pipewire, swaylock PAM
  stub, redistributable firmware) -- MBP-Asahi gains audio it lacked.
- T400: zramSwap for the low-RAM host.
- MBP-Asahi: nixos-apple-silicon binary cache substituter.
- MacPro31 README: describe the real (LVM/UUID) hardware config; it is no
  longer a placeholder.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-10 14:56:58 +01:00

2.1 KiB

Mac Pro 3,1 (Early 2008) — install notes

Flake host: lyrathorpe-macpro31. Desktop (portable = false, imports ../../modules/desktop.nix). Files: configuration.nix, hardware-configuration.nix.

Hardware configuration

hardware-configuration.nix here is the real config generated by nixos-generate-config on the machine. Root is an LVM logical volume (/dev/mapper/MacPro-Root, ext4); the ESP (vfat) and swap are referenced by UUID. The initrd carries dm-snapshot for the LVM root. Regenerate and commit if the disk layout changes.

Bootloader

The Mac Pro 3,1 has 64-bit EFI, so it uses systemd-boot (no GRUB/CSM shim). canTouchEfiVariables = false because Apple's firmware does not reliably accept efibootmgr NVRAM writes.

Apple-EFI quirk: if the firmware boot picker does not show NixOS after install, either

  • uncomment boot.loader.efi.efiInstallAsRemovable = true; in configuration.nix (installs the fallback \EFI\BOOT\BOOTX64.EFI), and/or
  • "bless" the ESP from macOS.

Partition the disk GPT with an ESP (vfat).

Graphics

The stock card varies between units — ATI Radeon HD 2600 XT or NVIDIA GeForce 8800 GT. No proprietary driver is hardcoded; Sway relies on in-tree KMS:

  • ATI Radeon HD 2600 XT → radeon (or amdgpu) KMS
  • NVIDIA GeForce 8800 GT → nouveau KMS

These come up automatically. If a card needs forcing, set services.xserver.videoDrivers and/or add the module to boot.initrd.kernelModules for early KMS (see the comment in configuration.nix).

Networking

Wired Ethernet via NetworkManager (from desktop.nix) — the Mac Pro has two gigabit ports.

Login

Graphical login via a Wayland greeter — greetd running ReGreet inside the cage kiosk compositor — configured centrally in lyrathorpe/swaywm.nix for every Sway host (gated on features.swayDesktop.enable). The greeter is forced to the Dvorak layout to match the console and Sway session. Set the user password (passwd lyrathorpe) after install, or the greeter cannot authenticate. Requires working KMS (radeon/nouveau — see Graphics).

Apply

sudo nixos-rebuild switch --flake .#lyrathorpe-macpro31