A comprehensive dotfiles setup for Apple Silicon Macs using nix-darwin. Configure your entire macOS environment with a single command!
- 🛠 macOS system preferences optimization
- 🐚 Modern shell setup via Home Manager
- 📦 Automated CLI tool installation
- 🖥 GUI application management via Homebrew
- ⚡️ Fast and reproducible setup
- Apple Silicon Mac (M1/M2/M3/M4 series)
- macOS Big Sur or later
- Internet connection
- Fresh macOS installation
- No existing Homebrew installation
- No existing nix installation
Before proceeding, backup these configurations:
- Homebrew configurations and packages
- Shell configurations (~/.zshrc, ~/.bashrc)
- Any existing nix configurations
- Clone the repository:
cd <YOUR_DESIRED_LOCATION>
git clone [email protected]:atalienet/dotfiles.git
- Update your username in the ./env.nix file. Replace any occurrences of the default username with your actual username. For example, change:
{
default = {
system = "aarch64-darwin";
username = "u1";
};
username = "u1";
}
to:
{
default = {
system = "aarch64-darwin";
username = "<YOUR_USERNAME>";
};
username = "<YOUR_USERNAME>";
}
- Run the setup:
nix run nix-darwin/nix-darwin-24.11#darwin-rebuild -- switch --flake <YOUR_DESIRED_LOCATION>/dotfiles/nix-darwin.#default
- Restart your Mac to apply all settings!
darwin-rebuild switch --flake <YOUR_DESIRED_LOCATION>/dotfiles/nix-darwin.#default
- GnuPG: Encryption and signing
- pinentry-mac: macOS-native password entry dialog
- Xcodes: The best command-line tool to install and switch between multiple versions of Xcode
- 1Password CLI: Command-line interface for 1Password password manager
- Rio: Modern GPU-accelerated terminal emulator with Rust
- Ghostty: High-performance terminal with excellent font rendering
- WezTerm: GPU-accelerated cross-platform terminal emulator
- CoconutBattery: Detailed battery information and health monitoring
- KeyClu: Visual keyboard shortcut helper and discovery tool
Application | Installation Method | Type | Description |
---|---|---|---|
GnuPG | nix-darwin | CLI | Encryption and signing tool |
pinentry-mac | nix-darwin | CLI | macOS-native password entry dialog |
Xcodes | Homebrew | GUI | Xcode version manager |
1Password CLI | Homebrew | CLI | Password manager CLI |
Rio | Homebrew | GUI | Rust-based terminal emulator |
Ghostty | Homebrew | GUI | Modern GPU-accelerated terminal |
WezTerm | Homebrew | GUI | Cross-platform terminal |
CoconutBattery | Homebrew | GUI | Battery health monitor |
KeyClu | Homebrew | GUI | Keyboard shortcut discovery |
Priority | Feature | Target Date | Status |
---|---|---|---|
🔥 High | Modularize configurations | Feb 2025 | In Progress |
🔥 High | Homebrew tap support (aerospace) | Feb 2025 | Planned |
🔥 High | Flexible env variables | Feb 2025 | Planned |
⚡️ Medium | Enhanced Zsh configuration | Apl 2025 | Planned |
⚡️ Medium | Neovim configuration | Feb 2025 | Planned |