896e31039daa9c0573f96658be05b301a8b66ee8
Bootstraps a fresh host: detects apt vs apk, installs base + extra packages (htop/neofetch/fzf), installs oh-my-zsh + zsh-autosuggestions, deploys the matching server/<host> dotfiles by hostname, and runs Vundle :PluginInstall. Flags: --host --no-zsh --chsh --dry-run.
dotfiles
Personal and server dotfiles. Kept in two areas:
server/— configs pulled from the homelab servers (iris, vega, nebula, nexus)- (personal dotfiles live at the repo root, kept separate from
server/)
Layout
server/<host>/
.zshrc zsh config (oh-my-zsh, agnoster theme)
.vimrc vim config (dracula + lightline + Vundle)
.bashrc bash config (where present)
.config/htop/htoprc htop config
.config/neofetch/config.conf neofetch config (where present)
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 (25–32M); 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
Reinstalling the frameworks on a fresh server
# oh-my-zsh (theme used: agnoster)
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# zsh-autosuggestions plugin
git clone https://github.com/zsh-users/zsh-autosuggestions \
${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
# vim plugins (dracula, lightline, vim-gitbranch) via Vundle
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
vim +PluginInstall +qall
After cloning server/<host>/ contents into /root, source .zshrc (or
re-login) and run :PluginInstall once in vim.
Description
Languages
Shell
100%