feat(shell): add poke function and update fish-deps for ov and yay

- Add poke: touch with automatic parent directory creation; prints
  colored notice when new dirs are created; handles multiple file args
- Refactor config.fish CachyOS override block: consolidate copy into
  the erase+source loop alongside ls/lt/cleanup
- fish-deps: replace most with ov (cargo crate + AUR pkg); add yay as
  rec dep with yay-build special (paru -S yay or AUR makepkg); add
  update handling for yay-build in _fish_deps_update
- README: document poke in Directory & File Listing table
This commit is contained in:
2026-06-03 22:52:49 -04:00
parent 40021dcc21
commit c97c2290eb
6 changed files with 76 additions and 38 deletions
+8 -8
View File
@@ -16,27 +16,27 @@
# uv and cargo are listed first so both are available before fish and other Rust tools.
function _fish_deps_catalog
set -g _fdc_bins \
uv cargo fish fisher starship fzf zoxide direnv paru \
uv cargo fish fisher starship fzf zoxide direnv paru yay \
wakatime tailscale \
eza lsd bat btop dust duf prettyping most rg lazygit lazydocker trash kitty wezterm
eza lsd bat btop dust duf prettyping ov rg lazygit lazydocker trash kitty wezterm
set -g _fdc_tiers \
req req req req req req req req rec \
req req req req req req req req rec rec \
int int \
rec rec rec rec rec rec rec rec rec rec rec rec rec rec
set -g _fdc_cargo \
"" "" "" "" starship "" zoxide "" "" \
"" "" "" "" starship "" zoxide "" "" "" \
"" "" \
eza lsd bat "" du-dust "" "" "" ripgrep "" "" trashy "" ""
eza lsd bat "" du-dust "" "" ov ripgrep "" "" trashy "" ""
set -g _fdc_pm \
uv cargo fish "" starship fzf zoxide direnv "" \
uv cargo fish "" starship fzf zoxide direnv "" yay \
wakatime tailscale \
eza lsd bat btop dust duf prettyping most ripgrep lazygit lazydocker trash kitty wezterm
eza lsd bat btop dust duf prettyping ov ripgrep lazygit lazydocker trash kitty wezterm
set -g _fdc_special \
curl-uv rustup-installer git-cargo-fish fisher-bootstrap curl-installer fzf-update "" "" paru-build \
curl-uv rustup-installer git-cargo-fish fisher-bootstrap curl-installer fzf-update "" "" paru-build yay-build \
wakatime-binary "" \
"" "" "" "" "" "" "" "" "" "" curl-lazydocker "" "" ""
end
+18
View File
@@ -100,6 +100,15 @@ function _fish_deps_install
set -a methods special-paru
set -a method_labels "build from AUR (makepkg)"
end
case yay-build
if type -q paru
set -a methods special-paru-yay
set -a method_labels "paru -S yay"
end
if type -q pacman
set -a methods special-yay
set -a method_labels "build from AUR (makepkg)"
end
case pipx
if type -q pipx
set -a methods special-pipx
@@ -202,6 +211,15 @@ function _fish_deps_install
end
case special-yay-paru
yay -S --noconfirm paru
case special-paru-yay
paru -S --noconfirm yay
case special-yay
set -l _build_dir (mktemp -d)
git clone https://aur.archlinux.org/yay.git $_build_dir
and pushd $_build_dir
and makepkg -si --noconfirm
and popd
rm -rf $_build_dir
case special-paru
set -l _build_dir (mktemp -d)
git clone https://aur.archlinux.org/paru.git $_build_dir
+15
View File
@@ -28,6 +28,21 @@ function _fish_deps_update
set -l pm_pkg $_fdc_pm[$i]
set -l special $_fdc_special[$i]
# yay: update via paru if available, else system PM
if test "$special" = yay-build
if type -q paru
echo "Updating $bin..."
paru -S --noconfirm yay
set updated_any 1
else if test -n "$pm_pkg"; and test -n "$pm"
echo "Updating $bin..."
_fish_deps_pm_upgrade $pm_pkg
set updated_any 1
end
set i (math $i + 1)
continue
end
# cargo: update via rustup
if test "$special" = rustup-installer
if type -q rustup
+17
View File
@@ -0,0 +1,17 @@
# Copyright (C) 2026 Rootiest
# SPDX-License-Identifier: AGPL-3.0-or-later
function poke --description 'touch with automatic parent directory creation'
if test (count $argv) -eq 0
echo (set_color red)"poke: no file specified"(set_color normal) >&2
return 1
end
for _path in $argv
set -l _dir (dirname $_path)
if not test -d $_dir
mkdir -p $_dir
and echo (set_color --bold cyan)"Created: "(set_color cyan)"$_dir"(set_color normal)
end
touch $_path
end
end