blob: 2210ed2f1ef07482f58a0c211e98bef42bdcba36 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
#!/bin/zsh
### --- Packages --- ###
# Value format: "<subcmd> [args...]"
# Most tools use `init` (zoxide/atuin/batman/...); some use `hook` (direnv),
# `activate` (mise), `env` (fnm), etc. — encode it per-package.
typeset -A packages
packages=(
atuin "init --disable-up-arrow"
batman "init --export-env"
direnv "hook"
zoxide "init --cmd cd --hook prompt"
tmuxdbussync "init"
)
### --- Eval Function --- ###
eval_packages() {
for package in ${(k)packages}; do
if command -v "$package" >/dev/null; then
local parts=(${(s: :)packages[$package]})
(( ${#parts[@]} > 0 )) || continue
local subcmd=${parts[1]}
local args=(${parts[2,-1]})
eval "$($package $subcmd zsh ${args[@]})"
fi
done
}
### --- Init --- ###
eval_packages
|