Skip to content

alexchen-buaa/dotfiles-linux

Repository files navigation

Dotfiles (WSL / Ubuntu)

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.

Installation

git clone --recursive https://github.com/alexchen-buaa/dotfiles-linux.git ~/.dotfiles
cd ~/.dotfiles
./install

Structure

~/.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

What's Managed

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

Local Secrets

Machine-specific configs live outside the repo:

File Purpose
~/.bashrc.local API keys, proxy settings
~/.gitconfig.local Git proxy, local-only git settings

Utilities

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 ripgrep

Windows Terminal

Add the Gruvbox scheme from config/winterm/Gruvbox.json to your WT settings.json schemes array, and set "colorScheme": "Gruvbox Dark" in your WSL profile.

About

My Linux (Ubuntu) dotfiles

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors