The skwp prompt's precmd calls git-info and ruby-info (prezto module
functions that live in ~/.zprezto/modules/{git,ruby}/functions). On
interactive shell startup, something — likely compinit's
insecure-directory pruning when parent dirs are group-writable —
strips those paths from $fpath after pmodload seeded them.
When precmd then references the autoload-declared-but-unfindable
functions, zsh fails to locate the definition file, aborts the
prompt render midway through, and zsh-syntax-highlighting latches
onto the broken half-prompt. Observed symptoms:
prompt_skwp_precmd: git-info: function definition file not found
prompt_skwp_precmd: ruby-info: function definition file not found
zsh: bad math expression: operand expected at '%F{135}%n%...'
_zsh_highlight_call_widget:2: bad math expression: operand...
Defensive re-seed: before calling 'prompt skwp', prepend the helper,
git, and ruby module function dirs to $fpath if they aren't already
present. Idempotent, cheap, and masks any upstream stripping
regardless of cause.
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:
- Clones this repo to
~/.yadr - Runs YADR's native
rake installfor vim/prezto/plugins - Deploys the personal dotfiles on top of
$HOME, moving any collisions to~/.drunkendotfiles.bak.<timestamp>/ - Installs Claude Code (Anthropic's CLI) if it
isn't already on the machine — set
DRUNKENDOTFILES_SKIP_CLAUDE=1to skip this step
Requires git, rake (ruby), and curl.
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.