This is the repository for all of my dotfiles for Linux/Mac/Windows. It uses GNU Stow to organize the configuration files, and follows the XDG Base Directory specification to keep my home directory (~/) as clean as possible.
Important
Do not start Nushell until the directories are symlinked. Nushell will not let you symlink its config directory if it's already running. Use the default shell (bash, zsh, etc.) for the first few steps.
-
Clone repository to
~/.config/dotfilesandcdinto itgit clone --recurse-submodules --depth 1 https://github.com/zaknesler/dotfiles.git ~/.config/dotfiles cd ~/.config/dotfiles
-
Symlink directories using Stow
ls -d */ | xargs stow -t $HOME
-
Install Homebrew (macOS only)
# Install Xcode tools xcode-select --install # Install Homebrew curl -fsSL --proto '=https' --tlsv1.2 https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh | sh # Install formulae from ./Brewfile brew bundle
-
Set your default shell to Nushell (Linux/macOS only)
# Ensure Nushell exists as an option cat /etc/shells # Set user shell chsh -s $(which nu)
-
Re-login or run
nuto use new configuration -
Install Rust via rustup
curl -fsSL --proto '=https' --tlsv1.2 https://sh.rustup.rs | sh
-
Install cargo-binstall (Linux only)
curl -fsSL --proto '=https' --tlsv1.2 https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | sh
-
Install and activate
nu_plugin_gstat(enables git repo data)cargo binstall nu_plugin_gstat let gstat = (which nu_plugin_gstat | get path | first) nu -c $'plugin add '($gstat)'; version'