69ca75e528434da252fdd03d6fb2921206470820
Needed for NFS mounts. Included in the best-effort CLI tools list so a missing/conflicting package never aborts the bootstrap. README + header updated.
dotfiles
Personal and server dotfiles. Kept in two areas:
servers/— a single, generic set of server dotfiles (zsh, vim, bash, htop, neofetch) applied to any homelab server, rather than one folder per host- (personal dotfiles live at the repo root, kept separate from
servers/)
Layout
servers/
.zshrc zsh config (oh-my-zsh, agnoster theme, kubectl plugin)
.vimrc vim config (dracula + lightline + Vundle)
.bashrc bash config (standard Debian default)
.config/htop/htoprc htop config
.config/neofetch/config.conf neofetch config
These are the common baseline shared across the homelab hosts (iris, vega,
nebula, nexus, ...). They were consolidated from the per-host configs into one
generic set so a single ./install.sh works on any server.
What is NOT included (and why)
These are intentionally excluded from the repo:
.ssh/,.kube/,.docker/,.ansible/— secrets / infra credentials.zsh_history,.viminfo,.zcompdump*,.netrwhist— ephemeral caches.oh-my-zsh/— upstream framework; reinstall instead of vendoring.vim/bundle/*— Vundle-managed third-party pluginsbackup.sh,clean.sh,crontab.bak*,talosctl,places— local utility scripts / binaries specific to each host
Installing on a fresh server
git clone git@git.ivanch.me:ivanch/dotfiles.git
cd dotfiles
chmod +x install.sh
./install.sh # detects Debian/Alpine, installs pkgs + oh-my-zsh,
# deploys servers/ and installs Vim plugins
# optional: ./install.sh --chsh (set login shell to zsh)
# ./install.sh --dry-run (preview only)
Or as a single line (clone, install, then remove the folder):
git clone git@git.ivanch.me:ivanch/dotfiles.git /tmp/dotfiles && \
cd /tmp/dotfiles && chmod +x install.sh && ./install.sh; cd /tmp && rm -rf /tmp/dotfiles
The installer:
- Detects the OS / package manager (
apton Debian,apkon Alpine) and installsgit curl wget zsh vim, plus CLI toolshtop,fzf,nslookup(dnsutils/bind-tools) and the NFS client (nfs-common/nfs-utilsfor NFS mounts).kubectlis installed if available in the repos. - Installs oh-my-zsh (unattended) + the
zsh-autosuggestionsplugin. - Copies the
servers/dotfiles into$HOME. - Clones the Vim plugins declared in
.vimrc(dracula, lightline, vim-gitbranch) directly — no interactive step required.
It is safe to re-run; every step is idempotent.
Description
Languages
Shell
100%