karnel-termux 0.0.1

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 (258) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +454 -0
  3. package/install.sh +272 -0
  4. package/karnel/bin/karnel +77 -0
  5. package/karnel/cli/commands/brain.sh +1553 -0
  6. package/karnel/cli/commands/cleanup.sh +66 -0
  7. package/karnel/cli/commands/doctor.sh +1528 -0
  8. package/karnel/cli/commands/env.sh +233 -0
  9. package/karnel/cli/commands/help.sh +8 -0
  10. package/karnel/cli/commands/ia.sh +502 -0
  11. package/karnel/cli/commands/init.sh +1274 -0
  12. package/karnel/cli/commands/install.sh +718 -0
  13. package/karnel/cli/commands/list.sh +399 -0
  14. package/karnel/cli/commands/open.sh +106 -0
  15. package/karnel/cli/commands/pg.sh +719 -0
  16. package/karnel/cli/commands/reinstall.sh +663 -0
  17. package/karnel/cli/commands/show.sh +90 -0
  18. package/karnel/cli/commands/start.sh +54 -0
  19. package/karnel/cli/commands/status.sh +96 -0
  20. package/karnel/cli/commands/uninstall.sh +668 -0
  21. package/karnel/cli/commands/update.sh +723 -0
  22. package/karnel/cli/commands/upgrade.sh +40 -0
  23. package/karnel/cli/commands/version.sh +3 -0
  24. package/karnel/cli/commands/voice.sh +230 -0
  25. package/karnel/cli/karnel.sh +706 -0
  26. package/karnel/modules/ai.sh +135 -0
  27. package/karnel/modules/auto.sh +114 -0
  28. package/karnel/modules/db.sh +132 -0
  29. package/karnel/modules/deploy.sh +74 -0
  30. package/karnel/modules/dev.sh +148 -0
  31. package/karnel/modules/editor.sh +115 -0
  32. package/karnel/modules/lang.sh +124 -0
  33. package/karnel/modules/npm.sh +146 -0
  34. package/karnel/modules/shell.sh +338 -0
  35. package/karnel/modules/ui.sh +139 -0
  36. package/karnel/modules/voice.sh +118 -0
  37. package/karnel/tools/ai/all.sh +209 -0
  38. package/karnel/tools/ai/antigravity-cli/README.md +45 -0
  39. package/karnel/tools/ai/antigravity-cli/bin/agy +28 -0
  40. package/karnel/tools/ai/antigravity-cli/helper/agy_helper.c +39 -0
  41. package/karnel/tools/ai/antigravity-cli/install.sh +469 -0
  42. package/karnel/tools/ai/claude-code/README.md +45 -0
  43. package/karnel/tools/ai/claude-code/bin/claude +29 -0
  44. package/karnel/tools/ai/claude-code/helper/claude_helper.c +42 -0
  45. package/karnel/tools/ai/claude-code/install.sh +278 -0
  46. package/karnel/tools/ai/cline/install.sh +160 -0
  47. package/karnel/tools/ai/codegraph/README.md +43 -0
  48. package/karnel/tools/ai/codegraph/bin/codegraph +5 -0
  49. package/karnel/tools/ai/codegraph/install.sh +160 -0
  50. package/karnel/tools/ai/codex/README.md +44 -0
  51. package/karnel/tools/ai/codex/install.sh +104 -0
  52. package/karnel/tools/ai/command-code/README.md +62 -0
  53. package/karnel/tools/ai/command-code/install.sh +136 -0
  54. package/karnel/tools/ai/crush/README.md +17 -0
  55. package/karnel/tools/ai/crush/install.sh +89 -0
  56. package/karnel/tools/ai/ctx7/README.md +26 -0
  57. package/karnel/tools/ai/ctx7/install.sh +61 -0
  58. package/karnel/tools/ai/engram/README.md +44 -0
  59. package/karnel/tools/ai/engram/install.sh +127 -0
  60. package/karnel/tools/ai/freebuff/README.md +52 -0
  61. package/karnel/tools/ai/freebuff/bin/freebuff +28 -0
  62. package/karnel/tools/ai/freebuff/helper/freebuff_helper.c +47 -0
  63. package/karnel/tools/ai/freebuff/install.sh +303 -0
  64. package/karnel/tools/ai/gemini-cli/README.md +46 -0
  65. package/karnel/tools/ai/gemini-cli/install.sh +111 -0
  66. package/karnel/tools/ai/gentle-ai/README.md +42 -0
  67. package/karnel/tools/ai/gentle-ai/install.sh +253 -0
  68. package/karnel/tools/ai/gentle-ai/termux-patches.go +256 -0
  69. package/karnel/tools/ai/gga/README.md +49 -0
  70. package/karnel/tools/ai/gga/install.sh +134 -0
  71. package/karnel/tools/ai/hermes-agent/README.md +50 -0
  72. package/karnel/tools/ai/hermes-agent/install.sh +120 -0
  73. package/karnel/tools/ai/kilocode-cli/README.md +45 -0
  74. package/karnel/tools/ai/kilocode-cli/bin/kilocode +21 -0
  75. package/karnel/tools/ai/kilocode-cli/helper/kilocode_helper.c +47 -0
  76. package/karnel/tools/ai/kilocode-cli/install.sh +179 -0
  77. package/karnel/tools/ai/kimchi-code/README.md +53 -0
  78. package/karnel/tools/ai/kimchi-code/install.sh +221 -0
  79. package/karnel/tools/ai/kimi-code/README.md +45 -0
  80. package/karnel/tools/ai/kimi-code/install.sh +111 -0
  81. package/karnel/tools/ai/kiro/README.md +17 -0
  82. package/karnel/tools/ai/kiro/install.sh +134 -0
  83. package/karnel/tools/ai/mimocode/README.md +43 -0
  84. package/karnel/tools/ai/mimocode/bin/mimo +28 -0
  85. package/karnel/tools/ai/mimocode/helper/mimocode_helper.c +47 -0
  86. package/karnel/tools/ai/mimocode/install.sh +287 -0
  87. package/karnel/tools/ai/minimax-cli/README.md +45 -0
  88. package/karnel/tools/ai/minimax-cli/install.sh +111 -0
  89. package/karnel/tools/ai/mistral-vibe/README.md +46 -0
  90. package/karnel/tools/ai/mistral-vibe/install.sh +119 -0
  91. package/karnel/tools/ai/odysseus/README.md +35 -0
  92. package/karnel/tools/ai/odysseus/install.sh +198 -0
  93. package/karnel/tools/ai/ollama/README.md +44 -0
  94. package/karnel/tools/ai/ollama/install.sh +78 -0
  95. package/karnel/tools/ai/omni-route/README.md +111 -0
  96. package/karnel/tools/ai/omni-route/install.sh +165 -0
  97. package/karnel/tools/ai/openclaude/README.md +46 -0
  98. package/karnel/tools/ai/openclaude/install.sh +110 -0
  99. package/karnel/tools/ai/openclaw/README.md +47 -0
  100. package/karnel/tools/ai/openclaw/install.sh +112 -0
  101. package/karnel/tools/ai/opencode/README.md +51 -0
  102. package/karnel/tools/ai/opencode/bin/opencode +28 -0
  103. package/karnel/tools/ai/opencode/helper/opencode_helper.c +57 -0
  104. package/karnel/tools/ai/opencode/install.sh +290 -0
  105. package/karnel/tools/ai/openspec/README.md +34 -0
  106. package/karnel/tools/ai/openspec/install.sh +61 -0
  107. package/karnel/tools/ai/pi/README.md +46 -0
  108. package/karnel/tools/ai/pi/install.sh +104 -0
  109. package/karnel/tools/ai/qwen-code/README.md +45 -0
  110. package/karnel/tools/ai/qwen-code/install.sh +111 -0
  111. package/karnel/tools/auto/all.sh +57 -0
  112. package/karnel/tools/auto/n8n/README.md +47 -0
  113. package/karnel/tools/auto/n8n/install.sh +102 -0
  114. package/karnel/tools/db/all.sh +61 -0
  115. package/karnel/tools/db/mariadb/README.md +43 -0
  116. package/karnel/tools/db/mariadb/install.sh +65 -0
  117. package/karnel/tools/db/mongodb/README.md +42 -0
  118. package/karnel/tools/db/mongodb/install.sh +73 -0
  119. package/karnel/tools/db/postgresql/README.md +45 -0
  120. package/karnel/tools/db/postgresql/install.sh +65 -0
  121. package/karnel/tools/db/redis/README.md +46 -0
  122. package/karnel/tools/db/redis/install.sh +64 -0
  123. package/karnel/tools/db/sqlite/README.md +44 -0
  124. package/karnel/tools/db/sqlite/install.sh +65 -0
  125. package/karnel/tools/deploy/all.sh +43 -0
  126. package/karnel/tools/deploy/netlify/install.sh +41 -0
  127. package/karnel/tools/deploy/railway/install.sh +109 -0
  128. package/karnel/tools/deploy/vercel/install.sh +43 -0
  129. package/karnel/tools/dev/all.sh +77 -0
  130. package/karnel/tools/dev/bat/README.md +44 -0
  131. package/karnel/tools/dev/bat/install.sh +82 -0
  132. package/karnel/tools/dev/bc/README.md +44 -0
  133. package/karnel/tools/dev/bc/install.sh +82 -0
  134. package/karnel/tools/dev/cloudflared/README.md +43 -0
  135. package/karnel/tools/dev/cloudflared/install.sh +82 -0
  136. package/karnel/tools/dev/curl/README.md +43 -0
  137. package/karnel/tools/dev/curl/install.sh +82 -0
  138. package/karnel/tools/dev/fzf/README.md +44 -0
  139. package/karnel/tools/dev/fzf/install.sh +82 -0
  140. package/karnel/tools/dev/gh/README.md +43 -0
  141. package/karnel/tools/dev/gh/install.sh +82 -0
  142. package/karnel/tools/dev/html2text/README.md +44 -0
  143. package/karnel/tools/dev/html2text/install.sh +82 -0
  144. package/karnel/tools/dev/imagemagick/README.md +44 -0
  145. package/karnel/tools/dev/imagemagick/install.sh +82 -0
  146. package/karnel/tools/dev/jq/README.md +44 -0
  147. package/karnel/tools/dev/jq/install.sh +82 -0
  148. package/karnel/tools/dev/lsd/README.md +44 -0
  149. package/karnel/tools/dev/lsd/install.sh +82 -0
  150. package/karnel/tools/dev/make/README.md +44 -0
  151. package/karnel/tools/dev/make/install.sh +82 -0
  152. package/karnel/tools/dev/ncurses/README.md +42 -0
  153. package/karnel/tools/dev/ncurses/install.sh +82 -0
  154. package/karnel/tools/dev/openssh/README.md +43 -0
  155. package/karnel/tools/dev/openssh/install.sh +75 -0
  156. package/karnel/tools/dev/proot/README.md +43 -0
  157. package/karnel/tools/dev/proot/install.sh +82 -0
  158. package/karnel/tools/dev/shfmt/README.md +44 -0
  159. package/karnel/tools/dev/shfmt/install.sh +82 -0
  160. package/karnel/tools/dev/tmate/README.md +44 -0
  161. package/karnel/tools/dev/tmate/install.sh +82 -0
  162. package/karnel/tools/dev/tmux/README.md +43 -0
  163. package/karnel/tools/dev/tmux/install.sh +75 -0
  164. package/karnel/tools/dev/translate/README.md +44 -0
  165. package/karnel/tools/dev/translate/install.sh +82 -0
  166. package/karnel/tools/dev/tree/README.md +44 -0
  167. package/karnel/tools/dev/tree/install.sh +82 -0
  168. package/karnel/tools/dev/udocker/README.md +44 -0
  169. package/karnel/tools/dev/udocker/install.sh +82 -0
  170. package/karnel/tools/dev/wget/README.md +44 -0
  171. package/karnel/tools/dev/wget/install.sh +82 -0
  172. package/karnel/tools/editor/all.sh +59 -0
  173. package/karnel/tools/editor/code-server/README.md +42 -0
  174. package/karnel/tools/editor/code-server/install.sh +74 -0
  175. package/karnel/tools/editor/neovim/README.md +43 -0
  176. package/karnel/tools/editor/neovim/install.sh +64 -0
  177. package/karnel/tools/editor/nvchad/README.md +45 -0
  178. package/karnel/tools/editor/nvchad/install.sh +105 -0
  179. package/karnel/tools/lang/all.sh +63 -0
  180. package/karnel/tools/lang/clang/README.md +43 -0
  181. package/karnel/tools/lang/clang/install.sh +79 -0
  182. package/karnel/tools/lang/golang/README.md +43 -0
  183. package/karnel/tools/lang/golang/install.sh +79 -0
  184. package/karnel/tools/lang/nodejs/README.md +43 -0
  185. package/karnel/tools/lang/nodejs/install.sh +79 -0
  186. package/karnel/tools/lang/perl/README.md +43 -0
  187. package/karnel/tools/lang/perl/install.sh +79 -0
  188. package/karnel/tools/lang/php/README.md +43 -0
  189. package/karnel/tools/lang/php/install.sh +79 -0
  190. package/karnel/tools/lang/python/README.md +43 -0
  191. package/karnel/tools/lang/python/install.sh +79 -0
  192. package/karnel/tools/lang/rust/README.md +43 -0
  193. package/karnel/tools/lang/rust/install.sh +79 -0
  194. package/karnel/tools/npm/all.sh +90 -0
  195. package/karnel/tools/npm/live-server/README.md +43 -0
  196. package/karnel/tools/npm/live-server/install.sh +96 -0
  197. package/karnel/tools/npm/localtunnel/README.md +43 -0
  198. package/karnel/tools/npm/localtunnel/install.sh +112 -0
  199. package/karnel/tools/npm/markserv/README.md +43 -0
  200. package/karnel/tools/npm/markserv/install.sh +95 -0
  201. package/karnel/tools/npm/ncu/README.md +43 -0
  202. package/karnel/tools/npm/ncu/install.sh +95 -0
  203. package/karnel/tools/npm/nestjs/README.md +43 -0
  204. package/karnel/tools/npm/nestjs/install.sh +95 -0
  205. package/karnel/tools/npm/ngrok/README.md +44 -0
  206. package/karnel/tools/npm/ngrok/install.sh +95 -0
  207. package/karnel/tools/npm/prettier/README.md +43 -0
  208. package/karnel/tools/npm/prettier/install.sh +95 -0
  209. package/karnel/tools/npm/psqlformat/README.md +43 -0
  210. package/karnel/tools/npm/psqlformat/install.sh +95 -0
  211. package/karnel/tools/npm/turbopack/README.md +8 -0
  212. package/karnel/tools/npm/turbopack/install.sh +42 -0
  213. package/karnel/tools/npm/typescript/README.md +43 -0
  214. package/karnel/tools/npm/typescript/install.sh +95 -0
  215. package/karnel/tools/npm/vercel/README.md +43 -0
  216. package/karnel/tools/npm/vercel/install.sh +95 -0
  217. package/karnel/tools/shell/all.sh +67 -0
  218. package/karnel/tools/shell/better-npm/README.md +43 -0
  219. package/karnel/tools/shell/better-npm/install.sh +85 -0
  220. package/karnel/tools/shell/fzf-tab/README.md +44 -0
  221. package/karnel/tools/shell/fzf-tab/install.sh +85 -0
  222. package/karnel/tools/shell/history-substring/README.md +43 -0
  223. package/karnel/tools/shell/history-substring/install.sh +85 -0
  224. package/karnel/tools/shell/powerlevel10k/README.md +43 -0
  225. package/karnel/tools/shell/powerlevel10k/install.sh +85 -0
  226. package/karnel/tools/shell/you-should-use/README.md +43 -0
  227. package/karnel/tools/shell/you-should-use/install.sh +85 -0
  228. package/karnel/tools/shell/zsh-autopair/README.md +44 -0
  229. package/karnel/tools/shell/zsh-autopair/install.sh +85 -0
  230. package/karnel/tools/shell/zsh-autosuggestions/README.md +43 -0
  231. package/karnel/tools/shell/zsh-autosuggestions/install.sh +85 -0
  232. package/karnel/tools/shell/zsh-completions/README.md +43 -0
  233. package/karnel/tools/shell/zsh-completions/install.sh +85 -0
  234. package/karnel/tools/shell/zsh-defer/README.md +43 -0
  235. package/karnel/tools/shell/zsh-defer/install.sh +85 -0
  236. package/karnel/tools/shell/zsh-syntax-highlighting/README.md +43 -0
  237. package/karnel/tools/shell/zsh-syntax-highlighting/install.sh +72 -0
  238. package/karnel/tools/ui/all.sh +61 -0
  239. package/karnel/tools/ui/banner/README.md +42 -0
  240. package/karnel/tools/ui/banner/install.sh +160 -0
  241. package/karnel/tools/ui/cursor/README.md +42 -0
  242. package/karnel/tools/ui/cursor/install.sh +58 -0
  243. package/karnel/tools/ui/extra-keys/README.md +43 -0
  244. package/karnel/tools/ui/extra-keys/install.sh +62 -0
  245. package/karnel/tools/ui/font/README.md +43 -0
  246. package/karnel/tools/ui/font/install.sh +63 -0
  247. package/karnel/tools/voice/all.sh +27 -0
  248. package/karnel/tools/voice/install.sh +10 -0
  249. package/karnel/tools/voice/uninstall.sh +8 -0
  250. package/karnel/utils/banner.sh +492 -0
  251. package/karnel/utils/bootstrap.sh +25 -0
  252. package/karnel/utils/colors.sh +33 -0
  253. package/karnel/utils/dialogrc +30 -0
  254. package/karnel/utils/env.sh +53 -0
  255. package/karnel/utils/log.sh +567 -0
  256. package/karnel/utils/version.sh +205 -0
  257. package/package.json +42 -0
  258. package/scripts/npm-install.js +60 -0
@@ -0,0 +1,109 @@
1
+ #!/usr/bin/env bash
2
+
3
+ import "@/utils/log"
4
+
5
+ LOG_FILE="$KARNEL_CACHE/install_deploy.log"
6
+ RAILWAY_DATA_DIR="$HOME/.local/share/karnel-data/railway"
7
+
8
+ _install_railway_manual() {
9
+ loading "Downloading Railway CLI for ARM64" _install_railway_manual_impl
10
+ }
11
+
12
+ _install_railway_manual_impl() {
13
+ mkdir -p "$RAILWAY_DATA_DIR"
14
+
15
+ local latest_version
16
+ latest_version=$(curl -fsSL --connect-timeout 10 "https://api.github.com/repos/railwayapp/cli/releases/latest" 2>/dev/null | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/')
17
+
18
+ if [ -z "$latest_version" ]; then
19
+ log_warn "Cannot fetch latest Railway version from GitHub API"
20
+ return 1
21
+ fi
22
+
23
+ local version="${latest_version#v}"
24
+
25
+ local tarball_url="https://github.com/railwayapp/cli/releases/download/${latest_version}/railway-${version}-aarch64-linux.tar.gz"
26
+ local binary_name="railway"
27
+
28
+ log_info "Downloading Railway ${version} for ARM64 Linux..."
29
+ if ! curl -fsSL --connect-timeout 15 "$tarball_url" -o "$RAILWAY_DATA_DIR/railway.tar.gz" 2>>"$LOG_FILE"; then
30
+ log_warn "ARM64 binary not available. Railway CLI does not provide ARM Linux builds."
31
+ log_info "Install Railway on a desktop or use 'npx @railway/cli' instead."
32
+ return 1
33
+ fi
34
+
35
+ tar -zxf "$RAILWAY_DATA_DIR/railway.tar.gz" -C "$RAILWAY_DATA_DIR" 2>>"$LOG_FILE" || {
36
+ rm -f "$RAILWAY_DATA_DIR/railway.tar.gz"
37
+ return 1
38
+ }
39
+ rm -f "$RAILWAY_DATA_DIR/railway.tar.gz"
40
+
41
+ local found_bin
42
+ found_bin=$(find "$RAILWAY_DATA_DIR" -name "railway" -type f 2>/dev/null | head -1)
43
+ if [ -z "$found_bin" ]; then
44
+ return 1
45
+ fi
46
+
47
+ chmod +x "$found_bin"
48
+ ln -sf "$found_bin" "$PREFIX/bin/railway" 2>/dev/null
49
+
50
+ return 0
51
+ }
52
+
53
+ install_railway() {
54
+ if command -v railway &>/dev/null; then
55
+ log_info "Railway CLI is already installed"
56
+ return 2
57
+ fi
58
+
59
+ log_info "Installing Railway CLI..."
60
+
61
+ mkdir -p "$(dirname "$LOG_FILE")" "$RAILWAY_DATA_DIR"
62
+
63
+ if npm install -g @railway/cli --legacy-peer-deps &>>"$LOG_FILE"; then
64
+ command -v termux-fix-shebang &>/dev/null && termux-fix-shebang "$(command -v railway 2>/dev/null)" &>/dev/null
65
+ log_success "Railway CLI installed via npm"
66
+ return 0
67
+ fi
68
+
69
+ log_warn "npm install failed for @railway/cli on Termux ARM"
70
+ log_info "Trying manual ARM64 binary download..."
71
+
72
+ if _install_railway_manual; then
73
+ log_success "Railway CLI installed (ARM64 Linux binary)"
74
+ return 0
75
+ fi
76
+
77
+ log_error "Railway CLI installation failed. Railway does not provide official ARM Linux builds."
78
+ log_info "Workaround: use 'npx @railway/cli' instead of 'railway' command."
79
+ log_info "Or install Railway on a desktop/cloud machine."
80
+ return 1
81
+ }
82
+
83
+ uninstall_railway() {
84
+ log_info "Uninstalling Railway CLI..."
85
+ npm uninstall -g @railway/cli &>>"$LOG_FILE" 2>/dev/null || true
86
+ rm -f "$PREFIX/bin/railway" 2>/dev/null
87
+ rm -rf "$RAILWAY_DATA_DIR" 2>/dev/null
88
+ log_success "Railway CLI uninstalled"
89
+ return 0
90
+ }
91
+
92
+ update_railway() {
93
+ if ! command -v railway &>/dev/null; then
94
+ log_error "Railway CLI is not installed"
95
+ return 1
96
+ fi
97
+ log_info "Updating Railway CLI..."
98
+ npm update -g @railway/cli --legacy-peer-deps &>>"$LOG_FILE" || {
99
+ log_warn "npm update failed"
100
+ return 1
101
+ }
102
+ log_success "Railway CLI updated"
103
+ return 0
104
+ }
105
+
106
+ reinstall_railway() {
107
+ uninstall_railway
108
+ install_railway
109
+ }
@@ -0,0 +1,43 @@
1
+ #!/usr/bin/env bash
2
+
3
+ import "@/utils/log"
4
+
5
+ VERCEL_BIN="$PREFIX/lib/node_modules/vercel/dist/vc.js"
6
+
7
+ install_vercel() {
8
+ if [[ -f "$VERCEL_BIN" ]]; then
9
+ log_info "Vercel CLI is already installed"
10
+ return 2
11
+ fi
12
+ log_info "Installing Vercel CLI..."
13
+ npm install -g vercel &>/dev/null || {
14
+ log_error "Failed to install Vercel CLI"
15
+ return 1
16
+ }
17
+ command -v termux-fix-shebang &>/dev/null && termux-fix-shebang "$(command -v vercel)" &>/dev/null
18
+ log_success "Vercel CLI installed"
19
+ }
20
+
21
+ uninstall_vercel() {
22
+ log_info "Uninstalling Vercel CLI..."
23
+ npm uninstall -g vercel &>/dev/null || {
24
+ log_error "Failed to uninstall Vercel CLI"
25
+ return 1
26
+ }
27
+ log_success "Vercel CLI uninstalled"
28
+ }
29
+
30
+ update_vercel() {
31
+ log_info "Updating Vercel CLI..."
32
+ npm update -g vercel &>/dev/null || {
33
+ log_error "Failed to update Vercel CLI"
34
+ return 1
35
+ }
36
+ command -v termux-fix-shebang &>/dev/null && termux-fix-shebang "$(command -v vercel)" &>/dev/null
37
+ log_success "Vercel CLI updated"
38
+ }
39
+
40
+ reinstall_vercel() {
41
+ uninstall_vercel
42
+ install_vercel
43
+ }
@@ -0,0 +1,77 @@
1
+ #!/usr/bin/env bash
2
+
3
+ import "@/utils/log"
4
+
5
+ LOG_FILE="$KARNEL_CACHE/install_dev.log"
6
+
7
+ TOOLS_PACKAGES=(
8
+ "gh"
9
+ "wget"
10
+ "curl"
11
+ "lsd"
12
+ "bat"
13
+ "proot"
14
+ "ncurses"
15
+ "tmate"
16
+ "openssh"
17
+ "tmux"
18
+ "cloudflared"
19
+ "translate"
20
+ "html2text"
21
+ "jq"
22
+ "bc"
23
+ "tree"
24
+ "fzf"
25
+ "imagemagick"
26
+ "shfmt"
27
+ "make"
28
+ "udocker"
29
+ )
30
+
31
+ for _tool in "${TOOLS_PACKAGES[@]}"; do
32
+ source "$(dirname "$BASH_SOURCE")/$_tool/install.sh"
33
+ done
34
+ unset _tool
35
+
36
+ _batch_dev() {
37
+ local action="$1"
38
+ local action_past="$2"
39
+ local count_var="$3"
40
+ local count=0
41
+ local failed=0
42
+ local total=${#TOOLS_PACKAGES[@]}
43
+ local current=0
44
+ local func_name
45
+
46
+ progress_start "$total" "${action_past}ing dev tools..."
47
+
48
+ for tool in "${TOOLS_PACKAGES[@]}"; do
49
+ func_name="${action}_${tool//-/_}"
50
+ if declare -f "$func_name" &>/dev/null; then
51
+ loading "${action_past^}ing ${tool}" "$func_name"
52
+ case $? in 0) ((count++));; 1) ((failed++));; esac
53
+ fi
54
+ ((current++))
55
+ progress_update "$current" "$total"
56
+ done
57
+
58
+ progress_done "$total"
59
+ eval "$count_var=$count"
60
+ return $failed
61
+ }
62
+
63
+ install_all_dev() {
64
+ _batch_dev "install" "install" "installed_count"
65
+ }
66
+
67
+ uninstall_all_dev() {
68
+ _batch_dev "uninstall" "uninstall" "uninstalled_count"
69
+ }
70
+
71
+ update_all_dev() {
72
+ _batch_dev "update" "update" "updated_count"
73
+ }
74
+
75
+ reinstall_all_dev() {
76
+ _batch_dev "reinstall" "reinstall" "reinstalled_count"
77
+ }
@@ -0,0 +1,44 @@
1
+ # Bat
2
+
3
+ Modern cat replacement with syntax highlighting
4
+
5
+ **Package:** bat
6
+ **Author:** israel marques
7
+ **Repository:** https://github.com/israelmarques1024-dotcom/karnel-termux
8
+ **Official:** https://github.com/sharkdp/bat
9
+ **Type:** Development tool (pkg)
10
+ **License:** Apache 2.0 / MIT
11
+
12
+ ## Description
13
+
14
+ Bat is a modern replacement for the `cat` command written in Rust. It provides syntax highlighting for over 200 languages, Git change integration, automatic paging, and line numbers. Used by `karnel show` for colorized documentation output.
15
+
16
+ ## Dependencies
17
+
18
+ - Installed via pkg
19
+
20
+ ## Install
21
+
22
+ ```bash
23
+ karnel install dev --bat
24
+ ```
25
+
26
+ ## Uninstall
27
+
28
+ ```bash
29
+ karnel uninstall dev --bat
30
+ ```
31
+
32
+ ## Update
33
+
34
+ ```bash
35
+ karnel update dev --bat
36
+ ```
37
+
38
+ ## Notes
39
+
40
+ - Command: `bat`
41
+ - Syntax highlighting for 200+ languages
42
+ - Git change markers in output
43
+ - Used by `karnel show` for documentation display
44
+
@@ -0,0 +1,82 @@
1
+ #!/usr/bin/env bash
2
+
3
+ import "@/utils/log"
4
+
5
+ LOG_FILE="$KARNEL_CACHE/install_dev.log"
6
+
7
+ _install_bat_pkg() {
8
+ loading "Installing Bat" _install_bat_pkg_impl
9
+ }
10
+
11
+ _install_bat_pkg_impl() {
12
+ if ! pkg install bat -y &>>"$LOG_FILE"; then
13
+ log_error "Failed to install Bat"
14
+ return 1
15
+ fi
16
+ return 0
17
+ }
18
+
19
+ _uninstall_bat_pkg() {
20
+ loading "Uninstalling Bat" _uninstall_bat_pkg_impl
21
+ }
22
+
23
+ _uninstall_bat_pkg_impl() {
24
+ if ! pkg uninstall bat -y &>>"$LOG_FILE"; then
25
+ log_error "Failed to uninstall Bat"
26
+ return 1
27
+ fi
28
+ return 0
29
+ }
30
+
31
+ _update_bat_pkg() {
32
+ loading "Updating Bat" _update_bat_pkg_impl
33
+ }
34
+
35
+ _update_bat_pkg_impl() {
36
+ if ! pkg upgrade bat -y &>>"$LOG_FILE"; then
37
+ log_error "Failed to update Bat"
38
+ return 1
39
+ fi
40
+ return 0
41
+ }
42
+
43
+ install_bat() {
44
+ if command -v bat &>/dev/null; then
45
+ log_info "Bat is already installed"
46
+ return 2
47
+ fi
48
+ log_info "Installing Bat..."
49
+
50
+ mkdir -p "$(dirname "$LOG_FILE")"
51
+
52
+ _install_bat_pkg || return 1
53
+ log_success "Bat installed"
54
+ return 0
55
+ }
56
+
57
+ uninstall_bat() {
58
+ if ! command -v bat &>/dev/null; then
59
+ log_info "Bat is not installed"
60
+ return 2
61
+ fi
62
+ log_info "Uninstalling Bat..."
63
+ mkdir -p "$(dirname "$LOG_FILE")"
64
+
65
+ _uninstall_bat_pkg || return 1
66
+ log_success "Bat uninstalled"
67
+ return 0
68
+ }
69
+
70
+ update_bat() {
71
+ log_info "Updating Bat..."
72
+ mkdir -p "$(dirname "$LOG_FILE")"
73
+
74
+ _update_bat_pkg || return 1
75
+ log_success "Bat updated"
76
+ return 0
77
+ }
78
+
79
+ reinstall_bat() {
80
+ uninstall_bat
81
+ install_bat
82
+ }
@@ -0,0 +1,44 @@
1
+ # bc
2
+
3
+ Arbitrary precision calculator language
4
+
5
+ **Package:** bc
6
+ **Author:** israel marques
7
+ **Repository:** https://github.com/israelmarques1024-dotcom/karnel-termux
8
+ **Official:** https://www.gnu.org/software/bc
9
+ **Type:** Utility tool (pkg)
10
+ **License:** GPL-3.0
11
+
12
+ ## Description
13
+
14
+ bc is an arbitrary precision calculator language that supports interactive execution of mathematical statements. It can handle numbers of any length and is useful for scripting, mathematical operations, and number base conversions.
15
+
16
+ ## Dependencies
17
+
18
+ - Installed via pkg
19
+
20
+ ## Install
21
+
22
+ ```bash
23
+ karnel install dev --bc
24
+ ```
25
+
26
+ ## Uninstall
27
+
28
+ ```bash
29
+ karnel uninstall dev --bc
30
+ ```
31
+
32
+ ## Update
33
+
34
+ ```bash
35
+ karnel update dev --bc
36
+ ```
37
+
38
+ ## Notes
39
+
40
+ - Command: `bc`
41
+ - Supports arbitrary precision arithmetic
42
+ - Can be used in scripts for calculations
43
+ - Supports base conversions
44
+
@@ -0,0 +1,82 @@
1
+ #!/usr/bin/env bash
2
+
3
+ import "@/utils/log"
4
+
5
+ LOG_FILE="$KARNEL_CACHE/install_dev.log"
6
+
7
+ _install_bc_pkg() {
8
+ loading "Installing bc" _install_bc_pkg_impl
9
+ }
10
+
11
+ _install_bc_pkg_impl() {
12
+ if ! pkg install bc -y &>>"$LOG_FILE"; then
13
+ log_error "Failed to install bc"
14
+ return 1
15
+ fi
16
+ return 0
17
+ }
18
+
19
+ _uninstall_bc_pkg() {
20
+ loading "Uninstalling bc" _uninstall_bc_pkg_impl
21
+ }
22
+
23
+ _uninstall_bc_pkg_impl() {
24
+ if ! pkg uninstall bc -y &>>"$LOG_FILE"; then
25
+ log_error "Failed to uninstall bc"
26
+ return 1
27
+ fi
28
+ return 0
29
+ }
30
+
31
+ _update_bc_pkg() {
32
+ loading "Updating bc" _update_bc_pkg_impl
33
+ }
34
+
35
+ _update_bc_pkg_impl() {
36
+ if ! pkg upgrade bc -y &>>"$LOG_FILE"; then
37
+ log_error "Failed to update bc"
38
+ return 1
39
+ fi
40
+ return 0
41
+ }
42
+
43
+ install_bc() {
44
+ if command -v bc &>/dev/null; then
45
+ log_info "bc is already installed"
46
+ return 2
47
+ fi
48
+ log_info "Installing bc..."
49
+
50
+ mkdir -p "$(dirname "$LOG_FILE")"
51
+
52
+ _install_bc_pkg || return 1
53
+ log_success "bc installed"
54
+ return 0
55
+ }
56
+
57
+ uninstall_bc() {
58
+ if ! command -v bc &>/dev/null; then
59
+ log_info "bc is not installed"
60
+ return 2
61
+ fi
62
+ log_info "Uninstalling bc..."
63
+ mkdir -p "$(dirname "$LOG_FILE")"
64
+
65
+ _uninstall_bc_pkg || return 1
66
+ log_success "bc uninstalled"
67
+ return 0
68
+ }
69
+
70
+ update_bc() {
71
+ log_info "Updating bc..."
72
+ mkdir -p "$(dirname "$LOG_FILE")"
73
+
74
+ _update_bc_pkg || return 1
75
+ log_success "bc updated"
76
+ return 0
77
+ }
78
+
79
+ reinstall_bc() {
80
+ uninstall_bc
81
+ install_bc
82
+ }
@@ -0,0 +1,43 @@
1
+ # Cloudflared
2
+
3
+ Cloudflare Tunnel client for secure connections
4
+
5
+ **Package:** cloudflared
6
+ **Author:** israel marques
7
+ **Repository:** https://github.com/israelmarques1024-dotcom/karnel-termux
8
+ **Official:** https://developers.cloudflare.com/cloudflare-one/connections/connect-networks
9
+ **Type:** Networking tool (pkg)
10
+ **License:** Apache 2.0 / Cloudflare License
11
+
12
+ ## Description
13
+
14
+ Cloudflared creates secure tunnels from your local server to Cloudflare's edge network. It exposes local services to the internet through Cloudflare without opening firewall ports, providing DDoS protection and SSL/TLS encryption.
15
+
16
+ ## Dependencies
17
+
18
+ - Installed via pkg
19
+
20
+ ## Install
21
+
22
+ ```bash
23
+ karnel install dev --cloudflared
24
+ ```
25
+
26
+ ## Uninstall
27
+
28
+ ```bash
29
+ karnel uninstall dev --cloudflared
30
+ ```
31
+
32
+ ## Update
33
+
34
+ ```bash
35
+ karnel update dev --cloudflared
36
+ ```
37
+
38
+ ## Notes
39
+
40
+ - Command: `cloudflared`
41
+ - Requires Cloudflare account for tunnel setup
42
+ - Supports load balancing and failover
43
+
@@ -0,0 +1,82 @@
1
+ #!/usr/bin/env bash
2
+
3
+ import "@/utils/log"
4
+
5
+ LOG_FILE="$KARNEL_CACHE/install_dev.log"
6
+
7
+ _install_cloudflared_pkg() {
8
+ loading "Installing Cloudflared" _install_cloudflared_pkg_impl
9
+ }
10
+
11
+ _install_cloudflared_pkg_impl() {
12
+ if ! pkg install cloudflared -y &>>"$LOG_FILE"; then
13
+ log_error "Failed to install Cloudflared"
14
+ return 1
15
+ fi
16
+ return 0
17
+ }
18
+
19
+ _uninstall_cloudflared_pkg() {
20
+ loading "Uninstalling Cloudflared" _uninstall_cloudflared_pkg_impl
21
+ }
22
+
23
+ _uninstall_cloudflared_pkg_impl() {
24
+ if ! pkg uninstall cloudflared -y &>>"$LOG_FILE"; then
25
+ log_error "Failed to uninstall Cloudflared"
26
+ return 1
27
+ fi
28
+ return 0
29
+ }
30
+
31
+ _update_cloudflared_pkg() {
32
+ loading "Updating Cloudflared" _update_cloudflared_pkg_impl
33
+ }
34
+
35
+ _update_cloudflared_pkg_impl() {
36
+ if ! pkg upgrade cloudflared -y &>>"$LOG_FILE"; then
37
+ log_error "Failed to update Cloudflared"
38
+ return 1
39
+ fi
40
+ return 0
41
+ }
42
+
43
+ install_cloudflared() {
44
+ if command -v cloudflared &>/dev/null; then
45
+ log_info "Cloudflared is already installed"
46
+ return 2
47
+ fi
48
+ log_info "Installing Cloudflared..."
49
+
50
+ mkdir -p "$(dirname "$LOG_FILE")"
51
+
52
+ _install_cloudflared_pkg || return 1
53
+ log_success "Cloudflared installed"
54
+ return 0
55
+ }
56
+
57
+ uninstall_cloudflared() {
58
+ if ! command -v cloudflared &>/dev/null; then
59
+ log_info "Cloudflared is not installed"
60
+ return 2
61
+ fi
62
+ log_info "Uninstalling Cloudflared..."
63
+ mkdir -p "$(dirname "$LOG_FILE")"
64
+
65
+ _uninstall_cloudflared_pkg || return 1
66
+ log_success "Cloudflared uninstalled"
67
+ return 0
68
+ }
69
+
70
+ update_cloudflared() {
71
+ log_info "Updating Cloudflared..."
72
+ mkdir -p "$(dirname "$LOG_FILE")"
73
+
74
+ _update_cloudflared_pkg || return 1
75
+ log_success "Cloudflared updated"
76
+ return 0
77
+ }
78
+
79
+ reinstall_cloudflared() {
80
+ uninstall_cloudflared
81
+ install_cloudflared
82
+ }
@@ -0,0 +1,43 @@
1
+ # Curl
2
+
3
+ Command-line tool for transferring data with URLs
4
+
5
+ **Package:** curl
6
+ **Author:** israel marques
7
+ **Repository:** https://github.com/israelmarques1024-dotcom/karnel-termux
8
+ **Official:** https://curl.se
9
+ **Type:** Development tool (pkg)
10
+ **License:** curl License (MIT-like)
11
+
12
+ ## Description
13
+
14
+ curl is a command-line tool and library for transferring data with URLs. It supports a wide range of protocols including HTTP, HTTPS, FTP, SFTP, SCP, and many more. It is the Swiss Army knife of internet data transfer.
15
+
16
+ ## Dependencies
17
+
18
+ - Installed via pkg
19
+
20
+ ## Install
21
+
22
+ ```bash
23
+ karnel install dev --curl
24
+ ```
25
+
26
+ ## Uninstall
27
+
28
+ ```bash
29
+ karnel uninstall dev --curl
30
+ ```
31
+
32
+ ## Update
33
+
34
+ ```bash
35
+ karnel update dev --curl
36
+ ```
37
+
38
+ ## Notes
39
+
40
+ - Command: `curl`
41
+ - Supports dozens of protocols
42
+ - Used extensively by other modules for downloads
43
+