This repo currently contains a small Linux-focused dotfiles setup:
.bashrcfor shell aliases and interactive Bash behavior.config/nvimfor the active Neovim setupz_legacy/vanilla-vimfor the older Vim configuration kept as reference
The Neovim config is the current setup. The legacy Vim files are not needed for a new Linux install.
These steps assume you want the files in this repo to be the source of truth by symlinking them into your home directory.
From the repo root:
./bootstrap.sh --yes --with-rustUseful options:
--dry-runpreview actions without changing anything--skip-depsskip package installation--repo-url <url>and--repo-dir <path>clone/pull before linking
Validate your setup anytime (no changes made):
./check.shIf dependency installation fails (for example, due to a broken third-party apt repository), bootstrap will continue with symlink setup. You can also skip package installation explicitly:
./bootstrap.sh --yes --skip-depsOn Debian/Ubuntu:
sudo apt update
sudo apt install -y git bash neovim make gcc unzip ripgrep xclip libnotify-bin python3 curlOptional but recommended:
- Install a Nerd Font for Neovim icons
- Install Rust with
rustup, because.bashrcloads~/.cargo/env
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shIf you use a non-Debian distro, install the equivalent packages with your package manager.
git clone <your-dotfiles-repo-url> "$HOME/dotfiles"mv "$HOME/.bashrc" "$HOME/.bashrc.backup.$(date +%Y%m%d%H%M%S)" 2>/dev/null || true
mv "$HOME/.config/nvim" "$HOME/.config/nvim.backup.$(date +%Y%m%d%H%M%S)" 2>/dev/null || true
mkdir -p "$HOME/.config"ln -s "$HOME/dotfiles/.bashrc" "$HOME/.bashrc"
ln -s "$HOME/dotfiles/.config/nvim" "$HOME/.config/nvim"source "$HOME/.bashrc"
nvimOn first launch, Neovim will install plugins automatically through lazy.nvim.
Use symlinks instead of copying files. That way, when you edit ~/.bashrc or ~/.config/nvim, you are editing the files inside this repo directly, so git status immediately shows the changes.
- The
.bashrcaliases expectnvim,xclip,notify-send, andpython3to exist - The active editor setup lives in
.config/nvim z_legacy/vanilla-vimis optional and mainly preserved for historical reference