NixOS for Apple Hardware
Kita-flavoured bootable installer ISOs and declarative hardware flakes for Apple T2 Macs (2018–2020) and Apple Silicon (M1/M2/M3).
$ cat ./breakdown.md
Ready-to-Install Apple NixOS Images
Plug-and-play installer images ready to flash and boot out-of-the-box — no need to compile custom kernels or assemble complex flakes just to get an installer running on your Mac.
- Why not vanilla nixos-unstable: Upstream NixOS images lack Apple T2 and Asahi out-of-tree kernel modules, don't bundle non-free Broadcom Wi-Fi/BT firmware, and playing audio on raw Intel T2 hardware without calibrated PipeWire DSP curves risks physical speaker voice-coil damage.
- What the flakes do:
nixos-kait2enandnixos-apple-silicondeclaratively supply the exact kernel overlays, Apple BCE bus drivers, Touch Bar daemons (tiny-dfr), and audio DSP safety limits directly into your system'sconfiguration.nix.
KaiT2en Feature Breakdown
- Speaker DSP Safety: Hardware-matched parametric EQ curves and multi-band loudness limiters derived from macOS. Prevents voice-coil destruction while delivering rich stereo sound.
- Touch Bar (tiny-dfr): Rust-based daemon driving the OLED Touch Bar with Esc, full F1–F12 keys, media controls, and backlight brightness sliders.
- Apple BCE & VHCI: Direct interface with the T2 security coprocessor for internal APFS/NVMe SSD, battery thermals, and SPI keyboard/touchpad.
- Hybrid Dual-GPU: Automated dynamic switching between Intel UHD 630 iGPU and AMD Radeon Pro dGPU on 15" and 16" MacBook Pro models.
- Broadcom Firmware: BCM4364 / BCM4377 wireless and Bluetooth firmware embedded on the image (no external USB dongles required).
⚠️ Essential T2 Boot Requirement:
Apple T2 blocks external operating systems by default. Before booting:
- Hold Cmd + R on startup to enter macOS Recovery.
- Open Utilities → Startup Security Utility.
- Set Secure Boot to Medium Security (or No Security).
- Set Allowed Boot Media to Allow booting from external media.
- Reboot while holding Option (Alt) and select the EFI Boot drive.
$ ls -lh ./iso
Graphical live desktop with Calamares installer, preloaded Broadcom Wi-Fi/BT firmware, calibrated PipeWire speaker DSP, and Touch Bar controls.
Lean terminal installer. Contains full T2 kernel patches, internal NVMe support, and automatic Broadcom firmware loader for custom dotfile setups or headless rescue.
$ cat ./install-guide.md
Apple T2 (Intel) Quick Install
-
Boot from USB: Flash the ISO to a USB flash drive (via
ddor BalenaEtcher). Reboot while holdingOption (Alt), and select EFI Boot. -
Partition disk: Split your internal SSD (
/dev/nvme0n1) — on the Full GUI ISO, just launch the Calamares installer; on the Minimal ISO, partition withcgdisk /dev/nvme0n1and format root / EFI. -
Install & reboot: Run
nixos-install(or click Install in Calamares) and reboot into your fresh T2 NixOS system!
$ cat /etc/nixos/configuration.nix
# /etc/nixos/configuration.nix
{ config, pkgs, ... }:
{
imports = [
./hardware-configuration.nix
# KaiT2en Apple T2 hardware module (or inputs.nixos-kait2en.nixosModules.default if using flakes)
(builtins.fetchTarball "https://github.com/gmglbn-0/nixos-kait2en/archive/main.tar.gz")
];
# Enable Apple T2 features
hardware.apple-t2 = {
enable = true;
# GPU power management for 15" & 16" dual-GPU: "hybrid" (Intel primary + AMD D3cold 0W sleep)
graphics.mode = "hybrid";
# Audio DSP: "auto" automatically loads your Mac model's calibrated EQ & protection profile
dsp.model = "auto";
# Broadcom Wi-Fi & Bluetooth firmware auto-download
firmware.enable = true;
# Touch Bar daemon (tiny-dfr) with media keys and dynamic Touch ID prompts
touchbar.enable = true;
# Touch ID Secure Enclave bridge for PAM & fprintd authentication
touchid.enable = true;
};
# PipeWire Audio (required for calibrated speaker protection)
services.pipewire = {
enable = true;
alsa.enable = true;
pulse.enable = true;
};
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
}
$ cat ./hardware-matrix
| Model | Chip / GPU | Audio / DSP | Touch Bar | Status |
|---|---|---|---|---|
| MacBook Pro 16" (2019) | Intel UHD 630 + AMD Radeon 5500M | ✓ PipeWire DSP | ✓ tiny-dfr | ● Full |
| MacBook Pro 15" (2018–2019) | Intel UHD 630 + AMD Radeon Pro | ✓ PipeWire DSP | ✓ tiny-dfr | ● Full |
| MacBook Pro 13" (2018–2020) | Intel Iris Plus Graphics | ✓ PipeWire DSP | ✓ tiny-dfr | ● Full |
| MacBook Air (2018–2020) | Intel Iris / UHD Graphics | ✓ PipeWire DSP | — Physical Keys | ● Full |
| Mac mini (2018) | Intel UHD 630 | ✓ Standard PCM | — N/A | ● Full |
| Mac Pro (2019) | PCIe AMD Navi / Vega | ✓ Line-out PCM | — N/A | ● Full |