- logs.fish: add yay category, ov-powered viewing for paru/yay (section
headers, color highlights, ==> AUR build markers) and scrollback logs
(OSC 133;A sticky prompt headers); add fzf Ctrl-D delete with Y/n
confirm and list refresh, ? toggleable help overlay; run
_scrollback_prune_junk before building file list
- _scrollback_prune_junk: new utility to remove empty, single-line, and
Kitty tab-rename noise logs before display and before max-file pruning;
called from both logs and smart_exit
- smart_exit: call _scrollback_prune_junk before counting toward max files
- conf.d/yay-wrapper.fish: auto-generate ~/.local/bin/yay logging wrapper
mirroring paru-wrapper; tees output to timestamped logs, prunes old ones
- conf.d/starship.fish: move fish_prompt from config.fish; emit OSC 133;A
after the prompt's leading newline so the marker lands on the info-bar
line rather than the blank line above it; guard with type -q starship so
clean fish sessions use built-in markers unchanged
- config.fish: remove inline fish_prompt block (now in conf.d/starship.fish);
add return sentinel at EOF to prevent tool-injected init lines from running
- completions/ov.fish: add ov tab completions
- README.md: document all of the above
- Set $PAGER to ov in config.fish (falls back to less); remove LESS=-R
- Rewrite less wrapper with full hierarchy: $PAGER → ov → less → more → cat
- Simplify view.fish fallback to delegate to the less wrapper
- Add logs function: fzf browser for scrollback and paru logs, opens in $PAGER
- Add claude wrapper: auto-injects --remote-control unless already present
- Add conf.d/paru-wrapper.fish: generates ~/.local/bin/paru on first run,
versioned so future template changes auto-propagate on next shell start
- Sync README.md and requirements.md to document all of the above
- Add smart_exit function: captures Kitty scrollback to a timestamped
log file on exit; --no-log/-n skips capture; auto-prunes oldest logs
once count exceeds SCROLLBACK_HISTORY_MAX_FILES
- Wire exit → smart_exit in config.fish for interactive sessions;
export SCROLLBACK_HISTORY_DIR and SCROLLBACK_HISTORY_MAX_FILES with
sane defaults (~/.terminal_history and 100 respectively)
- Update cat to detect files in SCROLLBACK_HISTORY_DIR or containing
raw ANSI escape sequences and pass them through command cat instead
of bat, preserving color output
- Remove redundant alias rm="rm -i" from tricks.fish (superseded by
functions/rm.fish trash-aware wrapper)
- Sync README: new Scrollback History integration section, smart_exit
added to System functions table, cat description updated, stale rm
Safety Wrapper entry and note removed
- Add system aliases: dot-navigation (.., ..., etc.), color overrides for
grep/dir/vdir, safety wrappers (cp/mv/rm -i), archive shortcuts
(tarnow, untar), wget resume, tb (termbin), and jctl
- Set MANPAGER/MANROFFOPT to render man pages through bat when available
- Configure franciscolourenco/done notification plugin settings
(__done_min_cmd_duration=10s, __done_notification_urgency_level=low)
- Add psmem/psmem10 memory-monitoring helpers
- Switch PATH setup to fish_add_path (handles deduplication automatically)
- Add conf.d/done.fish (done plugin v1.19.1)
- Source tricks.fish explicitly after CachyOS base config in config.fish
- Sync README with all new functions, aliases, and integrations
Adds conf.d/tricks.fish (PATH additions for ~/.local/bin and depot_tools,
bang-bang key bindings, history timestamp override, backup utility) and
functions/copy.fish (smarter cp wrapper that strips trailing slashes from
source directories, fixing a CachyOS-specific cp quirk).
Updates config.fish to explicitly source copy.fish on startup and refactors
several conditional blocks to single-line style for consistency. Syncs
README.md to document all new utilities.
Creates a directory (including all missing parents) and immediately
cd's into it. Supports -h/--help, distinguishes new vs existing dirs
in feedback, and uses set_color for consistent colored output.
Toggles sudo password enforcement on/off by writing or
truncating a NOPASSWD rule in /etc/sudoers.d/nofail-toggle.
Useful for temporarily bypassing FIDO key prompts during
batch admin tasks without permanently weakening sudoers.
pkg now auto-detects whether each package is installed and
installs or removes accordingly. Explicit -i/--install and
-u/--uninstall flags override the auto-detection. Adds help
output when invoked without arguments.
- Missing GITIGNORE_BOILERPLATE var/file now prints error but continues
to the API prompt instead of exiting the function
- Empty Enter at the pattern prompt now prints "No patterns selected.
Skipping API fetch." instead of silently returning
- Remove magic-enter.fish from plugins table (plugin removed)
- Add gi function to Git functions table with all flags documented
- Add gitig/git-ignore abbreviations to Git abbreviations table
- Add GITIGNORE_BOILERPLATE env var example to local.fish personalization block
Rename gemini-resume → antigravity-resume and save_gemini_session →
save_antigravity_session; update all session files from .gemini_session
to .antigravity_session and LAST_GEMINI_SESSION → LAST_ANTIGRAVITY_SESSION.
Replace gemini/gemini-cli binary calls with agy throughout superpowers,
code-resume, and the resume function. Add antigravity-ide wrapper for the
renamed IDE binary; update abbr v → antigravity-ide (VSCode-equivalent)
and update README/requirements to reflect the new tool names.
Adds a robust `scrub` utility function to safely and recursively clean
up common OS metadata, development caches, editor artifacts, and slicer
cruft using `fd`.
Features:
- Hierarchical deletion fallback system: checks for a custom `rm`
function, falls back to `trashy` (trash put), then `trash-cli`,
and drops to standard `rm -rf` as a final measure.
- Safe `-d/--dry-run` modes to preview matched targets.
- An advanced `-a/--aggressive` mode for wiping heavy project caches
(node_modules), local logs, and custom AI runtime config histories.
- Full flag validation and colorized help menus.
git tag --list 'fish-*' replaces for-each-ref so old pre-Rust tags like
pre_whitespace_fix (which have no Cargo.toml) are never selected.
starship update: sh -s -- --yes correctly passes --yes to the piped
install script instead of treating it as a filename for sh to open.
uv is now listed first in the catalog (before cargo and fish) so it is
installed automatically before the fish source build is attempted.
Install uses the official curl script; update uses `uv self update`.
Catalog order is now: uv → cargo → fish → … ensuring prerequisites are
in place before any dependent install method runs.
README updated: uv and cargo added to the Required table, warning callout
and dependency management note reflect the automatic install flow.
Adds a git-cargo-fish install method that clones fish-shell, checks out
the latest tag, and runs `uv run --no-managed-python cargo install --path .`.
This is offered first in `fish-deps install` (requires cargo + uv) and
used automatically by `fish-deps update`, falling back to the system PM
when cargo or uv are absent.
Removes the stale `cargo install fish` README note (that crate is a
library, not the shell binary).
fish-deps status now shows ⚠ with the current version when fish < 4.0.
fish-deps install prompts to upgrade fish when the installed version is
below 4.0, using the same install methods (cargo/PM) and printing a
restart reminder on success.
lazydocker: prefer the official install_update_linux.sh curl script over
system PM. The same script handles updates, so fish-deps update re-runs it.
wakatime: replace pipx with a direct binary download from github releases.
Detects architecture (amd64/arm64/arm) via uname -m, downloads the zip,
extracts the binary to ~/.config/wakatime/wakatime, chmods it, and
symlinks it to ~/.local/bin/wakatime. fish-deps update re-downloads and
replaces the binary in place.
Both new specials are added to the preferred-method block so they appear
before the system PM and are the default when prompted.
After the rustup installer runs, add the cargo bin dir to PATH in the
current session so subsequent installs in the same fish-deps run can
find cargo without a shell restart. Checks CARGO_HOME/bin first (set
in config.fish), then falls back to the rustup default ~/.cargo/bin.
Warns the user if cargo still isn't detectable after the path update.
Fish 4.x is a Rust rewrite published to crates.io as 'fish'. Added the
crate to the catalog so fish-deps update will run cargo install --force
fish to upgrade it. A yellow restart reminder is printed after the
upgrade since the new binary won't take effect until the shell restarts.
README warning updated to mention cargo install fish as the upgrade
path for users stuck on Fish 3.x.
cargo is now the second entry in the catalog (after fish) so it is
installed before any Rust tool that depends on it. Install preference:
rustup installer (curl | sh) first, system PM as fallback. Update
runs rustup update when rustup is available.
The rustup-installer special is evaluated before the system PM in the
method list so it is always option 1 / the default for cargo.
On Arch-based systems (pacman present), paru-build offers yay or
makepkg as install methods. On non-Arch systems neither pacman nor yay
exist, so no methods are built and the dep is silently skipped — no
prompt shown to the user.
Catalog: clear paru's pm and special install entries so it appears in
status but fish-deps install skips it (it's a package manager, not a
managed dep).
Install: cargo is now always attempted first for Rust tools. When cargo
is absent but a crate exists, a note is printed suggesting rustup.
When only one method is available the chosen method is shown so the user
can see whether cargo or the system PM is being used. Method prompt now
shows the default label inline for clarity.
Removed dead paru-build switch case from the install executor.
Split _fish_deps_pm.fish into one file per function so Fish can
autoload each by name (_fish_deps_detect_pm, _fish_deps_pm_install,
_fish_deps_pm_upgrade). A single file with multiple functions only
autoloads under the filename, leaving the others unreachable.
Replace all `test -a`/`test -o` binary operators with `; and`/`; or`
chains throughout _fish_deps_install and _fish_deps_update. Fish 4.x
removed support for -a/-o in test, causing the "unexpected argument"
errors seen on Debian.
Also consolidate paru/yay cases in pm_install and pm_upgrade since
both helpers use identical flags.
upgrade, pkg, search, and parur now detect paru first, then yay, and
print a clear error if neither is installed. Removes the hard dependency
on paru specifically across all AUR-wrapper functions.
paru is an AUR helper only available on Arch-based distros and is not
required for the config to function. Moved to recommended tier alongside
yay. README updated accordingly.
Installed deps show a green ✓. Missing required/integration deps show
a red ✗. Missing recommended deps show a yellow ⚠ since they are
optional, distinguishing severity at a glance.
yay uses the same -S --noconfirm interface as paru. Detection priority
is paru > yay > pacman so paru is preferred when both are present.
When installing paru itself via paru-build special, yay -S paru is
offered as a method when yay is available, in addition to the
makepkg-from-source fallback.
Older fzf (pre-0.62) does not support the focus and resize events in
bind actions, causing a startup error when --fish or the bundled
integration is sourced. Split the FZF_DEFAULT_OPTS preview block into
an if/else: newer fzf gets the dynamic bg-transform bind with wrap-word;
older fzf gets a static preview window with plain wrap and no event bind.