A collection of my personal dotfiles and configuration settings for development tools, designed for easy setup and consistent experience across different machines.
- 2026-01-05
- neovim: Nightfox theme
- ghostty: Nightfox theme
- macOS
- Homebrew is installed
aqua(You can manually install it bybrew install aqua)- Your
.zshrcwill be installed and configured to point to your globalaqua.yaml(e.g., viaAQUA_GLOBAL_CONFIG) - Oh-my-zsh is installed
🛠️ Note:
aquaand your.zshrccan be set up automatically by this setup process.
Before running the setup script (make gitconfig or make all), edit dotfiles/git/.gitconfig.local
to include your personal Git settings (e.g., user name and email).
This file will be copied to your home directory as ~/.gitconfig.local during the setup process.
https://github.com/tmux-plugins/tpm
claude code
-
git pushis not allowed by default (Claude asks for confirmation). -
To allow it in a repository, add the following to
.claude/settings.local.jsonthere:{ "permissions": { "allow": ["Bash(git push *)"] } } -
Even when allowed, the PreToolUse hook
claude/hooks/block-protected-push.shalways blocks pushes to protected branches (main,master,develop,release,release/*) and force pushes other than--force-with-lease. -
The hook parses command strings, so it cannot catch pushes via
sh -cor git aliases. Use branch protection on the remote as well. -
Run
bash claude/hooks/test-block-protected-push.shto test the hook.
cd
git clone git@github.com:yyossy5/dotfiles.git
cd dotfilesmakee.g., Setup .zshrc only
make zshmake helpSometimes, not everything gets installed properly with a single brew install.
In such cases, you can rerun it with make brew.
You can add new dotfiles to this repository by following these steps:
- Copy or move the config file into the appropriate directory
For example, to add your
~/.gitconfig:
mkdir -p ~/dotfiles/git
cp ~/.gitconfig ~/dotfiles/git/.gitconfig- Update
setup.shto create a symbolic link
Edit setup.sh and add a new install_gitconfig() function if it doesn't already exist:
install_gitconfig() {
log "Setting up gitconfig..."
backup_and_link "$HOME/.gitconfig" "$DOTFILES_DIR/git/.gitconfig"
}Also, update the main() function to support this target:
gitconfig) install_gitconfig ;;- Add a Makefile target
gitconfig: ## Install .gitconfig
./setup.sh gitconfig- Test it
make gitconfigCheck that the symlink is created and the config works as expected.
The following configuration files are included in this repository but are not managed by the setup script, as they are not the kind that can simply be placed somewhere on the local machine to be automatically loaded.
- bettertouchtool
Configs for tools that are no longer in use are kept in archive/.
See archive/README.md for details.
Raycast pro plan can manage the settings via cloud sync.
- 2025-12-28
- neovim: everforest theme
- ghostty: Everforest Dark Hard theme
- 2025-04-09
- neovim: carbonfox theme
- iTerm2: Oxocarbon theme
- vscode theme
- Nightfox theme
- everforest theme





