Minimal dotfiles for Linux, macOS, and WSL.
git clone https://github.com/jcbpl/dotfiles ~/.dotfiles
cd ~/.dotfiles
./setup.sh # auth, identity, installmacOS ships bash 3.2 (2007). Install a current version before running setup:
brew bundle # install bash, completions, gh
./shell.sh # set Homebrew bash as login shell
# restart your terminal
./setup.sh # auth, identity, installsetup.sh -- one-time setup:
- Authenticates with GitHub via
gh(also configures git credentials) - Sets git name/email from your GitHub profile
- Runs
install.shautomatically
install.sh -- wires dotfiles into your shell:
- Adds
[include]to~/.gitconfigpointing at the dotfiles gitconfig - Sets global gitignore
- Appends source lines to
~/.bashrcand~/.tmux.conf
All files stay owned by the system -- tools like gh can write to
~/.gitconfig without polluting the repo.
shell.sh (macOS only) -- sets Homebrew's bash as your login shell.
~/.bashrc.local-- sourced at end of bashrc (secrets, machine-specific config)~/.gitconfig-- the system file;install.shadds an include, everything else (identity, credentials, machine-specific settings) lives here naturally
- mise -- activated automatically if installed
On WSL, the bashrc automatically:
- Sets
EDITORtocode --wait - Sets
BROWSERtowslviewfor opening URLs in Windows - Adds
pbcopy/pbpastealiases viaclip.exe/powershell.exe
To keep your PATH clean, add to /etc/wsl.conf:
[interop]
appendWindowsPath = falseThen add back only what you need (e.g. VS Code) in ~/.bashrc.local:
export PATH="$PATH:/mnt/c/Users/YOU/AppData/Local/Programs/Microsoft VS Code/bin"