The install.sh script should fully configure the system. Users should only need to run ./install.sh once to set everything up. Avoid requiring manual steps after installation.
- Each directory is a stow package that gets symlinked to
$HOME - Exception:
hypr/files are individually symlinked (Hyprland manages other files in that directory) scripts/contains helper scripts called byinstall.shfeature-requests/tracks upstream feature requests/PRs
Packages stowed via install.sh: bash, nushell, starship, hyprwhspr, vscode, mise, bin, claude, waybar
Not stowed (have setup scripts instead): docker/, vscode/ extensions
- Edit files in this dotfiles repo, not the symlinked config files directly
- After adding new config files, run
./install.shto create symlinks - Keep the
.gitignoreupdated for files that shouldn't be tracked (e.g., history files) - If adding a new stow package, add it to the
packagesarray ininstall.sh
install.sh- Main installer, runs in order: packages -> mise -> cleanup -> stow -> vscode -> dockerscripts/packages.sh- Pacman and AUR packages to installscripts/cleanup.sh- Packages and web apps to removehypr/.config/hypr/bindings.conf- Keybindings (not stowed, symlinked individually)
- Never mention Claude or AI in commit messages
- Do not include "Co-Authored-By" or "Generated with" lines