Adds a step after personal-dotfile deploy that runs Anthropic's official one-liner installer (curl -fsSL https://claude.ai/install.sh | bash) when no 'claude' binary is found. No-ops if claude is already on the machine. Opt out with DRUNKENDOTFILES_SKIP_CLAUDE=1. Install failures are non-fatal — the rest of the flow still completes. README: document the new step + the opt-out env var + curl in the required tools list.
127 lines
3.9 KiB
Markdown
127 lines
3.9 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`
|
|
|
|
## 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
|