My configuration files for Neovim, Bash, Yabai, and more. Managed with chezmoi.
To set up this repository on a new machine (macOS), run the bootstrap script
to install prerequisites (brew, chezmoi, rage, pass-cli), populate
rage keys and avoid circular dependencies:
# Clone the repository (if not already done).
git clone https://github.com/skarzi/dotfiles.git ~/dotfiles
# Run the bootstrap script.
./bin/bootstrap_chezmoi.sh
# Apply dotfiles.
chezmoi init --apply --verbose --source ~/dotfiles/chezmoiLocal development requires the following tools:
- mise - Polyglot tool version manager
- checkmake - Makefile linter
- shellcheck - Shell script linter
- actionlint - GitHub Actions linter
- shellspec - Shell script testing framework
- pre-commit - Pre-commit hooks manager
After installing the required tools, install all necessary dependencies with the following command:
make installAll linters run via pre-commit hooks. To run them manually:
make lintTo run all pre-commit hooks against all files:
pre-commit run --all-filesTo run tests for bash scripts:
make test-bin