Skip to content

zaknesler/dotfiles

Repository files navigation

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.

Installation

  1. Install Nushell, GNU Stow, and Neovim

  2. Clone repository to ~/.config/dotfiles and cd into it

    git clone --recurse-submodules --depth 1 https://github.com/zaknesler/dotfiles.git ~/.config/dotfiles
    cd ~/.config/dotfiles
  3. Symlink directories using Stow

    ls -d */ | xargs stow -t $HOME
  4. 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
  5. 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)
  6. Re-login or run nu to use new configuration

  7. Install Rust via rustup

    curl -fsSL --proto '=https' --tlsv1.2 https://sh.rustup.rs | sh
  8. 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
  9. 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'

About

My dotfiles, managed with GNU Stow

Topics

Resources

Stars

Watchers

Forks

Contributors