This repository contains my personal dotfiles and configuration files, managed using Chezmoi, a tool for managing dotfiles across multiple machines.
- Shell configurations for zsh and fish
- Terminal setups (kitty, wezterm, ghostty)
- Editor configs (nvim)
- System tools (tmux, starship, etc.)
- Platform-specific setups for macOS and Linux
To use this repo on a new machine:
-
Install Chezmoi: Follow the official installation guide. For example, on macOS with Homebrew:
brew install chezmoi -
Clone the Repository: Initialize Chezmoi with this repo (replace
usernamewith the actual GitHub username if public):chezmoi init --apply https://github.com/username/dotfiles.gitOr manually clone:
git clone https://github.com/username/dotfiles.git ~/.local/share/chezmoi chezmoi apply -
Apply Configurations: Run
chezmoi applyto symlink all dotfiles to your home directory. This will set up your environment. -
Post-Installation:
- Install required packages via the provided scripts (e.g.,
run_onchangescripts in.chezmoiscripts/). - For macOS, run Homebrew and MAS installations as per
run_onchange_before_10-homebrew-packages.sh.tmpl. - Customize private files (e.g., API keys) using Chezmoi's templates.
- Install required packages via the provided scripts (e.g.,
- Edit Files: Modify files in
~/.local/share/chezmoi/and runchezmoi applyto update symlinks. - Add New Files: Use
chezmoi add ~/.somefileto track new dotfiles. - Templates: Files ending in
.tmpluse Go templates for dynamic content (e.g., paths, secrets). - Platform-Specific: Check
.chezmoidata/for OS-specific configs (macOS, Linux).
- Pre- and post-apply scripts in
.chezmoiscripts/automate installations (e.g., packages, symlinks). - Run
chezmoi apply --verbosefor detailed output.
Fork the repo, make changes, and submit a pull request. Ensure compatibility across platforms.
For more details, see the docs/ directory, including macOS-specific setup in readme-macos.md.
MIT License - see LICENSE file if present.