98 lines
2.3 KiB
Markdown
98 lines
2.3 KiB
Markdown
# 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:
|
|
|
|
```bash
|
|
git clone https://git.justconn.top/gitea-admin/dotfiles.git ~/.dotfiles
|
|
~/.dotfiles/install.sh
|
|
```
|
|
|
|
Components can be installed independently and combined:
|
|
|
|
```bash
|
|
~/.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)
|
|
|
|
Clone into your user directory, then run the Windows installer:
|
|
|
|
```powershell
|
|
git clone https://git.justconn.top/gitea-admin/dotfiles.git "$HOME\.dotfiles"
|
|
python "$HOME\.dotfiles\win-install.py"
|
|
```
|
|
|
|
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:
|
|
|
|
```cmd
|
|
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:
|
|
|
|
```vim
|
|
:PlugUpdate
|
|
:PlugClean
|
|
```
|
|
|
|
## Update and uninstall
|
|
|
|
On Linux, WSL, and macOS, update safely from a clean worktree:
|
|
|
|
```bash
|
|
git -C ~/.dotfiles pull --ff-only
|
|
~/.dotfiles/install.sh
|
|
```
|
|
|
|
On Windows, update from a clean worktree in PowerShell:
|
|
|
|
```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:
|
|
|
|
```bash
|
|
~/.dotfiles/install.sh uninstall
|
|
```
|
|
|
|
Uninstalling intentionally retains the repository, backups, and Vim
|
|
data/plugins so user data is never removed implicitly.
|