Commit Graph

10 Commits

Author SHA1 Message Date
467b967ced tmux-ip: portable local-IP fallback for macOS
`hostname -I` is GNU-only and errors on BSD/macOS, so when the public-IP
curl couldn't reach api.ipify.org the script printed nothing and the
tmux status bar showed an empty IP. Try `ipconfig getifaddr` for common
interfaces first, fall back to `hostname -I` on Linux, then `ifconfig`
as a last resort. Also guard against empty-but-zero-exit curl output.
2026-05-17 03:12:11 -07:00
065686f341 spam-ascii: "*" dumps entire ~/ascii; alias quotes $0 to preserve it
Some checks failed
Close stale issues / stale (push) Has been cancelled
2026-04-22 07:00:52 -07:00
079bee5774 spam-ascii: pass -L to find so it dereferences ~/ascii when symlinked
Some checks failed
Close stale issues / stale (push) Has been cancelled
~/ascii is a symlink to ~/.yadr/ascii. Without -L, 'find <symlink>'
treats the link itself as the starting point, -type f rules it out,
and fuzzy matches return nothing.
2026-04-21 10:01:08 -07:00
4813512731 spam-ascii: fuzzy-match helper for /spam alias
New .local/bin/spam-ascii POSIX shell script: resolves a pattern to
a file in ~/ascii with this order:

  1. exact filename match
  2. exact name + common ASCII-art extension (.txt/.ans/.asc)
  3. first case-insensitive substring match (sorted alphabetically)

Non-zero exit + stderr-ish error if nothing matches, so /spam
prints 'no match in ~/ascii for: <pattern>' instead of spewing
a missing-file error.

Rewire the irssi /spam alias to call the script instead of
hardcoding 'cat ~/ascii/$0'. Now:

  /spam mario     -> matches ~/ascii/mario.txt or ~/ascii/Mario_art.ans
  /spam MARIO     -> case-insensitive
  /spam nothere   -> 'no match in ~/ascii for: nothere'
2026-04-21 09:48:40 -07:00
18ddfc9ad6 tmux-ip: fix DO metadata path (address -> ip_address)
The DigitalOcean metadata endpoint for reserved/floating IPv4 is
/metadata/v1/{reserved,floating}_ip/ipv4/ip_address, not .../address.
The .../active check works but the wrong IP path returned an empty
body, causing the script to silently fall through to ipify on every
droplet with a reserved/floating IP attached.

Verified on a droplet:
  curl .../reserved_ip/ipv4/ip_address -> 45.55.111.240
  curl .../reserved_ip/ipv4/address    -> (empty)
2026-04-21 07:20:51 -07:00
129d77471b tmux-ip: prefer DigitalOcean reserved/floating IP when on a droplet
If /sys/class/dmi/id/sys_vendor says DigitalOcean and the droplet has
a reserved_ip or floating_ip assigned, use that over the ipify-based
egress IP. Keeps the ipify/hostname -I fallback intact for other hosts.

Gated on the DMI check so non-DO hosts skip the metadata probe entirely
and the tmux status bar refresh stays fast.
2026-04-21 07:10:13 -07:00
65f583fd2b Scrub hardcoded /home/dissimulo paths; use $HOME / relative symlinks
- Convert 21 absolute-path symlinks into YADR to relative paths
  (e.g. .vimrc -> .yadr/vimrc), so they resolve correctly under
  any user's $HOME after a standard YADR install.
- .fehbg: replace hardcoded background path with $HOME-based one
- .gtk-bookmarks: remove (trivially personal; GTK regenerates)
- .themes/*/index.theme: drop BackgroundImage= lines pointing at
  personal image files that other users won't have.
- .xscreensaver: scrub username from header comment.
- .irssi/config: generic dcc_download_path.
2026-04-21 06:48:06 -07:00
852a682df5 Update claude binary 2026-04-21 06:16:16 -07:00
0affdd1fb7 Add tmux-ip helper script with public/internal IP fallback 2026-04-21 06:16:16 -07:00
bc9f9d8094 Add dotfiles from home directory
Tracks shell configs (zsh/bash), vim, tmux, irssi, fonts, themes,
and ~/.local/bin scripts. Sensitive files (.ssh, .gnupg, history,
credentials) and large app data are excluded via .gitignore.
2026-04-21 06:16:16 -07:00