Files
MacNix-config/modules/darwin/README.md
T
2026-11-06 14:51:54 +01:00

1.3 KiB

Layout


.
├── dock               # MacOS dock configuration
├── casks.nix          # List of homebrew casks
├── default.nix        # Defines module, system-level config
├── files.nix          # Non-Nix, static configuration files (now immutable!)
├── home-manager.nix   # Defines user programs
├── packages.nix       # List of packages to install for MacOS

Python

python3.13 is available alongside the default Python environment, without changing python or python3 or their configured packages. When the default Python already is 3.13, its existing command is used instead of an extra launcher. Use python3.13 -m venv .venv to create a Python 3.13 virtual environment.

Dock activation

Dock setup runs only when olaf is the active console user. Each dockutil command runs as that user in their GUI session, avoiding the root-mode defaults export pipe deadlock in dockutil 3.1.3. Commands have a 30-second timeout (with a forced stop after another 5 seconds) and report failures. A failed Dock listing aborts activation before resetting any entries. The Dock is restarted through its user launchd service.

If setup is skipped because no matching desktop session is active, run sudo darwin-rebuild switch --flake .#aarch64-darwin again after logging in (use x86_64-darwin on Intel).