Personal configuration files and maintenance scripts. Designed to work on both Linux and macOS.
# Clone on a new machine
git clone --bare git@github.com:theagitist/dotfiles.git ~/.dotfiles
alias dot='git --git-dir=$HOME/.dotfiles --work-tree=$HOME'
dot config status.showUntrackedFiles no
dot checkoutIf dot checkout fails due to existing files, back them up first:
dot checkout 2>&1 | grep -E "^\s+" | xargs -I{} mv {} {}.bak
dot checkoutThen install all dependencies:
./setup.shdot add ~/.someconfig
dot commit -m "Add someconfig"
dot push| File | Description |
|---|---|
.zshrc |
zsh with Dracula theme, oh-my-zsh plugins, lazy-loaded nvm, bun, fzf, direnv, SSH agent, vi mode with cursor shape indicators, CORRECT, history settings, macOS/Linux guards |
.vimrc |
vim config with vim-plug, coc.nvim, fzf, NERDTree, fugitive, Dracula theme, persistent undo, Space leader |
.tmux.conf |
tmux with vi mode, Dracula theme, resurrect/continuum, thumbs (quick-copy), prefix-less Alt bindings, pane border labels, auto-rename windows, security hardening, cross-platform lock |
.gitconfig |
shared git config with delta pager (side-by-side, Dracula), histogram diffs, aliases (switch/restore), auto-stash rebase, auto-setup remote, rerere, diff3 merge, local include for machine-specific settings |
.aliases |
portable aliases for eza, bat, fd, zoxide, lazygit, duf, curlie, mkcd, grep color, config editing, system info |
setup.sh |
idempotent bootstrap script — installs all dependencies, sets timezone, adds weekly update cron |
update.sh |
system maintenance script — updates packages, bun, node, tmux plugins, renews certs, cleans git branches, logs to ~/.local/log |
All managed by setup.sh:
- oh-my-zsh + Dracula theme, zsh-syntax-highlighting, zsh-autosuggestions, extract, copypath
- vim + vim-plug + coc.nvim
- tmux + TPM (resurrect, continuum, yank, menus, thumbs)
- nvm + Node.js (lazy-loaded)
- bun
- delta, eza, bat, zoxide, fd, ripgrep, fzf, jq, duf, entr, w3m
- direnv, curlie, yq, glow
- lazygit, gh, git-extras
- ncdu, htop, bpytop, tldr
- awscli
- Linux-only: nginx, certbot, vlock