Files
nix-config/docs/systems/macbook-pro-nixos.md
mjallen18 70002a19e2 hmm
2026-04-07 18:39:42 -05:00

2.1 KiB
Executable File

MacBook Pro — NixOS / Asahi Linux (macbook-pro-nixos)

systems/aarch64-linux/macbook-pro-nixos/

Hardware

  • Device: Apple Silicon MacBook Pro (M-series)
  • OS: NixOS via Asahi Linux (nixos-apple-silicon)
  • Boot: Asahi boot chain (not traditional EFI)

Key Features

  • Asahi Linux kernel with full Apple Silicon support (sound, GPU, etc.)
  • GNOME as the primary desktop; Hyprland available but disabled
  • x86_64 emulation via binfmt (enables running x86 binaries)
  • Waydroid and libvirtd available (Waydroid disabled by default)
  • Battery management — charge threshold set via macsmc-battery
  • Omnissa Horizon client (custom package) for remote desktop
  • Distrobox for containerised Linux environments
  • iwd as the Wi-Fi backend

x86_64 Emulation

nix.settings.extra-platforms = [ "x86_64-linux" ];
boot.binfmt.emulatedSystems   = [ "x86_64-linux" ];

This allows building and running x86_64 packages on the ARM host.

Asahi Hardware

The Asahi hardware module provides:

  • Firmware loading from ./firmware/
  • Sound setup (setupAsahiSound = true)
  • Apple-specific kernel patches and device drivers

Useful packages installed: asahi-bless, asahi-btsync, asahi-nvram, asahi-wifisync, apfs-fuse, apfsprogs, muvm, fex

Network

  • Hostname: macbook-pro-nixos
  • Wi-Fi backend: iwd (via NetworkManager)
  • Firewall: extra rules for multicast (ports 1990, 2021)

Battery Management

mjallen.hardware.battery = {
  enable = true;
  chargeLimitPath = "/sys/class/power_supply/macsmc-battery/charge_control_end_threshold";
};

Configuration Files

File Purpose
default.nix Main config — Asahi hardware, users, network
boot.nix Asahi boot configuration
filesystems.nix Disk layout
hardware-configuration.nix Generated hardware config
services.nix logind, GDM, GNOME, Flatpak, power settings
firmware/ Asahi firmware blobs

Secrets

Secrets are in secrets/mac-secrets.yaml, encrypted for: matt, matt_pi5, desktop, pi5, admin, jallen-nas, matt_macbook-pro, macbook-pro.