- Machine configs
- MacOSX
# Lix (only used for nix-darwin)
# nix-darwin will manager another Nix installation that defaults to upstream Nix
curl -sSf -L https://install.lix.systems/lix | sh -s -- install
- Linux (non NixOS)
sh <(curl --proto '=https' --tlsv1.2 -L https://nixos.org/nix/install) --daemon
mkdir -p ~/.config/nix
cat <<EOF > ~/.config/nix/nix.conf
experimental-features = nix-command flakes
EOF
./bootstrap.shjust switch
Apple Silicon Macs require non-distributable firmware files for Wi-Fi and other peripherals. These are stored in a private git repository and referenced as a flake input.
-
Create a private git repository (e.g.,
github.com/zeronone/asahi-firmware) -
Push firmware to the repository:
./scripts/push-asahi-firmware.sh --dir m1pro
Use a different
--dirfor each machine type (e.g.,m1pro,m2max,m3). -
Update the flake lock file:
nix flake lock --update-input asahi-firmware
-
Proceed with normal installation:
./bootstrap.sh
If firmware is updated (e.g., after macOS update), re-run:
./scripts/push-asahi-firmware.sh --dir m1pro
nix flake lock --update-input asahi-firmware
just switch