Configuration files for my development environment.
git clone https://github.com/hwhang0917/dotfiles.git ~/dotfiles
cd ~/dotfiles
./bootstrap.shThe bootstrap script will:
-
Check for required dependencies (git, stow, curl)
-
Initialize git submodules
-
Detect your platform (linux, wsl, macos, windows)
-
Check for optional tools and offer to install missing ones:
Tool Description Install method fzf Fuzzy finder pacman / apt / brew zoxide Smarter cd pacman / brew / install script eza Modern ls pacman / brew / cargo bat Modern cat pacman / apt / brew gum Shell scripting toolkit pacman / brew / go install starship Prompt pacman / brew / install script fnm Fast Node Manager pacman / brew / install script zplug Zsh plugin manager pacman / brew / install script -
Prompt for stow package selection:
Y- Stow all suggested packages for your platformn- Skip package installationcustom- Choose specific packages to stow
-
Optionally set up git local configuration
| Platform | Stow packages |
|---|---|
| Common (all) | git, zsh, tmux, nvim, vim, scripts, tig, yazi |
| Linux | hypr, sway, ghostty, kime |
| WSL | (common only) |
| macOS | ghostty |
| Windows | komorebi, glzr, autohotkey |
-
Clone the repository:
git clone https://github.com/hwhang0917/dotfiles.git ~/dotfiles -
Initialize submodules:
cd ~/dotfiles git submodule update --init --recursive
-
Stow packages:
stow <package>
Windows does not support GNU Stow. Use symbolic links manually instead.
-
Clone the repository:
git clone https://github.com/hwhang0917/dotfiles.git $HOME\dotfiles cd $HOME\dotfiles git submodule update --init --recursive
-
Create symbolic links (run PowerShell as Administrator):
# Komorebi New-Item -ItemType SymbolicLink -Path "$HOME\.config\komorebi" -Target "$HOME\dotfiles\komorebi\.config\komorebi" # GlazeWM New-Item -ItemType SymbolicLink -Path "$HOME\.glzr" -Target "$HOME\dotfiles\glzr\.glzr" # AutoHotkey (adjust path as needed) New-Item -ItemType SymbolicLink -Path "$HOME\Documents\AutoHotkey" -Target "$HOME\dotfiles\autohotkey\Documents\AutoHotkey"
Or use
mklinkin Command Prompt (as Administrator):mklink /D "%USERPROFILE%\.config\komorebi" "%USERPROFILE%\dotfiles\komorebi\.config\komorebi"
After stowing git, set up your local credentials:
./setup/gitconfig_init.shOr manually copy the example file:
cp ~/dotfiles/git/.gitconfig.local.example ~/.gitconfig.localEdit ~/.gitconfig.local with your name, email, and signing key.
To uninstall a package, you can use GNU Stow with the -D option:
stow -D <package>If stow fails due to existing files:
stow -D <package> # Remove any partial stow
mv ~/.config/<file> ~/.config/<file>.backup # Backup existing file
stow <package> # Try againInstall zplug manually:
curl -sL --proto-redir -all,https https://raw.githubusercontent.com/zplug/installer/master/installer.zsh | zshIf submodules fail to initialize:
git submodule sync
git submodule update --init --recursive --forceThe bootstrap script can install these automatically. To re-run just the install step:
./bootstrap.shOr install manually — see the optional tools table above for links.
Install the prerequisites first:
# Debian/Ubuntu
sudo apt install git stow curl
# Arch
sudo pacman -S git stow curl
# macOS
brew install git stow curl