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:
mkdir -p ~/ghq/github.com/kazukit-dev git clone git@github.com:kazukit-dev/dotfiles.git > ~/ghq/github.com/kazukit-dev/
-
Apply the nix-darwin configuration:
sudo nix run nix-darwin -- switch --flake .#<hostname> -
Enable 1Password SSH agent:
Open 1Password > Settings > Developer and enable "Use the SSH agent". This allows SSH keys stored in 1Password to be used for Git signing and SSH authentication.
-
Setup git signing key:
./scripts/setup-git-signing-key.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