omni-catalyst 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (237) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1137 -0
  3. package/core/bin/core +85 -0
  4. package/core/bin/omni +21 -0
  5. package/core/cli/commands/--version.sh +8 -0
  6. package/core/cli/commands/brain.sh +1549 -0
  7. package/core/cli/commands/doctor.sh +834 -0
  8. package/core/cli/commands/env.sh +226 -0
  9. package/core/cli/commands/init.sh +1266 -0
  10. package/core/cli/commands/install.sh +759 -0
  11. package/core/cli/commands/list.sh +397 -0
  12. package/core/cli/commands/open.sh +71 -0
  13. package/core/cli/commands/pg.sh +761 -0
  14. package/core/cli/commands/reinstall.sh +694 -0
  15. package/core/cli/commands/show.sh +90 -0
  16. package/core/cli/commands/uninstall.sh +700 -0
  17. package/core/cli/commands/update.sh +754 -0
  18. package/core/cli/commands/voice.sh +170 -0
  19. package/core/cli/core.sh +82 -0
  20. package/core/cli/omni.sh +634 -0
  21. package/core/modules/ai.sh +152 -0
  22. package/core/modules/auto.sh +90 -0
  23. package/core/modules/db.sh +94 -0
  24. package/core/modules/deploy.sh +50 -0
  25. package/core/modules/dev.sh +126 -0
  26. package/core/modules/editor.sh +101 -0
  27. package/core/modules/lang.sh +100 -0
  28. package/core/modules/npm.sh +122 -0
  29. package/core/modules/shell.sh +312 -0
  30. package/core/modules/ui.sh +115 -0
  31. package/core/tools/ai/all.sh +63 -0
  32. package/core/tools/ai/antigravity-cli/README.md +45 -0
  33. package/core/tools/ai/antigravity-cli/bin/agy +28 -0
  34. package/core/tools/ai/antigravity-cli/helper/agy_helper.c +39 -0
  35. package/core/tools/ai/antigravity-cli/install.sh +469 -0
  36. package/core/tools/ai/claude-code/README.md +45 -0
  37. package/core/tools/ai/claude-code/bin/claude +29 -0
  38. package/core/tools/ai/claude-code/helper/claude_helper.c +42 -0
  39. package/core/tools/ai/claude-code/install.sh +278 -0
  40. package/core/tools/ai/codegraph/README.md +43 -0
  41. package/core/tools/ai/codegraph/bin/codegraph +3 -0
  42. package/core/tools/ai/codegraph/install.sh +149 -0
  43. package/core/tools/ai/codex/README.md +44 -0
  44. package/core/tools/ai/codex/install.sh +104 -0
  45. package/core/tools/ai/command-code/README.md +62 -0
  46. package/core/tools/ai/command-code/install.sh +136 -0
  47. package/core/tools/ai/engram/README.md +44 -0
  48. package/core/tools/ai/engram/install.sh +127 -0
  49. package/core/tools/ai/freebuff/README.md +52 -0
  50. package/core/tools/ai/freebuff/bin/freebuff +28 -0
  51. package/core/tools/ai/freebuff/helper/freebuff_helper.c +47 -0
  52. package/core/tools/ai/freebuff/install.sh +301 -0
  53. package/core/tools/ai/gemini-cli/README.md +46 -0
  54. package/core/tools/ai/gemini-cli/install.sh +111 -0
  55. package/core/tools/ai/gentle-ai/README.md +42 -0
  56. package/core/tools/ai/gentle-ai/install.sh +253 -0
  57. package/core/tools/ai/gentle-ai/termux-patches.go +256 -0
  58. package/core/tools/ai/gga/README.md +49 -0
  59. package/core/tools/ai/gga/install.sh +134 -0
  60. package/core/tools/ai/hermes-agent/README.md +50 -0
  61. package/core/tools/ai/hermes-agent/install.sh +80 -0
  62. package/core/tools/ai/heygen/README.md +24 -0
  63. package/core/tools/ai/heygen/install.sh +126 -0
  64. package/core/tools/ai/kilocode-cli/README.md +45 -0
  65. package/core/tools/ai/kilocode-cli/bin/kilocode +21 -0
  66. package/core/tools/ai/kilocode-cli/helper/kilocode_helper.c +47 -0
  67. package/core/tools/ai/kilocode-cli/install.sh +179 -0
  68. package/core/tools/ai/kimchi-code/README.md +8 -0
  69. package/core/tools/ai/kimchi-code/install.sh +120 -0
  70. package/core/tools/ai/kimi-code/README.md +45 -0
  71. package/core/tools/ai/kimi-code/install.sh +111 -0
  72. package/core/tools/ai/kiro-cli/README.md +23 -0
  73. package/core/tools/ai/kiro-cli/install.sh +127 -0
  74. package/core/tools/ai/mimocode/README.md +43 -0
  75. package/core/tools/ai/mimocode/bin/mimo +28 -0
  76. package/core/tools/ai/mimocode/helper/mimocode_helper.c +47 -0
  77. package/core/tools/ai/mimocode/install.sh +287 -0
  78. package/core/tools/ai/minimax-cli/README.md +45 -0
  79. package/core/tools/ai/minimax-cli/install.sh +111 -0
  80. package/core/tools/ai/mistral-vibe/README.md +46 -0
  81. package/core/tools/ai/mistral-vibe/install.sh +119 -0
  82. package/core/tools/ai/odysseus/README.md +35 -0
  83. package/core/tools/ai/odysseus/install.sh +163 -0
  84. package/core/tools/ai/ollama/README.md +44 -0
  85. package/core/tools/ai/ollama/install.sh +78 -0
  86. package/core/tools/ai/openclaude/README.md +46 -0
  87. package/core/tools/ai/openclaude/install.sh +110 -0
  88. package/core/tools/ai/openclaw/README.md +47 -0
  89. package/core/tools/ai/openclaw/install.sh +112 -0
  90. package/core/tools/ai/opencode/README.md +51 -0
  91. package/core/tools/ai/opencode/bin/opencode +28 -0
  92. package/core/tools/ai/opencode/helper/opencode_helper.c +57 -0
  93. package/core/tools/ai/opencode/install.sh +290 -0
  94. package/core/tools/ai/pi/README.md +46 -0
  95. package/core/tools/ai/pi/install.sh +104 -0
  96. package/core/tools/ai/qwen-code/README.md +45 -0
  97. package/core/tools/ai/qwen-code/install.sh +111 -0
  98. package/core/tools/ai/seedance/README.md +22 -0
  99. package/core/tools/ai/seedance/install.sh +134 -0
  100. package/core/tools/ai/veo3/README.md +36 -0
  101. package/core/tools/ai/veo3/install.sh +151 -0
  102. package/core/tools/auto/all.sh +57 -0
  103. package/core/tools/auto/n8n/README.md +47 -0
  104. package/core/tools/auto/n8n/install.sh +102 -0
  105. package/core/tools/db/all.sh +60 -0
  106. package/core/tools/db/mariadb/README.md +43 -0
  107. package/core/tools/db/mariadb/install.sh +65 -0
  108. package/core/tools/db/mongodb/README.md +42 -0
  109. package/core/tools/db/mongodb/install.sh +73 -0
  110. package/core/tools/db/postgresql/README.md +45 -0
  111. package/core/tools/db/postgresql/install.sh +65 -0
  112. package/core/tools/db/sqlite/README.md +44 -0
  113. package/core/tools/db/sqlite/install.sh +65 -0
  114. package/core/tools/deploy/all.sh +39 -0
  115. package/core/tools/deploy/netlify/install.sh +41 -0
  116. package/core/tools/deploy/railway/install.sh +47 -0
  117. package/core/tools/deploy/vercel/install.sh +43 -0
  118. package/core/tools/dev/all.sh +75 -0
  119. package/core/tools/dev/bat/README.md +44 -0
  120. package/core/tools/dev/bat/install.sh +82 -0
  121. package/core/tools/dev/bc/README.md +44 -0
  122. package/core/tools/dev/bc/install.sh +82 -0
  123. package/core/tools/dev/cloudflared/README.md +43 -0
  124. package/core/tools/dev/cloudflared/install.sh +82 -0
  125. package/core/tools/dev/curl/README.md +43 -0
  126. package/core/tools/dev/curl/install.sh +82 -0
  127. package/core/tools/dev/fzf/README.md +44 -0
  128. package/core/tools/dev/fzf/install.sh +82 -0
  129. package/core/tools/dev/gh/README.md +43 -0
  130. package/core/tools/dev/gh/install.sh +82 -0
  131. package/core/tools/dev/html2text/README.md +44 -0
  132. package/core/tools/dev/html2text/install.sh +82 -0
  133. package/core/tools/dev/imagemagick/README.md +44 -0
  134. package/core/tools/dev/imagemagick/install.sh +82 -0
  135. package/core/tools/dev/jq/README.md +44 -0
  136. package/core/tools/dev/jq/install.sh +82 -0
  137. package/core/tools/dev/lsd/README.md +44 -0
  138. package/core/tools/dev/lsd/install.sh +82 -0
  139. package/core/tools/dev/make/README.md +44 -0
  140. package/core/tools/dev/make/install.sh +82 -0
  141. package/core/tools/dev/ncurses/README.md +42 -0
  142. package/core/tools/dev/ncurses/install.sh +82 -0
  143. package/core/tools/dev/proot/README.md +43 -0
  144. package/core/tools/dev/proot/install.sh +82 -0
  145. package/core/tools/dev/shfmt/README.md +44 -0
  146. package/core/tools/dev/shfmt/install.sh +82 -0
  147. package/core/tools/dev/tmate/README.md +44 -0
  148. package/core/tools/dev/tmate/install.sh +82 -0
  149. package/core/tools/dev/translate/README.md +44 -0
  150. package/core/tools/dev/translate/install.sh +82 -0
  151. package/core/tools/dev/tree/README.md +44 -0
  152. package/core/tools/dev/tree/install.sh +82 -0
  153. package/core/tools/dev/udocker/README.md +44 -0
  154. package/core/tools/dev/udocker/install.sh +82 -0
  155. package/core/tools/dev/wget/README.md +44 -0
  156. package/core/tools/dev/wget/install.sh +82 -0
  157. package/core/tools/editor/all.sh +58 -0
  158. package/core/tools/editor/neovim/README.md +43 -0
  159. package/core/tools/editor/neovim/install.sh +66 -0
  160. package/core/tools/editor/nvchad/README.md +45 -0
  161. package/core/tools/editor/nvchad/install.sh +110 -0
  162. package/core/tools/lang/all.sh +63 -0
  163. package/core/tools/lang/clang/README.md +43 -0
  164. package/core/tools/lang/clang/install.sh +79 -0
  165. package/core/tools/lang/golang/README.md +43 -0
  166. package/core/tools/lang/golang/install.sh +79 -0
  167. package/core/tools/lang/nodejs/README.md +43 -0
  168. package/core/tools/lang/nodejs/install.sh +79 -0
  169. package/core/tools/lang/perl/README.md +43 -0
  170. package/core/tools/lang/perl/install.sh +79 -0
  171. package/core/tools/lang/php/README.md +43 -0
  172. package/core/tools/lang/php/install.sh +79 -0
  173. package/core/tools/lang/python/README.md +43 -0
  174. package/core/tools/lang/python/install.sh +79 -0
  175. package/core/tools/lang/rust/README.md +43 -0
  176. package/core/tools/lang/rust/install.sh +79 -0
  177. package/core/tools/npm/all.sh +67 -0
  178. package/core/tools/npm/live-server/README.md +43 -0
  179. package/core/tools/npm/live-server/install.sh +95 -0
  180. package/core/tools/npm/localtunnel/README.md +43 -0
  181. package/core/tools/npm/localtunnel/install.sh +111 -0
  182. package/core/tools/npm/markserv/README.md +43 -0
  183. package/core/tools/npm/markserv/install.sh +94 -0
  184. package/core/tools/npm/ncu/README.md +43 -0
  185. package/core/tools/npm/ncu/install.sh +94 -0
  186. package/core/tools/npm/nestjs/README.md +43 -0
  187. package/core/tools/npm/nestjs/install.sh +94 -0
  188. package/core/tools/npm/ngrok/README.md +44 -0
  189. package/core/tools/npm/ngrok/install.sh +94 -0
  190. package/core/tools/npm/prettier/README.md +43 -0
  191. package/core/tools/npm/prettier/install.sh +94 -0
  192. package/core/tools/npm/psqlformat/README.md +43 -0
  193. package/core/tools/npm/psqlformat/install.sh +94 -0
  194. package/core/tools/npm/turbopack/README.md +8 -0
  195. package/core/tools/npm/turbopack/install.sh +41 -0
  196. package/core/tools/npm/typescript/README.md +43 -0
  197. package/core/tools/npm/typescript/install.sh +94 -0
  198. package/core/tools/npm/vercel/README.md +43 -0
  199. package/core/tools/npm/vercel/install.sh +94 -0
  200. package/core/tools/shell/all.sh +67 -0
  201. package/core/tools/shell/better-npm/README.md +43 -0
  202. package/core/tools/shell/better-npm/install.sh +85 -0
  203. package/core/tools/shell/fzf-tab/README.md +44 -0
  204. package/core/tools/shell/fzf-tab/install.sh +85 -0
  205. package/core/tools/shell/history-substring/README.md +43 -0
  206. package/core/tools/shell/history-substring/install.sh +85 -0
  207. package/core/tools/shell/powerlevel10k/README.md +43 -0
  208. package/core/tools/shell/powerlevel10k/install.sh +85 -0
  209. package/core/tools/shell/you-should-use/README.md +43 -0
  210. package/core/tools/shell/you-should-use/install.sh +85 -0
  211. package/core/tools/shell/zsh-autopair/README.md +44 -0
  212. package/core/tools/shell/zsh-autopair/install.sh +85 -0
  213. package/core/tools/shell/zsh-autosuggestions/README.md +43 -0
  214. package/core/tools/shell/zsh-autosuggestions/install.sh +85 -0
  215. package/core/tools/shell/zsh-completions/README.md +43 -0
  216. package/core/tools/shell/zsh-completions/install.sh +85 -0
  217. package/core/tools/shell/zsh-defer/README.md +43 -0
  218. package/core/tools/shell/zsh-defer/install.sh +85 -0
  219. package/core/tools/shell/zsh-syntax-highlighting/README.md +43 -0
  220. package/core/tools/shell/zsh-syntax-highlighting/install.sh +72 -0
  221. package/core/tools/ui/all.sh +61 -0
  222. package/core/tools/ui/banner/README.md +42 -0
  223. package/core/tools/ui/banner/install.sh +151 -0
  224. package/core/tools/ui/cursor/README.md +42 -0
  225. package/core/tools/ui/cursor/install.sh +58 -0
  226. package/core/tools/ui/extra-keys/README.md +43 -0
  227. package/core/tools/ui/extra-keys/install.sh +62 -0
  228. package/core/tools/ui/font/README.md +43 -0
  229. package/core/tools/ui/font/install.sh +63 -0
  230. package/core/utils/banner.sh +519 -0
  231. package/core/utils/bootstrap.sh +25 -0
  232. package/core/utils/colors.sh +31 -0
  233. package/core/utils/dialogrc +30 -0
  234. package/core/utils/env.sh +53 -0
  235. package/core/utils/log.sh +598 -0
  236. package/install.sh +272 -0
  237. package/package.json +43 -0
@@ -0,0 +1,85 @@
1
+ #!/usr/bin/env bash
2
+
3
+ import "@/utils/log"
4
+
5
+ LOG_FILE="$OMNI_CACHE/install_shell.log"
6
+ ZSH_PLUGINS_DIR="$HOME/.zsh-plugins"
7
+
8
+ _zsh_completions_dependencies() {
9
+ declare -A DEPS=(
10
+ ["zsh"]="zsh"
11
+ ["zoxide"]="zoxide"
12
+ ["git"]="git"
13
+ )
14
+
15
+ local pkg_name bin_name
16
+ for pkg_name in "${!DEPS[@]}"; do
17
+ bin_name="${DEPS[$pkg_name]}"
18
+ if ! command -v "$bin_name" &>/dev/null; then
19
+ if ! pkg install "$pkg_name" -y &>>"$LOG_FILE"; then
20
+ log_error "Failed to install $pkg_name"
21
+ return 1
22
+ fi
23
+ fi
24
+ done
25
+
26
+ log_success "Shell dependencies installed"
27
+ return 0
28
+ }
29
+
30
+ _install_zsh_completions_git() {
31
+ loading "Installing zsh-completions" _install_zsh_completions_git_impl
32
+ }
33
+
34
+ _install_zsh_completions_git_impl() {
35
+ mkdir -p "$(dirname "$LOG_FILE")"
36
+ if ! git clone --depth=1 "https://github.com/zsh-users/zsh-completions.git" "$ZSH_PLUGINS_DIR/zsh-completions" &>>"$LOG_FILE"; then
37
+ log_error "Failed to install zsh-completions"
38
+ return 1
39
+ fi
40
+ return 0
41
+ }
42
+
43
+ install_zsh_completions() {
44
+ if [[ -d "$ZSH_PLUGINS_DIR/zsh-completions" ]]; then
45
+ log_info "zsh-completions already installed"
46
+ return 0
47
+ fi
48
+
49
+ _zsh_completions_dependencies
50
+
51
+ _install_zsh_completions_git || return 1
52
+ log_success "Installed"
53
+ return 0
54
+ }
55
+
56
+ _uninstall_zsh_completions_impl() {
57
+ if [[ ! -d "$ZSH_PLUGINS_DIR/zsh-completions" ]]; then
58
+ log_info "zsh-completions is not installed"
59
+ return 0
60
+ fi
61
+
62
+ rm -rf "$ZSH_PLUGINS_DIR/zsh-completions"
63
+ }
64
+
65
+ uninstall_zsh_completions() {
66
+ loading "Uninstalling zsh-completions" _uninstall_zsh_completions_impl
67
+ }
68
+
69
+ _update_zsh_completions_impl() {
70
+ if [[ ! -d "$ZSH_PLUGINS_DIR/zsh-completions/.git" ]]; then
71
+ log_warn "zsh-completions not installed"
72
+ return 0
73
+ fi
74
+
75
+ git -C "$ZSH_PLUGINS_DIR/zsh-completions" pull &>>"$LOG_FILE"
76
+ }
77
+
78
+ update_zsh_completions() {
79
+ loading "Updating zsh-completions" _update_zsh_completions_impl
80
+ }
81
+
82
+ reinstall_zsh_completions() {
83
+ uninstall_zsh_completions
84
+ install_zsh_completions
85
+ }
@@ -0,0 +1,43 @@
1
+ # Zsh-defer
2
+
3
+ Deferred plugin loading for faster ZSH startup
4
+
5
+ **Package:** zsh-defer
6
+ **Author:** israel676767
7
+ **Repository:** https://github.com/israel676767/omni
8
+ **Official:** https://github.com/romkatv/zsh-defer
9
+ **Type:** ZSH plugin (git clone)
10
+ **License:** MIT
11
+
12
+ ## Description
13
+
14
+ Zsh-defer defers the loading of ZSH plugins to after the first prompt, significantly improving shell startup time. Non-essential plugins are loaded in the background while the shell remains responsive.
15
+
16
+ ## Dependencies
17
+
18
+ - ZSH, git, zoxide
19
+
20
+ ## Install
21
+
22
+ ```bash
23
+ core install shell --zsh-defer
24
+ ```
25
+
26
+ ## Uninstall
27
+
28
+ ```bash
29
+ core uninstall shell --zsh-defer
30
+ ```
31
+
32
+ ## Update
33
+
34
+ ```bash
35
+ core update shell --zsh-defer
36
+ ```
37
+
38
+ ## Notes
39
+
40
+ - Installed in `~/.zsh-plugins/`
41
+ - Delays plugin loading until after first prompt
42
+ - Improves perceived ZSH startup time
43
+
@@ -0,0 +1,85 @@
1
+ #!/usr/bin/env bash
2
+
3
+ import "@/utils/log"
4
+
5
+ LOG_FILE="$OMNI_CACHE/install_shell.log"
6
+ ZSH_PLUGINS_DIR="$HOME/.zsh-plugins"
7
+
8
+ _zsh_defer_dependencies() {
9
+ declare -A DEPS=(
10
+ ["zsh"]="zsh"
11
+ ["zoxide"]="zoxide"
12
+ ["git"]="git"
13
+ )
14
+
15
+ local pkg_name bin_name
16
+ for pkg_name in "${!DEPS[@]}"; do
17
+ bin_name="${DEPS[$pkg_name]}"
18
+ if ! command -v "$bin_name" &>/dev/null; then
19
+ if ! pkg install "$pkg_name" -y &>>"$LOG_FILE"; then
20
+ log_error "Failed to install $pkg_name"
21
+ return 1
22
+ fi
23
+ fi
24
+ done
25
+
26
+ log_success "Shell dependencies installed"
27
+ return 0
28
+ }
29
+
30
+ _install_zsh_defer_git() {
31
+ loading "Installing zsh-defer" _install_zsh_defer_git_impl
32
+ }
33
+
34
+ _install_zsh_defer_git_impl() {
35
+ mkdir -p "$(dirname "$LOG_FILE")"
36
+ if ! git clone --depth=1 "https://github.com/romkatv/zsh-defer.git" "$ZSH_PLUGINS_DIR/zsh-defer" &>>"$LOG_FILE"; then
37
+ log_error "Failed to install zsh-defer"
38
+ return 1
39
+ fi
40
+ return 0
41
+ }
42
+
43
+ install_zsh_defer() {
44
+ if [[ -d "$ZSH_PLUGINS_DIR/zsh-defer" ]]; then
45
+ log_info "zsh-defer already installed"
46
+ return 0
47
+ fi
48
+
49
+ _zsh_defer_dependencies
50
+
51
+ _install_zsh_defer_git || return 1
52
+ log_success "Installed"
53
+ return 0
54
+ }
55
+
56
+ _uninstall_zsh_defer_impl() {
57
+ if [[ ! -d "$ZSH_PLUGINS_DIR/zsh-defer" ]]; then
58
+ log_info "zsh-defer is not installed"
59
+ return 2
60
+ fi
61
+
62
+ rm -rf "$ZSH_PLUGINS_DIR/zsh-defer"
63
+ }
64
+
65
+ uninstall_zsh_defer() {
66
+ loading "Uninstalling zsh-defer" _uninstall_zsh_defer_impl
67
+ }
68
+
69
+ _update_zsh_defer_impl() {
70
+ if [[ ! -d "$ZSH_PLUGINS_DIR/zsh-defer/.git" ]]; then
71
+ log_warn "zsh-defer not installed"
72
+ return 0
73
+ fi
74
+
75
+ git -C "$ZSH_PLUGINS_DIR/zsh-defer" pull &>>"$LOG_FILE"
76
+ }
77
+
78
+ update_zsh_defer() {
79
+ loading "Updating zsh-defer" _update_zsh_defer_impl
80
+ }
81
+
82
+ reinstall_zsh_defer() {
83
+ uninstall_zsh_defer
84
+ install_zsh_defer
85
+ }
@@ -0,0 +1,43 @@
1
+ # Zsh-syntax-highlighting
2
+
3
+ Real-time syntax highlighting for ZSH commands
4
+
5
+ **Package:** zsh-syntax-highlighting
6
+ **Author:** israel676767
7
+ **Repository:** https://github.com/israel676767/omni
8
+ **Official:** https://github.com/zsh-users/zsh-syntax-highlighting
9
+ **Type:** ZSH plugin (git clone)
10
+ **License:** BSD 3-Clause
11
+
12
+ ## Description
13
+
14
+ Zsh-syntax-highlighting provides real-time syntax highlighting for commands as you type in ZSH. Valid commands are highlighted in green, invalid in red, and various tokens get different colors for better readability.
15
+
16
+ ## Dependencies
17
+
18
+ - ZSH, git, zoxide
19
+
20
+ ## Install
21
+
22
+ ```bash
23
+ core install shell --zsh-syntax-highlighting
24
+ ```
25
+
26
+ ## Uninstall
27
+
28
+ ```bash
29
+ core uninstall shell --zsh-syntax-highlighting
30
+ ```
31
+
32
+ ## Update
33
+
34
+ ```bash
35
+ core update shell --zsh-syntax-highlighting
36
+ ```
37
+
38
+ ## Notes
39
+
40
+ - Installed in `~/.zsh-plugins/`
41
+ - Highlights commands in real-time
42
+ - Must be loaded last in plugin order
43
+
@@ -0,0 +1,72 @@
1
+ #!/usr/bin/env bash
2
+
3
+ import "@/utils/log"
4
+
5
+ LOG_FILE="$OMNI_CACHE/install_shell.log"
6
+ ZSH_PLUGINS_DIR="$HOME/.zsh-plugins"
7
+
8
+ _zsh_syntax_highlighting_dependencies() {
9
+ if command -v git &>/dev/null && command -v zsh &>/dev/null; then
10
+ return 0
11
+ fi
12
+
13
+ mkdir -p "$(dirname "$LOG_FILE")"
14
+ pkg install zsh zoxide git -y &>>"$LOG_FILE"
15
+ }
16
+
17
+ _install_zsh_syntax_highlighting_git() {
18
+ loading "Installing zsh-syntax-highlighting" _install_zsh_syntax_highlighting_git_impl
19
+ }
20
+
21
+ _install_zsh_syntax_highlighting_git_impl() {
22
+ mkdir -p "$(dirname "$LOG_FILE")"
23
+ if ! git clone --depth=1 "https://github.com/zsh-users/zsh-syntax-highlighting.git" "$ZSH_PLUGINS_DIR/zsh-syntax-highlighting" &>>"$LOG_FILE"; then
24
+ log_error "Failed to install zsh-syntax-highlighting"
25
+ return 1
26
+ fi
27
+ return 0
28
+ }
29
+
30
+ install_zsh_syntax_highlighting() {
31
+ if [[ -d "$ZSH_PLUGINS_DIR/zsh-syntax-highlighting" ]]; then
32
+ log_info "zsh-syntax-highlighting already installed"
33
+ return 0
34
+ fi
35
+
36
+ _zsh_syntax_highlighting_dependencies
37
+
38
+ _install_zsh_syntax_highlighting_git || return 1
39
+ log_success "Installed"
40
+ return 0
41
+ }
42
+
43
+ _uninstall_zsh_syntax_highlighting_impl() {
44
+ if [[ ! -d "$ZSH_PLUGINS_DIR/zsh-syntax-highlighting" ]]; then
45
+ log_info "zsh-syntax-highlighting is not installed"
46
+ return 0
47
+ fi
48
+
49
+ rm -rf "$ZSH_PLUGINS_DIR/zsh-syntax-highlighting"
50
+ }
51
+
52
+ uninstall_zsh_syntax_highlighting() {
53
+ loading "Uninstalling zsh-syntax-highlighting" _uninstall_zsh_syntax_highlighting_impl
54
+ }
55
+
56
+ _update_zsh_syntax_highlighting_impl() {
57
+ if [[ ! -d "$ZSH_PLUGINS_DIR/zsh-syntax-highlighting/.git" ]]; then
58
+ log_warn "zsh-syntax-highlighting not installed"
59
+ return 0
60
+ fi
61
+
62
+ git -C "$ZSH_PLUGINS_DIR/zsh-syntax-highlighting" pull &>>"$LOG_FILE"
63
+ }
64
+
65
+ update_zsh_syntax_highlighting() {
66
+ loading "Updating zsh-syntax-highlighting" _update_zsh_syntax_highlighting_impl
67
+ }
68
+
69
+ reinstall_zsh_syntax_highlighting() {
70
+ uninstall_zsh_syntax_highlighting
71
+ install_zsh_syntax_highlighting
72
+ }
@@ -0,0 +1,61 @@
1
+ #!/usr/bin/env bash
2
+
3
+ import "@/utils/log"
4
+
5
+ LOG_FILE="$OMNI_CACHE/install_ui.log"
6
+ TERMUX_DIR="$HOME/.termux"
7
+
8
+ UI_COMPONENTS=(
9
+ "font"
10
+ "extra-keys"
11
+ "cursor"
12
+ "banner"
13
+ )
14
+
15
+ for _tool in "${UI_COMPONENTS[@]}"; do
16
+ source "$(dirname "$BASH_SOURCE")/$_tool/install.sh"
17
+ done
18
+ unset _tool
19
+
20
+ _batch_ui() {
21
+ local action="$1"
22
+ local action_past="$2"
23
+ local count_var="$3"
24
+ local count=0
25
+ local failed=0
26
+ local total=${#UI_COMPONENTS[@]}
27
+ local current=0
28
+ local func_name
29
+
30
+ progress_start "$total" "${action_past}ing UI components..."
31
+
32
+ for tool in "${UI_COMPONENTS[@]}"; do
33
+ func_name="${action}_${tool//-/_}"
34
+ if declare -f "$func_name" &>/dev/null; then
35
+ loading "${action_past^}ing ${tool}" "$func_name"
36
+ case $? in 0) ((count++));; 1) ((failed++));; esac
37
+ fi
38
+ ((current++))
39
+ progress_update "$current" "$total"
40
+ done
41
+
42
+ progress_done "$total"
43
+ eval "$count_var=$count"
44
+ return $failed
45
+ }
46
+
47
+ install_all_ui_components() {
48
+ _batch_ui "install" "install" "installed_count"
49
+ }
50
+
51
+ uninstall_all_ui_components() {
52
+ _batch_ui "uninstall" "uninstall" "uninstalled_count"
53
+ }
54
+
55
+ update_all_ui_components() {
56
+ _batch_ui "update" "update" "updated_count"
57
+ }
58
+
59
+ reinstall_all_ui_components() {
60
+ _batch_ui "reinstall" "reinstall" "reinstalled_count"
61
+ }
@@ -0,0 +1,42 @@
1
+ # Banner Configuration for Termux
2
+
3
+ Customize Termux with Omni Catalyst Banner
4
+
5
+ **Package:** omni-catalyst (banner config)
6
+ **Author:** israel676767
7
+ **Repository:** https://github.com/israel676767/omni
8
+ **Type:** Termux UI customization
9
+ **License:** MIT
10
+
11
+ ## Description
12
+
13
+ Configure a custom banner for Termux using Omni Catalyst. This package allows you to set a personalized welcome message that appears when you start Termux, enhancing your terminal experience.
14
+
15
+ ## Dependencies
16
+
17
+ - Termux (base installation)
18
+
19
+ ## Install
20
+
21
+ ```bash
22
+ core install ui --banner
23
+ ```
24
+
25
+ ## Uninstall
26
+
27
+ ```bash
28
+ core uninstall ui --banner
29
+ ```
30
+
31
+ ## Update
32
+
33
+ ```bash
34
+ core update ui --banner
35
+ ```
36
+
37
+ ## Notes
38
+
39
+ - Source file: `~/.local/share/omni/assets/banner/omni.txt`
40
+ - removes Termux welcome message: motd
41
+ - Restart Termux to apply changes
42
+
@@ -0,0 +1,151 @@
1
+ #!/usr/bin/env bash
2
+
3
+ import "@/utils/log"
4
+
5
+ LOG_FILE="$OMNI_CACHE/install_ui.log"
6
+
7
+ OMNI_BANNER_MARKER="# ===== Omni Banner ====="
8
+ OMNI_MOTD_BACKUP="$OMNI_CACHE/motd.backup"
9
+
10
+ _backup_motd() {
11
+ if [[ ! -e "$PREFIX/etc/motd" ]]; then
12
+ return 0
13
+ fi
14
+
15
+ if [[ -e "$OMNI_MOTD_BACKUP" ]]; then
16
+ log_info "Termux MOTD already backed up"
17
+ return 0
18
+ fi
19
+
20
+ log_info "Backing up Termux MOTD..."
21
+ mv "$PREFIX/etc/motd" "$OMNI_MOTD_BACKUP"
22
+ log_success "Termux MOTD backed up to $OMNI_MOTD_BACKUP"
23
+ }
24
+
25
+ _restore_motd() {
26
+ if [[ ! -e "$OMNI_MOTD_BACKUP" ]]; then
27
+ return 0
28
+ fi
29
+
30
+ if [[ -e "$PREFIX/etc/motd" ]]; then
31
+ log_warn "Termux MOTD already exists, skipping restore"
32
+ return 0
33
+ fi
34
+
35
+ log_info "Restoring Termux MOTD..."
36
+ mv "$OMNI_MOTD_BACKUP" "$PREFIX/etc/motd"
37
+ log_success "Termux MOTD restored"
38
+ }
39
+
40
+ _detect_shell_config() {
41
+ if [[ -f "$HOME/.zshrc" ]]; then
42
+ echo "$HOME/.zshrc"
43
+ elif [[ -f "$HOME/.bashrc" ]]; then
44
+ echo "$HOME/.bashrc"
45
+ fi
46
+ }
47
+
48
+ _install_banner_impl() {
49
+ local shell_config
50
+ shell_config="$(_detect_shell_config)"
51
+
52
+ if [[ -z "$shell_config" ]]; then
53
+ log_warn "No shell config file found (.zshrc or .bashrc)"
54
+ return 1
55
+ fi
56
+
57
+ if grep -qF "$OMNI_BANNER_MARKER" "$shell_config" 2>/dev/null; then
58
+ log_info "Omni Banner already installed"
59
+ return 0
60
+ fi
61
+
62
+ local banner_script="$OMNI_UTILS/banner.sh"
63
+ if [[ ! -f "$banner_script" ]]; then
64
+ log_error "Banner script not found: $banner_script"
65
+ return 1
66
+ fi
67
+
68
+ mkdir -p "$(dirname "$LOG_FILE")"
69
+
70
+ cat >>"$shell_config" <<EOF
71
+
72
+ $OMNI_BANNER_MARKER
73
+ source "$banner_script"
74
+ EOF
75
+
76
+ log_success "Omni Banner installed"
77
+
78
+ _backup_motd
79
+
80
+ log_warn "Restart Termux or run: source $shell_config"
81
+ return 0
82
+ }
83
+
84
+ install_banner() {
85
+ if grep -qF "$OMNI_BANNER_MARKER" "$(_detect_shell_config)" 2>/dev/null; then
86
+ log_info "Omni Banner already installed"
87
+ return 0
88
+ fi
89
+ log_info "Installing Omni Banner..."
90
+ mkdir -p "$(dirname "$LOG_FILE")"
91
+ loading "Installing Banner" _install_banner_impl
92
+ }
93
+
94
+ _uninstall_banner_impl() {
95
+ local shell_config
96
+ shell_config="$(_detect_shell_config)"
97
+
98
+ if [[ -z "$shell_config" ]]; then
99
+ log_warn "No shell config file found"
100
+ return 1
101
+ fi
102
+
103
+ if ! grep -qF "$OMNI_BANNER_MARKER" "$shell_config" 2>/dev/null; then
104
+ log_warn "Omni Banner not installed"
105
+ return 0
106
+ fi
107
+
108
+ local marker_line
109
+ marker_line="$(grep -nF "$OMNI_BANNER_MARKER" "$shell_config" | head -1 | cut -d: -f1)"
110
+
111
+ if [[ -n "$marker_line" ]]; then
112
+ local prev_line=$((marker_line - 1))
113
+ if sed -n "${prev_line}p" "$shell_config" 2>/dev/null | grep -q '^$'; then
114
+ sed -i "$((prev_line)),$((marker_line + 1))d" "$shell_config"
115
+ else
116
+ sed -i "$marker_line,$((marker_line + 1))d" "$shell_config"
117
+ fi
118
+ log_success "Omni Banner uninstalled"
119
+ else
120
+ log_warn "Could not locate banner marker for removal"
121
+ return 1
122
+ fi
123
+
124
+ _restore_motd
125
+
126
+ return 0
127
+ }
128
+
129
+ uninstall_banner() {
130
+ if ! grep -qF "$OMNI_BANNER_MARKER" "$(_detect_shell_config)" 2>/dev/null; then
131
+ log_warn "Omni Banner not installed"
132
+ return 0
133
+ fi
134
+ log_info "Uninstalling Omni Banner..."
135
+ loading "Uninstalling Banner" _uninstall_banner_impl
136
+ }
137
+
138
+ _update_banner_impl() {
139
+ uninstall_banner
140
+ install_banner
141
+ }
142
+
143
+ update_banner() {
144
+ log_info "Updating Omni Banner..."
145
+ loading "Updating Banner" _update_banner_impl
146
+ }
147
+
148
+ reinstall_banner() {
149
+ uninstall_banner
150
+ install_banner
151
+ }
@@ -0,0 +1,42 @@
1
+ # Cursor Color
2
+
3
+ Customize Termux terminal cursor color
4
+
5
+ **Package:** omni-catalyst (cursor config)
6
+ **Author:** israel676767
7
+ **Repository:** https://github.com/israel676767/omni
8
+ **Type:** Termux UI customization
9
+ **License:** MIT
10
+
11
+ ## Description
12
+
13
+ Configures the Termux terminal cursor color to a custom value (default: green #00FF00). This provides better cursor visibility and personalization of the Termux terminal appearance.
14
+
15
+ ## Dependencies
16
+
17
+ - Termux (base installation)
18
+
19
+ ## Install
20
+
21
+ ```bash
22
+ core install ui --cursor
23
+ ```
24
+
25
+ ## Uninstall
26
+
27
+ ```bash
28
+ core uninstall ui --cursor
29
+ ```
30
+
31
+ ## Update
32
+
33
+ ```bash
34
+ core update ui --cursor
35
+ ```
36
+
37
+ ## Notes
38
+
39
+ - Config file: `~/.termux/colors.properties`
40
+ - Default cursor color: green (#00FF00)
41
+ - Restart Termux to apply changes
42
+
@@ -0,0 +1,58 @@
1
+ #!/usr/bin/env bash
2
+
3
+ import "@/utils/log"
4
+
5
+ LOG_FILE="$OMNI_CACHE/install_ui.log"
6
+ TERMUX_DIR="$HOME/.termux"
7
+
8
+ _install_cursor_impl() {
9
+ mkdir -p "$(dirname "$LOG_FILE")" "$TERMUX_DIR"
10
+
11
+ cat >"$TERMUX_DIR/colors.properties" <<'EOF'
12
+ cursor=#00FF00
13
+ EOF
14
+
15
+ log_success "Cursor color set to #00FF00 (green)"
16
+ return 0
17
+ }
18
+
19
+ install_cursor() {
20
+ if [[ -f "$TERMUX_DIR/colors.properties" ]]; then
21
+ log_info "Cursor Color already configured"
22
+ return 0
23
+ fi
24
+ log_info "Installing Cursor Color..."
25
+ loading "Installing Cursor Color" _install_cursor_impl
26
+ }
27
+
28
+ _uninstall_cursor_impl() {
29
+ if [[ -f "$TERMUX_DIR/colors.properties" ]]; then
30
+ rm "$TERMUX_DIR/colors.properties"
31
+ log_success "Cursor Color uninstalled"
32
+ else
33
+ log_warn "Cursor Color not configured"
34
+ fi
35
+ }
36
+
37
+ uninstall_cursor() {
38
+ if [[ ! -f "$TERMUX_DIR/colors.properties" ]]; then
39
+ log_info "Cursor Color is not installed"
40
+ return 0
41
+ fi
42
+ log_info "Uninstalling Cursor Color..."
43
+ loading "Uninstalling Cursor Color" _uninstall_cursor_impl
44
+ }
45
+
46
+ _update_cursor_impl() {
47
+ install_cursor
48
+ }
49
+
50
+ update_cursor() {
51
+ log_info "Updating Cursor Color..."
52
+ loading "Updating Cursor Color" _update_cursor_impl
53
+ }
54
+
55
+ reinstall_cursor() {
56
+ uninstall_cursor
57
+ install_cursor
58
+ }