166 lines
5.0 KiB
Markdown
166 lines
5.0 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>/`
|
|
4. Installs [Claude Code](https://claude.ai/code) (Anthropic's CLI) if it
|
|
isn't already on the machine — set `DRUNKENDOTFILES_SKIP_CLAUDE=1` to
|
|
skip this step
|
|
|
|
Requires `git`, `rake` (ruby), and `curl`.
|
|
|
|
## 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`
|
|
|
|
## Rainbow output (lolcat)
|
|
|
|
`zsh/lolcat.zsh` wires [lolcat](https://github.com/jaseg/lolcat) (Debian's
|
|
`/usr/games/lolcat`, the truecolor C build) into a few shell helpers. lolcat
|
|
auto-detects a tty — it colorizes straight to the terminal but passes text
|
|
through plain when piped onward, so use `-f`/`--force` to colorize mid-pipeline.
|
|
|
|
### Opt-in, per command
|
|
|
|
Prefix any command to rainbow its output:
|
|
|
|
```sh
|
|
lol fastfetch
|
|
lol git log --oneline
|
|
lol ls -C # -C keeps columns: a piped ls otherwise goes single-column
|
|
lolf git diff | less -R # force color so it survives down a pipeline
|
|
```
|
|
|
|
### Shortcuts
|
|
|
|
```sh
|
|
rcat file.txt # rainbow cat
|
|
rls -la # rainbow ls, columns preserved
|
|
some-cmd | rless # rainbow + pager (less -R)
|
|
```
|
|
|
|
### Session toggle
|
|
|
|
Rainbow *all* shell stdout until you turn it off:
|
|
|
|
```sh
|
|
rainbow_on # everything is rainbow now
|
|
...
|
|
rainbow_off # back to normal
|
|
```
|
|
|
|
Novelty only: it garbles full-screen/interactive programs (vim, less, htop,
|
|
fzf, ssh) and the prompt, and buffers streaming output. Doesn't touch stderr.
|
|
|
|
## 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
|