Skip to content

Getting Started

github-actions[bot] edited this page Oct 19, 2026 · 23 revisions

Installation and First Switch

New macOS machine

The bootstrap script installs Determinate Nix when necessary, downloads a temporary copy of the repository, injects the current $USER and $HOME, configures caches and mirrors, and applies the matching Darwin target:

curl -fsSL https://raw.githubusercontent.com/NoSugarCoffee/dotnix/main/scripts/bootstrap-macos.sh | bash

The script may stop after installing Nix; open a new terminal and run the printed command again. If Clash is unavailable, use the direct recovery path:

env -u http_proxy -u https_proxy -u HTTP_PROXY -u HTTPS_PROXY \
  -u all_proxy -u ALL_PROXY DOTNIX_DIRECT=1 \
  curl -fsSL https://raw.githubusercontent.com/NoSugarCoffee/dotnix/main/scripts/bootstrap-macos.sh | bash

Existing Nix installation

From a checkout with flakes enabled, run the output matching the machine, or use just switch after just is installed. On macOS, open Clash Verge and approve Tailscale’s VPN/system extension after the first switch. On Linux, ensure the host runs tailscaled before using tailscale up.

Bootstrap Notes

Bootstrap is macOS-only and accepts arm64 or x86_64. It avoids git by fetching a branch tarball, rewrites account values in a temporary source tree, and removes that tree on exit. It requires the Determinate Nix daemon, adds mainland China mirrors and the NUR cache, and configures trusted-user access.

The proxy helper determines whether to enable Clash, start an existing app, or proceed directly. DOTNIX_DIRECT=1 clears shell proxy variables and removes proxy routing when necessary.

Clone this wiki locally