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:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user