Skip to content

Latest commit

 

History

109 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dotfiles

My personal development environment for macOS.

A terminal-centric, keyboard-driven setup:

  • AeroSpace — i3-like tiling window manager for macOS
  • Ghostty — fast, GPU-accelerated, native terminal emulator
  • Zsh — shell with a Powerlevel10k prompt
  • tmux — terminal multiplexer
  • Neovim — terminal-based code editor
  • Claude Code — agentic coding assistant, configured in aleckshen/.claude

Installation

Quick start

git clone https://github.com/aleckshen/dotfiles.git ~/dotfiles
~/dotfiles/install.sh

That is the whole bootstrap. install.sh runs steps 3 to 6 below, plus the Xcode command line tools check from step 1, and is safe to re-run — it skips anything already in place.

Manual steps

The same bootstrap done by hand, for reference or for running only part of it.

  1. Install Apple's command line tools, which are prerequisites for Git and Homebrew.
xcode-select --install
  1. Clone repo into root directory.
git clone https://github.com/aleckshen/dotfiles.git
  1. Create symlinks in the home directory to the real files in the repo.
ln -s ~/dotfiles/.zshrc ~/.zshrc
ln -s ~/dotfiles/.p10k.zsh ~/.p10k.zsh
ln -s ~/dotfiles/.gitconfig ~/.gitconfig
ln -s ~/dotfiles/aerospace ~/.config/aerospace
ln -s ~/dotfiles/wezterm ~/.config/wezterm
ln -s ~/dotfiles/ghostty ~/.config/ghostty
ln -s ~/dotfiles/nvim ~/.config/nvim
ln -s ~/dotfiles/tmux ~/.config/tmux
  1. Install the tmux plugins. They are not tracked in this repo — TPM owns them, and the tmux/plugins/ directory is gitignored.
git clone https://github.com/tmux-plugins/tpm ~/dotfiles/tmux/plugins/tpm
tmux start-server
tmux source-file ~/.config/tmux/tmux.conf
~/dotfiles/tmux/plugins/tpm/bin/install_plugins

The start-server and source-file steps matter: install_plugins reads its install path from a running tmux server, and without one it reports success while installing nothing.

  1. Clone the Claude Code config. It lives in its own repo and is cloned in place rather than symlinked, because ~/.claude also holds runtime state (sessions, history, caches) that stays untracked.
git clone https://github.com/aleckshen/.claude.git ~/.claude

If ~/.claude already exists, git will refuse to clone into it — install.sh handles that case by cloning alongside and moving .git into place.

  1. Install Homebrew, followed by the software listed in the Brewfile.
# Install Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# Pass in file Brewfile location
brew bundle --file ~/dotfiles/Brewfile

About

My macOS .dotfiles

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages