Files
drunkendotfiles/README.md
dissimulo 1e39d19ab2 Ensure Prezto submodule is initialized on clone/install
install.sh: use --recurse-submodules on the initial clone, and always
run 'git submodule update --init --recursive' before rake install so a
fresh checkout doesn't leave zsh/prezto empty.

README: document --recurse-submodules for manual clones; mention the
recovery command for existing shallow clones.

Fixes: bad math expression errors and 'no such file or directory:
~/.zprezto/runcoms/zshrc' on fresh shell startup when the Prezto
submodule hadn't been initialized.
2026-04-21 08:06:07 -07:00

3.8 KiB

drunkendotfiles

dissimulo's dotfiles. A fork of skwp/dotfiles (YADR) with personal configs layered on top: a custom tmux setup, irssi, fonts, GTK themes, and assorted ~/.local/bin/ helpers.

Upstream YADR hasn't been updated in a long time; this fork refreshes it and adds machine-wide customizations.

Install

One-liner:

curl -fsSL https://gitea.dlw.la/dissimulo/drunkendotfiles/raw/branch/drunkendotfiles/install.sh | bash

Or clone first:

git clone --recurse-submodules https://gitea.dlw.la/dissimulo/drunkendotfiles.git ~/.yadr
~/.yadr/install.sh

--recurse-submodules matters: Prezto lives in zsh/prezto as a git submodule. Without it, ~/.zshrc fails on startup with a missing ~/.zprezto/runcoms/zshrc. (If you already cloned without it, cd ~/.yadr && git submodule update --init --recursive catches you up.)

The installer:

  1. Clones this repo to ~/.yadr
  2. Runs YADR's native rake install for vim/prezto/plugins
  3. Deploys the personal dotfiles on top of $HOME, moving any collisions to ~/.drunkendotfiles.bak.<timestamp>/

Requires git and rake (ruby).

Upgrading

Two things can be refreshed independently.

Pull new drunkendotfiles changes

cd ~/.yadr && git pull --recurse-submodules

That gets you any new config changes, tmux tweaks, helper scripts, etc. pushed to this repo, plus any bumps to the Prezto submodule pointer. Vim plugins are not touched — see below.

Refresh YADR plugins

cd ~/.yadr && rake update

rake update walks through YADR's plugin managers (Vim-plug for vim, the Prezto submodule for zsh) and pulls down the latest versions of each. Run this every so often, or after pulling drunkendotfiles changes that modify the plugin list (vim/.vundles, vim/after/.vundles.after, or the modules list in zsh/prezto-override/zpreztorc).

Redeploy personal dotfiles

If a git pull touched personal dotfiles at the repo root (e.g. a new .tmux.conf or a new .local/bin/ helper) and you want those changes deployed to $HOME:

~/.yadr/install.sh

It's idempotent — any files in $HOME that would be overwritten get moved to ~/.drunkendotfiles.bak.<timestamp>/ first.

Full refresh in one shot

cd ~/.yadr && git pull && rake update && ./install.sh

What's included

On top of stock YADR:

  • .tmux.conf — real file (not the YADR symlink), with internal/public IP in the status bar and 80k-line scrollback
  • .local/bin/tmux-ip — helper used by .tmux.conf; prefers a DigitalOcean reserved/floating IP if the host is a droplet with one attached, falls back to public egress (ipify) and then first local IP
  • .irssi/ — IRC client config (no credentials committed)
  • .fonts/ — Inconsolata, Menlo-Powerline, mensch-Powerline, monof55/56
  • .themes/ — BlackMATE v2 / v2.2 / "The Blues" GNOME metathemes
  • Shell RCs (.bashrc, .profile, .zshenv.backup, .zshrc.backup, etc.)
  • X/WM configs (.xscreensaver, .xmodmap, .xsnowrc, .weatherspect, .fehbg)
  • Misc: .rainbow_config.json (rainbowstream), .nanorc, .selected_editor, .mplayer/config, .jigdo-lite

Upstream

Base is skwp/dotfiles (YADR — Yet Another Dotfiles Repo). All credit for the vim/zsh/tmux/irb foundations goes to Yan Pritzker and YADR contributors. This repo tracks a snapshot of upstream master at 630d39f (the last commit there as of this fork).

To refresh from upstream later:

cd ~/.yadr
git remote add upstream https://github.com/skwp/dotfiles.git
git fetch upstream
# then rebase or merge upstream/master into drunkendotfiles as needed

License

YADR content is under YADR's license (upstream). Personal additions in this fork are released under the same terms.