3.1 KiB
Dotfiles
Focused Vim 9, Bash, and tmux configuration for Linux, WSL, and macOS. The Windows installer manages the same Vim configuration.
Requirements
- Git
- Vim 9 or newer
- Python 3 (Windows installer)
- Optional: tmux, zoxide, ripgrep, and a Nerd Font
Install
Linux, WSL, and macOS (Bash)
Clone the repository, then install all components:
git clone https://git.justconn.top/gitea-admin/dotfiles.git ~/.dotfiles
~/.dotfiles/install.sh
Components can be installed independently and combined:
~/.dotfiles/install.sh vim
~/.dotfiles/install.sh shell tmux
The installer backs up conflicting files, creates managed links, and installs Vim plugins. It does not install zoxide; if zoxide is already available, the managed Bash block initializes it.
Windows (PowerShell)
Install Git, Python 3, and Vim for Windows
first. Include the console version (vim.exe) and add each program's directory
to PATH. Open a new PowerShell window and verify:
git --version
python --version
vim --version
Vim must be version 9 or newer. If a command is not recognized, fix its
installation or PATH before continuing. If Python is available through the
py launcher instead, use py -3 in place of python below.
Clone into your user directory, then run the Windows installer:
git clone https://git.justconn.top/gitea-admin/dotfiles.git "$HOME\.dotfiles"
python "$HOME\.dotfiles\win-install.py"
After installation, run vim in your terminal or open gvim for the graphical
editor. The configuration is loaded through $HOME\_vimrc; plugins are stored
in $HOME\vimfiles. Keep Git on PATH for plugin updates and Git-based file search.
The installer downloads plugins from GitHub, so that host must be reachable.
Use $HOME explicitly in PowerShell: ~ passed to external commands such as
Git may be treated as a literal directory name instead of your user directory.
In Command Prompt (CMD), use %USERPROFILE% instead:
git clone https://git.justconn.top/gitea-admin/dotfiles.git "%USERPROFILE%\.dotfiles"
python "%USERPROFILE%\.dotfiles\win-install.py"
Vim
The Vim setup includes Fuzzbox and NERDTree navigation, Startify, a compact global statusline, and three color schemes.
Useful mappings use , as the leader key:
,ff: files,fg: text search,e: NERDTree,cbg: light/dark mode,ctb: transparency:FuzzyColors: choose a color scheme
Plugin maintenance is explicit:
:PlugUpdate
:PlugClean
Update and uninstall
On Linux, WSL, and macOS, update safely from a clean worktree:
git -C ~/.dotfiles pull --ff-only
~/.dotfiles/install.sh
On Windows, update from a clean worktree in PowerShell:
git -C "$HOME\.dotfiles" pull --ff-only
python "$HOME\.dotfiles\win-install.py"
On Linux, WSL, and macOS, remove managed links and the managed Bash block with:
~/.dotfiles/install.sh uninstall
Uninstalling intentionally retains the repository, backups, and Vim data/plugins so user data is never removed implicitly.