Dotfiles for an Ubuntu-first WSL setup, managed with GNU Stow. Most configs are stored in app-specific folders and symlinked into $HOME.
Install the base Ubuntu packages:
sudo apt update
xargs -a ubuntu_packages sudo apt install -yStow the configs you want from the repo root:
stow zsh nvim wezterm miseYou can stow more packages the same way, for example:
stow atuin bat btop gdu lazygit pypoetry vscode zellijTo remove or refresh a stowed config:
stow -D nvim
stow -R nvimThe Ubuntu package list installs zsh and common shell integrations. To make zsh the login shell:
chsh -s "$(command -v zsh)"Restart the terminal after changing the shell. For an existing session, run:
exec zshOptional local .zshrc overlay gets auto imported if it exists:
~/.zshrc_extraThe apt package list covers the baseline packages needed for this setup, including stow, zsh, Python helpers, and build tools.
On native Windows, config paths may differ from Linux/WSL. If needed, start PowerShell as Administrator and create manual symlinks:
cmd /c mklink /d C:\Users\<username>\AppData\Local\nvim C:\Users\<username>\dotfiles\nvim\.config\nvim
cmd /c mklink /d C:\Users\<username>\.config\wezterm C:\Users\<username>\dotfiles\wezterm\.config\wezterm
cmd /c mklink "C:\Users\<username>\AppData\Roaming\Code\User\settings.json" "C:\Users\<username>\dotfiles\vscode\.config\Code\User\settings.json"
cmd /c mklink "C:\Users\<username>\AppData\Roaming\Code\User\keybindings.json" "C:\Users\<username>\dotfiles\vscode\.config\Code\User\keybindings.json"