🦎 My macOS dotfiles — Neovim, Zsh, Tmux, Hammerspoon, and more. Optimized for productivity.
npx skills add https://github.com/htlin222/dotfiles --skill javascriptInstall this skill with the CLI and start using the SKILL.md workflow in your workspace.
Your dotfiles are how you personalize your system. These are mine.
Personal dotfiles for macOS development environment, featuring Zsh, Neovim, tmux, Hammerspoon, and modern CLI tools.
Screenshots coming soon. In the meantime, check out The Terminal Way for a full walkthrough.
# 1. Clone the repo
git clone https://github.com/htlin222/dotfiles.git ~/.dotfiles
# 2. Install Homebrew (if not already installed)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# 3. Install packages
brew bundle --file="~/.dotfiles/Brewfile"
# 4. Symlink dotfiles
cd ~/.dotfiles/start && ./link_dotfiles
For a detailed walkthrough, see the step-by-step guide below.
sudo -v && \
chsh -s /bin/zsh && \
touch ~/.hushlogin
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Follow the instructions to add Homebrew to your PATH
git clone https://github.com/htlin222/dotfiles.git ~/.dotfiles
brew bundle --file="~/.dotfiles/Brewfile"
brew cleanup --prune=all
rm -rf "$(brew --cache)"
cd ~/.dotfiles/start
./link_dotfiles
This will symlink configuration files to your home directory.
# Install Oh-My-Zsh
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# Install plugins
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
git clone https://github.com/jeffreytse/zsh-vi-mode $ZSH_CUSTOM/plugins/zsh-vi-mode
git clone https://github.com/qoomon/zsh-lazyload $ZSH_CUSTOM/plugins/zsh-lazyload
git clone https://github.com/MichaelAquilina/zsh-you-should-use.git $ZSH_CUSTOM/plugins/you-should-use
git clone https://github.com/Aloxaf/fzf-tab ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/fzf-tab
| Category | Files |
|---|---|
| Shell | .zshrc, .zshenv, .zprofile |
| Git | .gitconfig, .gitignore |
| tmux | .tmux.conf |
| Neovim | .config/nvim/ |
| Hammerspoon | .hammerspoon/ |
| R | .Rprofile |
If Homebrew binaries don't appear in /usr/local/bin:
sudo mkdir -p /usr/local/bin && \
sudo ln -s /opt/homebrew/bin/im-select /usr/local/bin/im-select && \
sudo ln -s /opt/homebrew/bin/nvim /usr/local/bin/nvim && \
sudo ln -s /opt/homebrew/bin/node /usr/local/bin/node
# Find and install Python version
pyenv install -l | grep 3\\.12\\.
pyenv install 3.12.0
# Create virtualenv for Neovim
pyenv virtualenv 3.12.0 neovim3
pyenv activate neovim3
pip install neovim pynvim
pyenv deactivate
Apply recommended macOS settings:
sh ~/.dotfiles/macos.sh
sudo xattr -r -d com.apple.quarantine /path/to/app.app
For a comprehensive guide to terminal-based development workflow, see the docs directory, which contains "The Terminal Way" - a complete guide covering:
Read the full guide at the-terminal-way.netlify.app.
USE AT YOUR OWN RISK. This repository contains my personal configuration files and scripts. Before using:
The scripts include operations that:
Always backup your existing dotfiles before running any bootstrap scripts.
MIT License - See LICENSE.md for details.
Inspired by various dotfiles repositories in the community. Special thanks to all the open-source tools and their maintainers.