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

124 lines
3.8 KiB
Markdown

# drunkendotfiles
dissimulo's dotfiles. A fork of [skwp/dotfiles][yadr] (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:
```sh
curl -fsSL https://gitea.dlw.la/dissimulo/drunkendotfiles/raw/branch/drunkendotfiles/install.sh | bash
```
Or clone first:
```sh
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
```sh
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
```sh
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`:
```sh
~/.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
```sh
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] (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:
```sh
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](LICENSE) (upstream). Personal
additions in this fork are released under the same terms.
[yadr]: https://github.com/skwp/dotfiles