Personal dotfiles configuration managed with Nix, nix-darwin, and home-manager.
This repository provides a declarative and reproducible development environment configuration for macOS using:
- Nix - Functional package manager for reproducible builds
- nix-darwin - Declarative macOS system configuration
- home-manager - User environment and dotfiles management
-
Install Determinate Nix:
curl -fsSL https://install.determinate.systems/nix | sh -s -- install -
Clone this repository:
-
Apply the nix-darwin configuration:
sudo nix run nix-darwin -- switch --flake .#<hostname> -
Setup git signing config:
./scripts/setup-git-signing.sh git config --file ~/.config/git/config.local user.name "your name" git config --file ~/.config/git/config.local user.email "your email"
nix run .#switch- Apply nix-darwin and home-manager configuration changesnix run .#update- Update flake.lock dependenciesnix run .#secrets- Scan repository for hardcoded secrets using gitleaks