Files
nixfiles/system/machine/MacPro31

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 a hand-written placeholder. On the real machine, run nixos-generate-config, replace the file, and commit it. It assumes by-label partitions — ESP ESP (vfat, mounted at /boot), root nixos (ext4), and swap — so either label them at install time or swap in the generated UUIDs.

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.

Apply

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