fixes and docs
This commit is contained in:
69
docs/systems/macbook-pro-nixos.md
Normal file
69
docs/systems/macbook-pro-nixos.md
Normal file
@@ -0,0 +1,69 @@
|
||||
# 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](https://asahilinux.org/) (`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
|
||||
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
|
||||
|
||||
```nix
|
||||
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`.
|
||||
Reference in New Issue
Block a user