Personal dotfiles for WSL2 (Ubuntu 22.04+), managed with Dotbot.
Note: Requires Ubuntu 22.04+ (GLIBC ≥ 2.33) for the latest neovim AppImage to run.
git clone --recursive https://github.com/alexchen-buaa/dotfiles-linux.git ~/.dotfiles
cd ~/.dotfiles
./install~/.dotfiles/
├── install # Dotbot installation script
├── install.conf.yaml # Dotbot symlink configuration
│
├── bashrc # Bash entry point
├── vimrc # Vim stub (primary editor is Neovim)
├── tmux.conf # Tmux (prefix: Ctrl-a, vim-navigator)
├── gitconfig # Git config (secrets in ~/.gitconfig.local)
├── inputrc # Readline vi-mode
├── condarc # Conda mirrors
├── npmrc # NPM registry mirror
│
├── config/
│ ├── bash/
│ │ ├── env.bash # PATH, env vars, conda, nvm, mujoco, cuda
│ │ ├── tools.bash # Aliases (eza, nvim), tool inits (fzf, starship, zoxide)
│ │ └── plugins.bash # ble.sh (autosuggestions, syntax highlighting)
│ ├── nvim/ # Neovim (Lua, lazy.nvim, ~30 plugins, LSP)
│ ├── pip/ # Python pip config
│ ├── starship.toml # Starship prompt (Nerd Font symbols)
│ ├── tmuxthemes/ # Tmux themes (Gruvbox)
│ └── winterm/ # Windows Terminal color schemes
│
├── dotbot/ # Dotbot submodule
└── .gitignore # Ignores: .bashrc.local, .gitconfig.local
Shell (bash)
- ble.sh — autosuggestions, syntax highlighting, history search
- starship — cross-shell prompt with Nerd Font symbols
- Tool integrations: fzf, zoxide, eza, conda
Editor (Neovim)
- lazy.nvim plugin manager (~30 plugins)
- LSP support (pyright, ruff, lua_ls, bashls)
- Telescope, neo-tree, blink.cmp, flash.nvim
- Key:
<leader> = ,
Terminal
- Tmux (prefix:
Ctrl-a, vim-tmux-navigator, Gruvbox theme) - Windows Terminal (Gruvbox Dark color scheme)
Tools
- eza — modern ls
- zoxide — smart cd
- fzf — fuzzy finder
- ripgrep — grep replacement
Machine-specific configs live outside the repo:
| File | Purpose |
|---|---|
~/.bashrc.local |
API keys, proxy settings |
~/.gitconfig.local |
Git proxy, local-only git settings |
Install after cloning:
# neovim (AppImage, >= 0.10)
curl -sLO https://github.com/neovim/neovim/releases/latest/download/nvim-linux-x86_64.appimage
chmod +x nvim-linux-x86_64.appimage && mv nvim-linux-x86_64.appimage ~/.local/bin/nvim
# starship
curl -sS https://starship.rs/install.sh | sh -s -- -y -b ~/.local/bin
# zoxide
curl -sL https://raw.githubusercontent.com/ajeetdsouza/zoxide/main/install.sh | sh -s -- --bin-dir ~/.local/bin
# eza
# Download from https://github.com/eza-community/eza/releases
# ble.sh
git clone --recursive --depth 1 https://github.com/akinomyoga/ble.sh.git ~/.local/share/blesh
cd ~/.local/share/blesh && make
# fzf, ripgrep
sudo apt install -y fzf ripgrepAdd the Gruvbox scheme from config/winterm/Gruvbox.json to your WT settings.json schemes array, and set "colorScheme": "Gruvbox Dark" in your WSL profile.