machineconfig 6.82__py3-none-any.whl → 8.51__py3-none-any.whl

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 (461) hide show
  1. machineconfig/cluster/remote/cloud_manager.py +1 -1
  2. machineconfig/cluster/remote/run_cluster.py +1 -1
  3. machineconfig/cluster/remote/run_remote.py +1 -1
  4. machineconfig/cluster/sessions_managers/utils/maker.py +29 -15
  5. machineconfig/cluster/sessions_managers/wt_local.py +17 -222
  6. machineconfig/cluster/sessions_managers/wt_local_manager.py +56 -194
  7. machineconfig/cluster/sessions_managers/wt_remote_manager.py +42 -198
  8. machineconfig/cluster/sessions_managers/wt_utils/manager_persistence.py +52 -0
  9. machineconfig/cluster/sessions_managers/wt_utils/monitoring_helpers.py +50 -0
  10. machineconfig/cluster/sessions_managers/wt_utils/status_reporting.py +76 -0
  11. machineconfig/cluster/sessions_managers/wt_utils/wt_helpers.py +199 -0
  12. machineconfig/cluster/sessions_managers/zellij_local.py +1 -1
  13. machineconfig/cluster/sessions_managers/zellij_local_manager.py +4 -2
  14. machineconfig/cluster/sessions_managers/zellij_remote_manager.py +3 -2
  15. machineconfig/cluster/sessions_managers/zellij_utils/process_monitor.py +2 -2
  16. machineconfig/jobs/installer/checks/check_installations.py +133 -0
  17. machineconfig/jobs/installer/checks/install_utils.py +132 -0
  18. machineconfig/jobs/installer/checks/report_utils.py +39 -0
  19. machineconfig/jobs/installer/checks/vt_utils.py +89 -0
  20. machineconfig/jobs/installer/installer_data.json +1500 -310
  21. machineconfig/jobs/installer/linux_scripts/docker.sh +6 -9
  22. machineconfig/jobs/installer/linux_scripts/q.sh +10 -7
  23. machineconfig/jobs/installer/linux_scripts/redis.sh +1 -0
  24. machineconfig/jobs/installer/package_groups.py +62 -91
  25. machineconfig/jobs/installer/powershell_scripts/install_fonts.ps1 +129 -34
  26. machineconfig/jobs/installer/{custom → python_scripts}/boxes.py +2 -3
  27. machineconfig/jobs/installer/{custom_dev → python_scripts}/brave.py +5 -3
  28. machineconfig/jobs/installer/python_scripts/cloudflare_warp_cli.py +23 -0
  29. machineconfig/jobs/installer/{custom_dev → python_scripts}/code.py +14 -9
  30. machineconfig/jobs/installer/{custom_dev → python_scripts}/dubdb_adbc.py +1 -1
  31. machineconfig/jobs/installer/python_scripts/hx.py +214 -0
  32. machineconfig/jobs/installer/{custom_dev → python_scripts}/nerdfont.py +2 -2
  33. machineconfig/jobs/installer/{custom_dev → python_scripts}/nerfont_windows_helper.py +32 -26
  34. machineconfig/jobs/installer/python_scripts/sysabc.py +145 -0
  35. machineconfig/jobs/installer/{custom_dev → python_scripts}/wezterm.py +2 -19
  36. machineconfig/jobs/installer/{custom_dev → python_scripts}/winget.py +10 -14
  37. machineconfig/jobs/installer/python_scripts/yazi.py +139 -0
  38. machineconfig/{scripts/python/nw → jobs/scripts/bash_scripts}/mount_nfs +0 -1
  39. machineconfig/jobs/scripts/powershell_scripts/cmatrix.ps1 +52 -0
  40. machineconfig/jobs/scripts/powershell_scripts/mount_ssh.ps1 +13 -0
  41. machineconfig/jobs/scripts/powershell_scripts/obs.ps1 +4 -0
  42. machineconfig/jobs/scripts_dynamic/a.py +428 -0
  43. machineconfig/logger.py +1 -2
  44. machineconfig/profile/create_helper.py +56 -18
  45. machineconfig/profile/create_links.py +79 -21
  46. machineconfig/profile/create_links_export.py +87 -36
  47. machineconfig/profile/create_shell_profile.py +92 -127
  48. machineconfig/profile/mapper_data.toml +45 -0
  49. machineconfig/profile/mapper_dotfiles.toml +249 -0
  50. machineconfig/scripts/__init__.py +0 -4
  51. machineconfig/scripts/linux/wrap_mcfg +46 -0
  52. machineconfig/scripts/nu/wrap_mcfg.nu +69 -0
  53. machineconfig/scripts/python/agents.py +85 -165
  54. machineconfig/scripts/python/ai/initai.py +4 -2
  55. machineconfig/scripts/python/ai/scripts/__init__.py +1 -0
  56. machineconfig/scripts/python/ai/scripts/command_runner.ps1 +33 -0
  57. machineconfig/scripts/python/ai/{command_runner → scripts}/command_runner.sh +1 -1
  58. machineconfig/scripts/python/ai/scripts/lint_and_type_check.ps1 +2 -0
  59. machineconfig/scripts/python/ai/scripts/lint_and_type_check.sh +8 -6
  60. machineconfig/scripts/python/ai/solutions/claude/claude.py +1 -1
  61. machineconfig/scripts/python/ai/solutions/cline/cline.py +1 -1
  62. machineconfig/scripts/python/ai/solutions/copilot/{chatmodes/Thinking-Beast-Mode.chatmode.md → agents/Thinking-Beast-Mode.agent.md} +0 -1
  63. machineconfig/scripts/python/ai/solutions/copilot/{chatmodes/Ultimate-Transparent-Thinking-Beast-Mode.chatmode.md → agents/Ultimate-Transparent-Thinking-Beast-Mode.agent.md} +0 -1
  64. machineconfig/scripts/python/ai/solutions/copilot/{chatmodes/deepResearch.chatmode.md → agents/deepResearch.agent.md} +2 -2
  65. machineconfig/scripts/python/ai/solutions/copilot/github_copilot.py +6 -6
  66. machineconfig/scripts/python/ai/solutions/copilot/instructions/python/dev.instructions.md +33 -0
  67. machineconfig/scripts/python/ai/solutions/copilot/instructions/python/watch_exec.prompt.md +20 -0
  68. machineconfig/scripts/python/ai/solutions/crush/crush.py +1 -1
  69. machineconfig/scripts/python/ai/solutions/cursor/cursors.py +1 -1
  70. machineconfig/scripts/python/ai/solutions/gemini/gemini.py +1 -1
  71. machineconfig/scripts/python/ai/solutions/gemini/settings.json +3 -0
  72. machineconfig/scripts/python/ai/{generate_files.py → utils/generate_files.py} +2 -2
  73. machineconfig/scripts/python/ai/{solutions → utils}/generic.py +2 -15
  74. machineconfig/scripts/python/ai/{vscode_tasks.py → utils/vscode_tasks.py} +13 -5
  75. machineconfig/scripts/python/cloud.py +58 -11
  76. machineconfig/scripts/python/croshell.py +10 -162
  77. machineconfig/scripts/python/devops.py +73 -36
  78. machineconfig/scripts/python/devops_navigator.py +16 -6
  79. machineconfig/scripts/python/fire_jobs.py +8 -222
  80. machineconfig/scripts/python/ftpx.py +7 -200
  81. machineconfig/scripts/python/graph/cli_graph.json +8743 -0
  82. machineconfig/scripts/python/{env_manager → helper_env}/path_manager_tui.py +2 -2
  83. machineconfig/scripts/python/helpers/helper_env/env_manager_tui.py +204 -0
  84. machineconfig/scripts/python/helpers/helper_env/path_manager_tui.py +228 -0
  85. machineconfig/scripts/python/{helpers_fire → helpers/helpers_agents}/agentic_frameworks/fire_crush.json +1 -1
  86. machineconfig/scripts/python/helpers/helpers_agents/agentic_frameworks/fire_crush.py +39 -0
  87. machineconfig/scripts/python/{helpers_fire → helpers/helpers_agents}/agentic_frameworks/fire_cursor_agents.py +3 -4
  88. machineconfig/scripts/python/helpers/helpers_agents/agentic_frameworks/fire_gemini.py +55 -0
  89. machineconfig/scripts/python/helpers/helpers_agents/agentic_frameworks/fire_qwen.py +30 -0
  90. machineconfig/scripts/python/helpers/helpers_agents/agents_impl.py +168 -0
  91. machineconfig/scripts/python/{helpers_fire → helpers/helpers_agents}/fire_agents_help_launch.py +38 -16
  92. machineconfig/scripts/python/{helpers_fire → helpers/helpers_agents}/fire_agents_helper_types.py +11 -14
  93. machineconfig/scripts/python/helpers/helpers_agents/privacy/configs/aichat/config.yaml +5 -0
  94. machineconfig/scripts/python/helpers/helpers_agents/privacy/configs/aider/.aider.conf.yml +2 -0
  95. machineconfig/scripts/python/helpers/helpers_agents/privacy/configs/copilot/config.yml +1 -0
  96. machineconfig/scripts/python/helpers/helpers_agents/privacy/configs/crush/crush.json +10 -0
  97. machineconfig/scripts/python/helpers/helpers_agents/privacy/configs/gemini/settings.json +12 -0
  98. machineconfig/scripts/python/helpers/helpers_agents/privacy/privacy.py +109 -0
  99. machineconfig/scripts/python/helpers/helpers_agents/templates/prompt.txt +10 -0
  100. machineconfig/scripts/python/helpers/helpers_agents/templates/template.sh +34 -0
  101. machineconfig/scripts/python/{helpers_cloud → helpers/helpers_cloud}/cloud_copy.py +32 -25
  102. machineconfig/scripts/python/{helpers_cloud → helpers/helpers_cloud}/cloud_mount.py +29 -22
  103. machineconfig/scripts/python/{helpers_cloud → helpers/helpers_cloud}/cloud_sync.py +9 -8
  104. machineconfig/scripts/python/{helpers_cloud → helpers/helpers_cloud}/helpers2.py +1 -1
  105. machineconfig/scripts/python/{helpers_croshell → helpers/helpers_croshell}/crosh.py +3 -3
  106. machineconfig/scripts/python/helpers/helpers_croshell/croshell_impl.py +225 -0
  107. machineconfig/scripts/python/{helpers_croshell → helpers/helpers_croshell}/scheduler.py +4 -4
  108. machineconfig/scripts/python/{helpers_croshell → helpers/helpers_croshell}/start_slidev.py +12 -12
  109. machineconfig/scripts/python/helpers/helpers_devops/backup_config.py +149 -0
  110. machineconfig/scripts/python/helpers/helpers_devops/cli_backup_retrieve.py +262 -0
  111. machineconfig/scripts/python/helpers/helpers_devops/cli_config.py +98 -0
  112. machineconfig/scripts/python/helpers/helpers_devops/cli_config_dotfile.py +274 -0
  113. machineconfig/scripts/python/helpers/helpers_devops/cli_data.py +67 -0
  114. machineconfig/scripts/python/helpers/helpers_devops/cli_nw.py +201 -0
  115. machineconfig/scripts/python/helpers/helpers_devops/cli_repos.py +274 -0
  116. machineconfig/scripts/python/helpers/helpers_devops/cli_self.py +197 -0
  117. machineconfig/scripts/python/helpers/helpers_devops/cli_share_file.py +151 -0
  118. machineconfig/scripts/python/helpers/helpers_devops/cli_share_server.py +125 -0
  119. machineconfig/scripts/python/{helpers_devops/cli_terminal.py → helpers/helpers_devops/cli_share_terminal.py} +26 -22
  120. machineconfig/scripts/python/helpers/helpers_devops/cli_ssh.py +167 -0
  121. machineconfig/scripts/python/{helpers_devops → helpers/helpers_devops}/devops_status.py +17 -23
  122. machineconfig/scripts/python/{helpers_devops → helpers/helpers_devops}/devops_update_repos.py +1 -1
  123. machineconfig/scripts/python/{interactive.py → helpers/helpers_devops/interactive.py} +78 -71
  124. machineconfig/scripts/python/helpers/helpers_devops/run_script.py +197 -0
  125. machineconfig/scripts/python/helpers/helpers_devops/themes/choose_starship_theme.ps1 +41 -0
  126. machineconfig/scripts/python/helpers/helpers_devops/themes/choose_starship_theme.sh +48 -0
  127. machineconfig/scripts/python/{helpers_devops → helpers/helpers_devops}/themes/choose_wezterm_theme.py +4 -4
  128. machineconfig/scripts/python/{helpers_fire/helpers4.py → helpers/helpers_fire_command/file_wrangler.py} +57 -20
  129. machineconfig/scripts/python/{helpers_fire_command → helpers/helpers_fire_command}/fire_jobs_args_helper.py +1 -0
  130. machineconfig/scripts/python/helpers/helpers_fire_command/fire_jobs_impl.py +233 -0
  131. machineconfig/scripts/python/{helpers_fire_command → helpers/helpers_fire_command}/fire_jobs_route_helper.py +26 -16
  132. machineconfig/scripts/python/helpers/helpers_msearch/__init__.py +5 -0
  133. machineconfig/scripts/python/helpers/helpers_msearch/msearch_impl.py +248 -0
  134. machineconfig/scripts/{linux → python/helpers/helpers_msearch/scripts_linux}/fzfg +6 -5
  135. machineconfig/scripts/python/helpers/helpers_msearch/scripts_linux/search_with_context.sh +48 -0
  136. machineconfig/scripts/python/helpers/helpers_msearch/scripts_windows/fzfg.ps1 +59 -0
  137. machineconfig/scripts/python/helpers/helpers_navigator/__init__.py +20 -0
  138. machineconfig/scripts/python/helpers/helpers_navigator/cli_graph_loader.py +234 -0
  139. machineconfig/scripts/python/{helpers_navigator → helpers/helpers_navigator}/command_builder.py +61 -13
  140. machineconfig/scripts/python/helpers/helpers_navigator/command_detail.py +153 -0
  141. machineconfig/scripts/python/helpers/helpers_navigator/command_tree.py +45 -0
  142. machineconfig/scripts/python/{helpers_navigator → helpers/helpers_navigator}/data_models.py +18 -11
  143. machineconfig/scripts/python/{helpers_navigator → helpers/helpers_navigator}/main_app.py +5 -5
  144. machineconfig/scripts/python/helpers/helpers_network/address.py +174 -0
  145. machineconfig/scripts/python/helpers/helpers_network/address_switch.py +78 -0
  146. machineconfig/scripts/python/helpers/helpers_network/ftpx_impl.py +276 -0
  147. machineconfig/scripts/python/{nw → helpers/helpers_network}/mount_nfs.py +2 -2
  148. machineconfig/scripts/python/{nw → helpers/helpers_network}/mount_ssh.py +3 -3
  149. machineconfig/scripts/python/helpers/helpers_network/ssh_add_identity.py +73 -0
  150. machineconfig/scripts/python/helpers/helpers_network/ssh_add_ssh_key.py +175 -0
  151. machineconfig/scripts/python/helpers/helpers_network/ssh_debug_linux.py +319 -0
  152. machineconfig/scripts/python/helpers/helpers_network/ssh_debug_windows.py +275 -0
  153. machineconfig/scripts/python/{nw → helpers/helpers_network}/wifi_conn.py +1 -53
  154. machineconfig/scripts/python/{helpers_repos → helpers/helpers_repos}/action.py +3 -3
  155. machineconfig/scripts/python/{helpers_repos → helpers/helpers_repos}/action_helper.py +3 -3
  156. machineconfig/scripts/python/{helpers_repos → helpers/helpers_repos}/clone.py +0 -1
  157. machineconfig/scripts/python/{helpers_repos → helpers/helpers_repos}/cloud_repo_sync.py +159 -48
  158. machineconfig/scripts/python/{helpers_repos → helpers/helpers_repos}/grource.py +4 -3
  159. machineconfig/scripts/python/{helpers_repos → helpers/helpers_repos}/record.py +33 -12
  160. machineconfig/scripts/python/helpers/helpers_repos/repo_analyzer_1.py +160 -0
  161. machineconfig/scripts/python/{helpers_repos/count_lines.py → helpers/helpers_repos/repo_analyzer_2.py} +156 -191
  162. machineconfig/scripts/python/{helpers_repos → helpers/helpers_repos}/update.py +0 -6
  163. machineconfig/scripts/python/helpers/helpers_search/ast_search.py +74 -0
  164. machineconfig/scripts/python/helpers/helpers_search/qr_code.py +166 -0
  165. machineconfig/scripts/python/helpers/helpers_search/repo_rag.py +325 -0
  166. machineconfig/scripts/python/helpers/helpers_search/script_help.py +81 -0
  167. machineconfig/scripts/python/helpers/helpers_search/symantic_search.py +25 -0
  168. machineconfig/scripts/python/helpers/helpers_sessions/__init__.py +0 -0
  169. machineconfig/scripts/python/helpers/helpers_sessions/sessions_impl.py +186 -0
  170. machineconfig/scripts/python/{helpers_sessions → helpers/helpers_sessions}/sessions_multiprocess.py +20 -14
  171. machineconfig/scripts/python/helpers/helpers_terminal/__init__.py +0 -0
  172. machineconfig/scripts/python/helpers/helpers_terminal/terminal_impl.py +96 -0
  173. machineconfig/scripts/python/helpers/helpers_utils/download.py +150 -0
  174. machineconfig/scripts/python/helpers/helpers_utils/pdf.py +96 -0
  175. machineconfig/scripts/python/helpers/helpers_utils/python.py +210 -0
  176. machineconfig/scripts/python/helpers/helpers_utils/specs.py +246 -0
  177. machineconfig/scripts/python/mcfg_entry.py +143 -0
  178. machineconfig/scripts/python/msearch.py +26 -0
  179. machineconfig/scripts/python/sessions.py +69 -135
  180. machineconfig/scripts/python/terminal.py +58 -0
  181. machineconfig/scripts/python/utils.py +115 -38
  182. machineconfig/scripts/windows/wrap_mcfg.ps1 +63 -0
  183. machineconfig/settings/atuin/config.toml +294 -0
  184. machineconfig/settings/atuin/themes/catppuccin-mocha-mauve.toml +12 -0
  185. machineconfig/settings/broot/conf.toml +1 -1
  186. machineconfig/settings/helix/config.toml +16 -0
  187. machineconfig/settings/helix/languages.toml +13 -4
  188. machineconfig/settings/helix/yazi-picker.sh +12 -0
  189. machineconfig/settings/lf/linux/exe/lfcd.sh +1 -0
  190. machineconfig/settings/lf/linux/exe/previewer.sh +3 -2
  191. machineconfig/settings/lf/windows/lfcd.ps1 +1 -1
  192. machineconfig/settings/lf/windows/lfrc +14 -16
  193. machineconfig/settings/linters/.ruff.toml +2 -1
  194. machineconfig/settings/marimo/marimo.toml +1 -1
  195. machineconfig/settings/marimo/snippets/globalize.py +34 -0
  196. machineconfig/settings/mprocs/windows/mprocs.yaml +2 -2
  197. machineconfig/settings/shells/bash/init.sh +47 -12
  198. machineconfig/settings/shells/ipy/profiles/default/startup/playext.py +1 -1
  199. machineconfig/settings/shells/nushell/config.nu +25 -33
  200. machineconfig/settings/shells/nushell/env.nu +21 -8
  201. machineconfig/settings/shells/nushell/init.nu +138 -0
  202. machineconfig/settings/shells/pwsh/init.ps1 +111 -17
  203. machineconfig/settings/shells/pwsh/search_pwsh_history.ps1 +99 -0
  204. machineconfig/settings/shells/starship/starship.toml +16 -0
  205. machineconfig/settings/shells/wezterm/wezterm.lua +6 -1
  206. machineconfig/settings/shells/wt/settings.json +27 -18
  207. machineconfig/settings/shells/zsh/init.sh +42 -23
  208. machineconfig/settings/television/cable_unix/alias.toml +8 -0
  209. machineconfig/settings/television/cable_unix/aws-buckets.toml +14 -0
  210. machineconfig/settings/television/cable_unix/aws-instances.toml +13 -0
  211. machineconfig/settings/television/cable_unix/bash-history.toml +8 -0
  212. machineconfig/settings/television/cable_unix/channels.toml +19 -0
  213. machineconfig/settings/television/cable_unix/dirs.toml +13 -0
  214. machineconfig/settings/television/cable_unix/distrobox-list.toml +42 -0
  215. machineconfig/settings/television/cable_unix/docker-images.toml +13 -0
  216. machineconfig/settings/television/cable_unix/dotfiles.toml +11 -0
  217. machineconfig/settings/television/cable_unix/env.toml +17 -0
  218. machineconfig/settings/television/cable_unix/files.toml +11 -0
  219. machineconfig/settings/television/cable_unix/fish-history.toml +8 -0
  220. machineconfig/settings/television/cable_unix/git-branch.toml +11 -0
  221. machineconfig/settings/television/cable_unix/git-diff.toml +10 -0
  222. machineconfig/settings/television/cable_unix/git-log.toml +12 -0
  223. machineconfig/settings/television/cable_unix/git-reflog.toml +12 -0
  224. machineconfig/settings/television/cable_unix/git-repos.toml +16 -0
  225. machineconfig/settings/television/cable_unix/guix.toml +20 -0
  226. machineconfig/settings/television/cable_unix/just-recipes.toml +18 -0
  227. machineconfig/settings/television/cable_unix/k8s-deployments.toml +36 -0
  228. machineconfig/settings/television/cable_unix/k8s-pods.toml +50 -0
  229. machineconfig/settings/television/cable_unix/k8s-services.toml +36 -0
  230. machineconfig/settings/television/cable_unix/man-pages.toml +24 -0
  231. machineconfig/settings/television/cable_unix/nu-history.toml +7 -0
  232. machineconfig/settings/television/cable_unix/procs.toml +20 -0
  233. machineconfig/settings/television/cable_unix/text.toml +17 -0
  234. machineconfig/settings/television/cable_unix/tldr.toml +18 -0
  235. machineconfig/settings/television/cable_unix/zsh-history.toml +9 -0
  236. machineconfig/settings/television/cable_windows/alias.toml +7 -0
  237. machineconfig/settings/television/cable_windows/dirs.toml +13 -0
  238. machineconfig/settings/television/cable_windows/docker-images.toml +13 -0
  239. machineconfig/settings/television/cable_windows/dotfiles.toml +11 -0
  240. machineconfig/settings/television/cable_windows/env.toml +17 -0
  241. machineconfig/settings/television/cable_windows/files.toml +14 -0
  242. machineconfig/settings/television/cable_windows/git-branch.toml +11 -0
  243. machineconfig/settings/television/cable_windows/git-diff.toml +10 -0
  244. machineconfig/settings/television/cable_windows/git-log.toml +11 -0
  245. machineconfig/settings/television/cable_windows/git-reflog.toml +11 -0
  246. machineconfig/settings/television/cable_windows/git-repos.toml +15 -0
  247. machineconfig/settings/television/cable_windows/nu-history.toml +7 -0
  248. machineconfig/settings/television/cable_windows/pwsh-history.toml +6 -0
  249. machineconfig/settings/television/cable_windows/text.toml +17 -0
  250. machineconfig/settings/tv/config.toml +234 -0
  251. machineconfig/settings/tv/themes/catppuccin-mocha-sky.toml +22 -0
  252. machineconfig/settings/wsl/.wslconfig +5 -30
  253. machineconfig/settings/wt/__init__.py +0 -0
  254. machineconfig/settings/yazi/init.lua +61 -0
  255. machineconfig/settings/yazi/keymap_linux.toml +94 -0
  256. machineconfig/settings/yazi/keymap_windows.toml +78 -0
  257. machineconfig/settings/yazi/shell/yazi_cd.ps1 +33 -0
  258. machineconfig/settings/yazi/shell/yazi_cd.sh +8 -0
  259. machineconfig/settings/yazi/theme.toml +4 -0
  260. machineconfig/settings/yazi/yazi_linux.toml +94 -0
  261. machineconfig/settings/yazi/yazi_windows.toml +58 -0
  262. machineconfig/settings/zellij/layouts/st.kdl +40 -9
  263. machineconfig/settings/zellij/layouts/st2.kdl +1 -1
  264. machineconfig/setup_linux/__init__.py +2 -2
  265. machineconfig/setup_linux/apps_desktop.sh +8 -27
  266. machineconfig/setup_linux/web_shortcuts/interactive.sh +27 -12
  267. machineconfig/setup_linux/web_shortcuts/live_from_github.sh +34 -0
  268. machineconfig/setup_mac/__init__.py +1 -4
  269. machineconfig/setup_mac/apps_gui.sh +248 -0
  270. machineconfig/setup_windows/__init__.py +2 -5
  271. machineconfig/setup_windows/uv.ps1 +8 -1
  272. machineconfig/setup_windows/web_shortcuts/interactive.ps1 +28 -12
  273. machineconfig/setup_windows/web_shortcuts/live_from_github.ps1 +31 -0
  274. machineconfig/setup_windows/web_shortcuts/quick_init.ps1 +17 -0
  275. machineconfig/type_hinting/sql/__init__.py +1 -0
  276. machineconfig/type_hinting/sql/base.py +216 -0
  277. machineconfig/type_hinting/sql/core_schema.py +64 -0
  278. machineconfig/type_hinting/sql/core_schema_typeddict.py +41 -0
  279. machineconfig/type_hinting/sql/typeddict_codegen.py +222 -0
  280. machineconfig/type_hinting/typedict/__init__.py +1 -0
  281. machineconfig/type_hinting/typedict/ast_utils.py +130 -0
  282. machineconfig/type_hinting/typedict/generator_helpers.py +319 -0
  283. machineconfig/type_hinting/typedict/generators.py +231 -0
  284. machineconfig/type_hinting/typedict/polars_schema.py +24 -0
  285. machineconfig/type_hinting/typedict/polars_schema_typeddict.py +63 -0
  286. machineconfig/utils/accessories.py +31 -4
  287. machineconfig/utils/code.py +163 -51
  288. machineconfig/utils/files/ascii_art.py +11 -15
  289. machineconfig/utils/files/headers.py +6 -7
  290. machineconfig/utils/files/read.py +8 -1
  291. machineconfig/utils/installer_utils/github_release_bulk.py +95 -138
  292. machineconfig/utils/installer_utils/github_release_scraper.py +99 -0
  293. machineconfig/utils/installer_utils/install_from_url.py +183 -0
  294. machineconfig/utils/installer_utils/installer_class.py +53 -102
  295. machineconfig/utils/installer_utils/installer_cli.py +161 -0
  296. machineconfig/utils/installer_utils/installer_helper.py +129 -0
  297. machineconfig/utils/installer_utils/{installer_abc.py → installer_locator_utils.py} +42 -91
  298. machineconfig/utils/{installer.py → installer_utils/installer_runner.py} +20 -65
  299. machineconfig/utils/io.py +94 -9
  300. machineconfig/utils/links.py +56 -38
  301. machineconfig/utils/meta.py +38 -21
  302. machineconfig/utils/options.py +81 -23
  303. machineconfig/utils/options_utils/__init__.py +0 -0
  304. machineconfig/utils/options_utils/options_tv_linux.py +211 -0
  305. machineconfig/utils/options_utils/options_tv_windows.py +88 -0
  306. machineconfig/utils/options_utils/tv_options.py +37 -0
  307. machineconfig/utils/path_extended.py +52 -102
  308. machineconfig/utils/path_helper.py +76 -23
  309. machineconfig/utils/procs.py +1 -1
  310. machineconfig/utils/scheduler.py +26 -53
  311. machineconfig/utils/scheduling.py +0 -2
  312. machineconfig/utils/schemas/fire_agents/fire_agents_input.py +1 -1
  313. machineconfig/utils/schemas/layouts/layout_types.py +1 -1
  314. machineconfig/utils/source_of_truth.py +6 -1
  315. machineconfig/utils/ssh.py +216 -419
  316. machineconfig/utils/ssh_utils/abc.py +5 -0
  317. machineconfig/utils/ssh_utils/copy_from_here.py +116 -0
  318. machineconfig/utils/ssh_utils/copy_to_here.py +303 -0
  319. machineconfig/utils/ssh_utils/utils.py +158 -0
  320. machineconfig/utils/ssh_utils/wsl.py +147 -0
  321. machineconfig/utils/ssh_utils/wsl_helper.py +217 -0
  322. machineconfig/utils/terminal.py +1 -0
  323. machineconfig/utils/upgrade_packages.py +107 -35
  324. machineconfig/utils/ve.py +12 -4
  325. machineconfig-8.51.dist-info/METADATA +140 -0
  326. machineconfig-8.51.dist-info/RECORD +543 -0
  327. {machineconfig-6.82.dist-info → machineconfig-8.51.dist-info}/entry_points.txt +4 -1
  328. machineconfig/jobs/installer/check_installations.py +0 -248
  329. machineconfig/jobs/installer/custom/hx.py +0 -140
  330. machineconfig/jobs/installer/linux_scripts/pgsql.sh +0 -41
  331. machineconfig/jobs/installer/linux_scripts/timescaledb.sh +0 -71
  332. machineconfig/jobs/installer/powershell_scripts/archive_pygraphviz.ps1 +0 -12
  333. machineconfig/jobs/installer/powershell_scripts/openssh-server_add_key.ps1 +0 -7
  334. machineconfig/jobs/installer/powershell_scripts/openssh-server_copy-ssh-id.ps1 +0 -14
  335. machineconfig/profile/backup.toml +0 -49
  336. machineconfig/profile/mapper.toml +0 -256
  337. machineconfig/scripts/linux/fzf2g +0 -21
  338. machineconfig/scripts/linux/fzfag +0 -17
  339. machineconfig/scripts/linux/fzffg +0 -25
  340. machineconfig/scripts/linux/fzfrga +0 -21
  341. machineconfig/scripts/linux/mcfgs +0 -38
  342. machineconfig/scripts/linux/other/share_smb +0 -1
  343. machineconfig/scripts/linux/other/switch_ip +0 -20
  344. machineconfig/scripts/linux/skrg +0 -4
  345. machineconfig/scripts/linux/warp-cli.sh +0 -122
  346. machineconfig/scripts/linux/z_ls +0 -104
  347. machineconfig/scripts/python/ai/command_runner/prompt.txt +0 -9
  348. machineconfig/scripts/python/helpers_devops/cli_config.py +0 -120
  349. machineconfig/scripts/python/helpers_devops/cli_config_dotfile.py +0 -77
  350. machineconfig/scripts/python/helpers_devops/cli_data.py +0 -25
  351. machineconfig/scripts/python/helpers_devops/cli_nw.py +0 -73
  352. machineconfig/scripts/python/helpers_devops/cli_repos.py +0 -181
  353. machineconfig/scripts/python/helpers_devops/cli_self.py +0 -122
  354. machineconfig/scripts/python/helpers_devops/cli_share_server.py +0 -104
  355. machineconfig/scripts/python/helpers_devops/cli_utils.py +0 -221
  356. machineconfig/scripts/python/helpers_devops/devops_backup_retrieve.py +0 -80
  357. machineconfig/scripts/python/helpers_devops/themes/choose_starship_theme.bash +0 -3
  358. machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_crush.py +0 -37
  359. machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_gemini.py +0 -44
  360. machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_qwen.py +0 -43
  361. machineconfig/scripts/python/helpers_fire/prompt.txt +0 -2
  362. machineconfig/scripts/python/helpers_fire/template.sh +0 -15
  363. machineconfig/scripts/python/helpers_navigator/__init__.py +0 -20
  364. machineconfig/scripts/python/helpers_navigator/command_detail.py +0 -44
  365. machineconfig/scripts/python/helpers_navigator/command_tree.py +0 -588
  366. machineconfig/scripts/python/helpers_repos/count_lines_frontend.py +0 -17
  367. machineconfig/scripts/python/helpers_repos/entrypoint.py +0 -76
  368. machineconfig/scripts/python/helpers_repos/secure_repo.py +0 -15
  369. machineconfig/scripts/python/mcfg.py +0 -48
  370. machineconfig/scripts/python/nw/add_ssh_key.py +0 -148
  371. machineconfig/scripts/python/nw/devops_add_identity.py +0 -82
  372. machineconfig/scripts/python/nw/devops_add_ssh_key.py +0 -134
  373. machineconfig/scripts/python/nw/ssh_debug_linux.py +0 -391
  374. machineconfig/scripts/python/nw/ssh_debug_windows.py +0 -338
  375. machineconfig/scripts/python/nw/wsl_windows_transfer.py +0 -66
  376. machineconfig/scripts/windows/fzfb.ps1 +0 -3
  377. machineconfig/scripts/windows/fzfg.ps1 +0 -2
  378. machineconfig/scripts/windows/fzfrga.bat +0 -20
  379. machineconfig/scripts/windows/mcfgs.ps1 +0 -17
  380. machineconfig/scripts/windows/mounts/mount_ssh.ps1 +0 -13
  381. machineconfig/settings/lf/linux/exe/fzf_nano.sh +0 -16
  382. machineconfig/settings/lf/windows/fzf_edit.ps1 +0 -6
  383. machineconfig/settings/lf/windows/tst.ps1 +0 -1
  384. machineconfig/settings/yazi/yazi.toml +0 -4
  385. machineconfig/setup_linux/apps.sh +0 -66
  386. machineconfig/setup_linux/others/cli_installation.sh +0 -137
  387. machineconfig/setup_linux/others/mint_keyboard_shortcuts.sh +0 -30
  388. machineconfig/setup_linux/ssh/openssh_all.sh +0 -25
  389. machineconfig/setup_linux/ssh/openssh_wsl.sh +0 -38
  390. machineconfig/setup_mac/apps.sh +0 -73
  391. machineconfig/setup_mac/ssh/openssh_setup.sh +0 -114
  392. machineconfig/setup_windows/apps.ps1 +0 -62
  393. machineconfig/setup_windows/others/obs.ps1 +0 -4
  394. machineconfig/setup_windows/ssh/add-sshkey.ps1 +0 -29
  395. machineconfig/setup_windows/ssh/add_identity.ps1 +0 -11
  396. machineconfig/setup_windows/ssh/openssh-server.ps1 +0 -37
  397. machineconfig/utils/installer_utils/installer.py +0 -225
  398. machineconfig/utils/tst.py +0 -20
  399. machineconfig-6.82.dist-info/METADATA +0 -82
  400. machineconfig-6.82.dist-info/RECORD +0 -441
  401. machineconfig/jobs/installer/{custom_dev → checks}/__init__.py +0 -0
  402. machineconfig/jobs/installer/linux_scripts/{warp-cli.sh → cloudflare_warp_cli.sh} +0 -0
  403. machineconfig/{scripts/python/helpers_cloud → jobs/installer/python_scripts}/__init__.py +0 -0
  404. machineconfig/jobs/installer/{custom_dev → python_scripts}/alacritty.py +0 -0
  405. machineconfig/jobs/installer/{custom_dev → python_scripts}/bypass_paywall.py +0 -0
  406. machineconfig/jobs/installer/{custom_dev → python_scripts}/cursor.py +0 -0
  407. machineconfig/jobs/installer/{custom_dev → python_scripts}/espanso.py +0 -0
  408. machineconfig/jobs/installer/{custom → python_scripts}/gh.py +0 -0
  409. machineconfig/jobs/installer/{custom_dev → python_scripts}/goes.py +0 -0
  410. machineconfig/jobs/installer/{custom_dev → python_scripts}/lvim.py +0 -0
  411. machineconfig/jobs/installer/{custom_dev → python_scripts}/redis.py +0 -0
  412. machineconfig/{setup_linux/others → jobs/scripts/bash_scripts}/android.sh +0 -0
  413. machineconfig/jobs/{installer/linux_scripts → scripts/bash_scripts}/lid.sh +0 -0
  414. machineconfig/{scripts/python/nw → jobs/scripts/bash_scripts}/mount_drive +0 -0
  415. machineconfig/{scripts/python/nw → jobs/scripts/bash_scripts}/mount_nw_drive +0 -0
  416. machineconfig/{scripts/python/nw → jobs/scripts/bash_scripts}/mount_smb +0 -0
  417. machineconfig/{scripts/linux/other → jobs/scripts/bash_scripts}/share_cloud.sh +0 -0
  418. machineconfig/{scripts/linux/other → jobs/scripts/bash_scripts}/share_nfs +0 -0
  419. machineconfig/{scripts/linux/other → jobs/scripts/bash_scripts}/start_docker +0 -0
  420. machineconfig/{scripts → jobs/scripts/powershell_scripts}/Restore-ThunderbirdProfile.ps1 +0 -0
  421. machineconfig/{setup_windows/others → jobs/scripts/powershell_scripts}/docker.ps1 +0 -0
  422. machineconfig/{scripts/windows/mounts → jobs/scripts/powershell_scripts}/mount_nfs.ps1 +0 -0
  423. machineconfig/{scripts/windows/mounts → jobs/scripts/powershell_scripts}/mount_nw.ps1 +0 -0
  424. machineconfig/{scripts/windows/mounts → jobs/scripts/powershell_scripts}/mount_smb.ps1 +0 -0
  425. machineconfig/{setup_windows/others → jobs/scripts/powershell_scripts}/power_options.ps1 +0 -0
  426. machineconfig/{scripts/windows/mounts → jobs/scripts/powershell_scripts}/share_cloud.cmd +0 -0
  427. machineconfig/{scripts/windows/mounts → jobs/scripts/powershell_scripts}/share_smb.ps1 +0 -0
  428. machineconfig/{scripts/windows/mounts → jobs/scripts/powershell_scripts}/unlock_bitlocker.ps1 +0 -0
  429. machineconfig/scripts/python/{helpers_croshell → ai/utils}/__init__.py +0 -0
  430. machineconfig/scripts/python/ai/{solutions/_shared.py → utils/shared.py} +0 -0
  431. machineconfig/scripts/python/{helpers_devops → graph}/__init__.py +0 -0
  432. machineconfig/scripts/python/{helpers_devops/themes → helpers}/__init__.py +0 -0
  433. machineconfig/scripts/python/{env_manager → helpers/helper_env}/__init__.py +0 -0
  434. machineconfig/scripts/python/{env_manager → helpers/helper_env}/path_manager_backend.py +0 -0
  435. machineconfig/scripts/python/{helpers_fire → helpers/helpers_agents}/__init__.py +0 -0
  436. machineconfig/scripts/python/{helpers_fire → helpers/helpers_agents}/agentic_frameworks/__init__.py +0 -0
  437. machineconfig/scripts/python/{helpers_fire → helpers/helpers_agents}/fire_agents_help_search.py +0 -0
  438. machineconfig/scripts/python/{helpers_fire → helpers/helpers_agents}/fire_agents_load_balancer.py +0 -0
  439. machineconfig/scripts/python/{helpers_fire → helpers/helpers_agents/templates}/template.ps1 +0 -0
  440. machineconfig/scripts/python/{helpers_fire_command → helpers/helpers_cloud}/__init__.py +0 -0
  441. machineconfig/scripts/python/{helpers_cloud → helpers/helpers_cloud}/cloud_helpers.py +1 -1
  442. /machineconfig/scripts/python/{helpers_cloud → helpers/helpers_cloud}/helpers5.py +0 -0
  443. /machineconfig/scripts/python/{helpers_sessions → helpers/helpers_croshell}/__init__.py +0 -0
  444. /machineconfig/scripts/python/{helpers_croshell → helpers/helpers_croshell}/pomodoro.py +0 -0
  445. /machineconfig/scripts/python/{helpers_croshell → helpers/helpers_croshell}/viewer.py +0 -0
  446. /machineconfig/scripts/python/{helpers_croshell → helpers/helpers_croshell}/viewer_template.py +0 -0
  447. /machineconfig/scripts/python/{nw → helpers/helpers_devops}/__init__.py +0 -0
  448. /machineconfig/{setup_windows/wt_and_pwsh → scripts/python/helpers/helpers_devops/themes}/__init__.py +0 -0
  449. /machineconfig/scripts/python/{helpers_devops → helpers/helpers_devops}/themes/choose_pwsh_theme.ps1 +0 -0
  450. /machineconfig/scripts/python/{helpers_devops/themes/choose_starship_theme.ps1 → helpers/helpers_fire_command/__init__.py} +0 -0
  451. /machineconfig/scripts/python/{helpers_fire_command → helpers/helpers_fire_command}/cloud_manager.py +0 -0
  452. /machineconfig/scripts/python/{helpers_fire_command/fire_jobs_streamlit_helper.py → helpers/helpers_fire_command/f.py} +0 -0
  453. /machineconfig/{settings/shells/pwsh/profile.ps1 → scripts/python/helpers/helpers_fire_command/fire_jobs_streamlit_helper.py} +0 -0
  454. /machineconfig/scripts/python/{helpers_navigator → helpers/helpers_navigator}/search_bar.py +0 -0
  455. /machineconfig/{settings/yazi/keymap.toml → scripts/python/helpers/helpers_network/__init__.py} +0 -0
  456. /machineconfig/scripts/python/{nw → helpers/helpers_network}/mount_nw_drive.py +0 -0
  457. /machineconfig/scripts/python/{nw → helpers/helpers_network}/onetimeshare.py +0 -0
  458. /machineconfig/scripts/python/{helpers_repos → helpers/helpers_repos}/sync.py +0 -0
  459. /machineconfig/{setup_windows/wt_and_pwsh → settings/wt}/set_wt_settings.py +0 -0
  460. {machineconfig-6.82.dist-info → machineconfig-8.51.dist-info}/WHEEL +0 -0
  461. {machineconfig-6.82.dist-info → machineconfig-8.51.dist-info}/top_level.txt +0 -0
@@ -1,588 +0,0 @@
1
- """
2
- Command tree widget for displaying command hierarchy.
3
- """
4
-
5
- from textual.widgets import Tree
6
- from machineconfig.scripts.python.helpers_navigator.data_models import CommandInfo
7
-
8
-
9
- class CommandTree(Tree[CommandInfo]):
10
- """Tree widget for displaying command hierarchy."""
11
-
12
- def on_mount(self) -> None:
13
- """Build the command tree when mounted."""
14
- self.show_root = False
15
- self.guide_depth = 2
16
- self._build_command_tree()
17
-
18
- def _build_command_tree(self) -> None:
19
- """Build the hierarchical command structure."""
20
-
21
- # Main entry points
22
- devops_node = self.root.add("🛠️ devops - DevOps operations", data=CommandInfo(
23
- name="devops",
24
- description="DevOps operations",
25
- command="devops",
26
- is_group=True,
27
- module_path="machineconfig.scripts.python.devops"
28
- ))
29
-
30
- # devops subcommands
31
- devops_node.add("📦 install - Install essential packages", data=CommandInfo(
32
- name="install",
33
- description="Install essential packages",
34
- command="devops install",
35
- parent="devops",
36
- help_text="devops install --which <packages> --group <group> --interactive"
37
- ))
38
-
39
- repos_node = devops_node.add("📁 repos - Manage git repositories", data=CommandInfo(
40
- name="repos",
41
- description="Manage git repositories",
42
- command="devops repos",
43
- parent="devops",
44
- is_group=True,
45
- module_path="machineconfig.scripts.python.devops_helpers.cli_repos"
46
- ))
47
-
48
- # repos subcommands
49
- repos_node.add("🚀 push - Push changes across repositories", data=CommandInfo(
50
- name="push",
51
- description="Push changes across repositories",
52
- command="devops repos push",
53
- parent="repos",
54
- help_text="devops repos push --directory <dir> --recursive --no-sync"
55
- ))
56
-
57
- repos_node.add("⬇️ pull - Pull changes across repositories", data=CommandInfo(
58
- name="pull",
59
- description="Pull changes across repositories",
60
- command="devops repos pull",
61
- parent="repos",
62
- help_text="devops repos pull --directory <dir> --recursive --no-sync"
63
- ))
64
-
65
- repos_node.add("💾 commit - Commit changes across repositories", data=CommandInfo(
66
- name="commit",
67
- description="Commit changes across repositories",
68
- command="devops repos commit",
69
- parent="repos",
70
- help_text="devops repos commit --directory <dir> --recursive --no-sync"
71
- ))
72
-
73
- repos_node.add("🔄 sync - Sync changes across repositories", data=CommandInfo(
74
- name="sync",
75
- description="Pull, commit, and push changes across repositories",
76
- command="devops repos sync",
77
- parent="repos",
78
- help_text="devops repos sync --directory <dir> --recursive --no-sync"
79
- ))
80
-
81
- mirror_node = repos_node.add("🔄 mirror - Manage repository specifications", data=CommandInfo(
82
- name="mirror",
83
- description="Manage repository specifications and syncing",
84
- command="devops repos mirror",
85
- parent="repos",
86
- is_group=True
87
- ))
88
-
89
- mirror_node.add("📝 capture - Record repositories into repos.json", data=CommandInfo(
90
- name="capture",
91
- description="Record repositories into a repos.json specification",
92
- command="devops repos mirror capture",
93
- parent="mirror",
94
- help_text="devops repos mirror capture --directory <dir> --cloud <cloud>"
95
- ))
96
-
97
- mirror_node.add("📥 clone - Clone repositories from repos.json", data=CommandInfo(
98
- name="clone",
99
- description="Clone repositories described by repos.json",
100
- command="devops repos mirror clone",
101
- parent="mirror",
102
- help_text="devops repos mirror clone --directory <dir> --cloud <cloud>"
103
- ))
104
-
105
- mirror_node.add("🔀 checkout-to-commit - Check out specific commits", data=CommandInfo(
106
- name="checkout-to-commit",
107
- description="Check out specific commits listed in specification",
108
- command="devops repos mirror checkout-to-commit",
109
- parent="mirror",
110
- help_text="devops repos mirror checkout-to-commit --directory <dir> --cloud <cloud>"
111
- ))
112
-
113
- mirror_node.add("🔀 checkout-to-branch - Check out to main branch", data=CommandInfo(
114
- name="checkout-to-branch",
115
- description="Check out to the main branch defined in specification",
116
- command="devops repos mirror checkout-to-branch",
117
- parent="mirror",
118
- help_text="devops repos mirror checkout-to-branch --directory <dir> --cloud <cloud>"
119
- ))
120
-
121
- repos_node.add("🔍 analyze - Analyze repositories", data=CommandInfo(
122
- name="analyze",
123
- description="Analyze repositories in directory",
124
- command="devops repos analyze",
125
- parent="repos",
126
- help_text="devops repos analyze --directory <dir>"
127
- ))
128
-
129
- repos_node.add("🔐 secure - Securely sync git repository", data=CommandInfo(
130
- name="secure",
131
- description="Securely sync git repository to/from cloud with encryption",
132
- command="devops repos secure",
133
- parent="repos",
134
- help_text="devops repos secure <path> --cloud <cloud> --encrypt --decrypt"
135
- ))
136
-
137
- repos_node.add("🎬 viz - Visualize repository activity", data=CommandInfo(
138
- name="viz",
139
- description="Visualize repository activity using Gource",
140
- command="devops repos viz",
141
- parent="repos",
142
- help_text="devops repos viz --repo <path> --output <file> --resolution <res> --seconds-per-day <spd>"
143
- ))
144
-
145
- repos_node.add("🧹 cleanup - Clean repository directories", data=CommandInfo(
146
- name="cleanup",
147
- description="Clean repository directories from cache files",
148
- command="devops repos cleanup",
149
- parent="repos",
150
- help_text="devops repos cleanup --repo <path> --recursive"
151
- ))
152
-
153
- # config subcommands
154
- config_node = devops_node.add("⚙️ config - Configuration management", data=CommandInfo(
155
- name="config",
156
- description="Configuration subcommands",
157
- command="devops config",
158
- parent="devops",
159
- is_group=True
160
- ))
161
-
162
- config_node.add("🔗 private - Manage private configuration files", data=CommandInfo(
163
- name="private",
164
- description="Manage private configuration files",
165
- command="devops config private",
166
- parent="config",
167
- help_text="devops config private --method <symlink|copy> --on-conflict <action> --which <items> --interactive"
168
- ))
169
-
170
- config_node.add("🔗 public - Manage public configuration files", data=CommandInfo(
171
- name="public",
172
- description="Manage public configuration files",
173
- command="devops config public",
174
- parent="config",
175
- help_text="devops config public --method <symlink|copy> --on-conflict <action> --which <items> --interactive"
176
- ))
177
-
178
- config_node.add("🔗 dotfile - Manage dotfiles", data=CommandInfo(
179
- name="dotfile",
180
- description="Manage dotfiles",
181
- command="devops config dotfile",
182
- parent="config",
183
- help_text="devops config dotfile <file> --overwrite --dest <destination>"
184
- ))
185
-
186
- config_node.add("🔗 shell - Configure shell profile", data=CommandInfo(
187
- name="shell",
188
- description="Configure your shell profile",
189
- command="devops config shell",
190
- parent="config",
191
- help_text="devops config shell <copy|reference>"
192
- ))
193
-
194
- config_node.add("🔗 path - Navigate PATH variable", data=CommandInfo(
195
- name="path",
196
- description="Navigate PATH variable with TUI",
197
- command="devops config path",
198
- parent="config",
199
- help_text="devops config path"
200
- ))
201
-
202
- config_node.add("🔗 starship-theme - Select starship theme", data=CommandInfo(
203
- name="starship-theme",
204
- description="Select starship prompt theme",
205
- command="devops config starship-theme",
206
- parent="config",
207
- help_text="devops config starship-theme"
208
- ))
209
-
210
- config_node.add("🔗 pwsh-theme - Configure PowerShell theme", data=CommandInfo(
211
- name="pwsh-theme",
212
- description="Select powershell prompt theme",
213
- command="devops config pwsh-theme",
214
- parent="config",
215
- help_text="devops config pwsh-theme"
216
- ))
217
-
218
- config_node.add("🔗 copy-assets - Copy asset files", data=CommandInfo(
219
- name="copy-assets",
220
- description="Copy asset files from library to machine",
221
- command="devops config copy-assets",
222
- parent="config",
223
- help_text="devops config copy-assets <scripts|settings|both>"
224
- ))
225
-
226
- # data subcommands
227
- data_node = devops_node.add("💾 data - Data operations", data=CommandInfo(
228
- name="data",
229
- description="Data subcommands",
230
- command="devops data",
231
- parent="devops",
232
- is_group=True
233
- ))
234
-
235
- data_node.add("💾 backup - Backup data", data=CommandInfo(
236
- name="backup",
237
- description="Backup data",
238
- command="devops data backup",
239
- parent="data",
240
- help_text="devops data backup"
241
- ))
242
-
243
- data_node.add("📥 retrieve - Retrieve data", data=CommandInfo(
244
- name="retrieve",
245
- description="Retrieve data from backup",
246
- command="devops data retrieve",
247
- parent="data",
248
- help_text="devops data retrieve"
249
- ))
250
-
251
- # network subcommands
252
- network_node = devops_node.add("🔐 network - Network operations", data=CommandInfo(
253
- name="network",
254
- description="Network subcommands",
255
- command="devops network",
256
- parent="devops",
257
- is_group=True
258
- ))
259
-
260
- network_node.add("📡 share-terminal - Share terminal via web", data=CommandInfo(
261
- name="share-terminal",
262
- description="Share terminal via web browser",
263
- command="devops network share-terminal",
264
- parent="network",
265
- help_text="devops network share-terminal"
266
- ))
267
-
268
- network_node.add("🌐 share-server - Start local/global server", data=CommandInfo(
269
- name="share-server",
270
- description="Start local/global server to share files/folders via web browser",
271
- command="devops network share-server",
272
- parent="network",
273
- help_text="devops network share-server"
274
- ))
275
-
276
- network_node.add("📡 install-ssh-server - Install SSH server", data=CommandInfo(
277
- name="install-ssh-server",
278
- description="Install SSH server",
279
- command="devops network install-ssh-server",
280
- parent="network",
281
- help_text="devops network install-ssh-server"
282
- ))
283
-
284
- network_node.add("🔑 add-ssh-key - Add SSH public key", data=CommandInfo(
285
- name="add-ssh-key",
286
- description="Add SSH public key to this machine",
287
- command="devops network add-ssh-key",
288
- parent="network",
289
- help_text="devops network add-ssh-key --path <file> --choose --value --github <username>"
290
- ))
291
-
292
- network_node.add("🗝️ add-ssh-identity - Add SSH identity", data=CommandInfo(
293
- name="add-ssh-identity",
294
- description="Add SSH identity (private key) to this machine",
295
- command="devops network add-ssh-identity",
296
- parent="network",
297
- help_text="devops network add-ssh-identity"
298
- ))
299
-
300
- network_node.add("📌 show-address - Show computer addresses", data=CommandInfo(
301
- name="show-address",
302
- description="Show this computer addresses on network",
303
- command="devops network show-address",
304
- parent="network",
305
- help_text="devops network show-address"
306
- ))
307
-
308
- network_node.add("🐛 debug-ssh - Debug SSH connection", data=CommandInfo(
309
- name="debug-ssh",
310
- description="Debug SSH connection",
311
- command="devops network debug-ssh",
312
- parent="network",
313
- help_text="devops network debug-ssh"
314
- ))
315
-
316
- # self subcommands
317
- self_node = devops_node.add("🔄 self - SELF operations", data=CommandInfo(
318
- name="self",
319
- description="SELF operations subcommands",
320
- command="devops self",
321
- parent="devops",
322
- is_group=True
323
- ))
324
-
325
- self_node.add("🔄 update - Update essential repos", data=CommandInfo(
326
- name="update",
327
- description="Update essential repos",
328
- command="devops self update",
329
- parent="self",
330
- help_text="devops self update"
331
- ))
332
-
333
- self_node.add("🤖 interactive - Interactive configuration", data=CommandInfo(
334
- name="interactive",
335
- description="Interactive configuration of machine",
336
- command="devops self interactive",
337
- parent="self",
338
- help_text="devops self interactive"
339
- ))
340
-
341
- self_node.add("📊 status - Machine status", data=CommandInfo(
342
- name="status",
343
- description="Status of machine, shell profile, apps, symlinks, dotfiles, etc.",
344
- command="devops self status",
345
- parent="self",
346
- help_text="devops self status"
347
- ))
348
-
349
- self_node.add("📋 clone - Clone machineconfig", data=CommandInfo(
350
- name="clone",
351
- description="Clone machineconfig locally and incorporate to shell profile",
352
- command="devops self clone",
353
- parent="self",
354
- help_text="devops self clone"
355
- ))
356
-
357
- self_node.add("📚 navigate - Navigate command structure", data=CommandInfo(
358
- name="navigate",
359
- description="Navigate command structure with TUI",
360
- command="devops self navigate",
361
- parent="self",
362
- help_text="devops self navigate"
363
- ))
364
-
365
- self_node.add("📚 readme - Render README markdown", data=CommandInfo(
366
- name="readme",
367
- description="Render readme markdown in terminal",
368
- command="devops self readme",
369
- parent="self",
370
- help_text="devops self readme"
371
- ))
372
-
373
- self_node.add("🐍 python - Run Python command/file", data=CommandInfo(
374
- name="python",
375
- description="Run python command/file in the machineconfig environment",
376
- command="devops self python",
377
- parent="self",
378
- help_text="devops self python <path> --command"
379
- ))
380
-
381
- # fire command - now a typer sub-app
382
- fire_node = self.root.add("🔥 fire - Fire jobs execution", data=CommandInfo(
383
- name="fire",
384
- description="Fire and manage jobs",
385
- command="fire",
386
- is_group=True,
387
- module_path="machineconfig.scripts.python.fire_jobs"
388
- ))
389
-
390
- fire_node.add("🔥 fire - Execute Python/Shell scripts", data=CommandInfo(
391
- name="fire",
392
- description="Execute Python scripts, shell scripts, or PowerShell scripts with Fire",
393
- command="fire",
394
- parent="fire",
395
- help_text="fire <path> [function] --ve <env> --cmd --interactive --debug --choose_function --loop --jupyter --submit_to_cloud --remote --module --streamlit --environment <env> --holdDirectory --PathExport --git_pull --optimized --zellij_tab <name> --watch"
396
- ))
397
-
398
- # agents command
399
- agents_node = self.root.add("🤖 agents - AI Agents management", data=CommandInfo(
400
- name="agents",
401
- description="AI Agents management subcommands",
402
- command="agents",
403
- is_group=True,
404
- module_path="machineconfig.scripts.python.agents"
405
- ))
406
-
407
- agents_node.add("✨ create - Create AI agent", data=CommandInfo(
408
- name="create",
409
- description="Create a new AI agent",
410
- command="agents create",
411
- parent="agents",
412
- help_text="agents create --context-path <file> --keyword-search <term> --filename-pattern <pattern> --agent <type> --machine <target> --model <model> --provider <provider> --prompt <text> --prompt-path <file> --job-name <name> --tasks-per-prompt <num> --separate-prompt-from-context --output-path <file> --agents-dir <dir>"
413
- ))
414
-
415
- agents_node.add("📦 collect - Collect agent data", data=CommandInfo(
416
- name="collect",
417
- description="Collect agent data",
418
- command="agents collect",
419
- parent="agents",
420
- help_text="agents collect --agent-dir <dir> --output-path <file> --separator <sep>"
421
- ))
422
-
423
- agents_node.add("📝 make-template - Create agent template", data=CommandInfo(
424
- name="make-template",
425
- description="Create a template for fire agents",
426
- command="agents make-template",
427
- parent="agents",
428
- help_text="agents make-template"
429
- ))
430
-
431
- agents_node.add("⚙️ make-config - Initialize AI configurations", data=CommandInfo(
432
- name="make-config",
433
- description="Initialize AI configurations in the current repository",
434
- command="agents make-config",
435
- parent="agents",
436
- help_text="agents make-config"
437
- ))
438
-
439
- agents_node.add("📝 make-todo - Generate todo markdown", data=CommandInfo(
440
- name="make-todo",
441
- description="Generate a markdown file listing all Python files in the repo",
442
- command="agents make-todo",
443
- parent="agents",
444
- help_text="agents make-todo"
445
- ))
446
-
447
- agents_node.add("🔗 make-symlinks - Create repo symlinks", data=CommandInfo(
448
- name="make-symlinks",
449
- description="Create symlinks to the current repo in ~/code_copies/",
450
- command="agents make-symlinks",
451
- parent="agents",
452
- help_text="agents make-symlinks"
453
- ))
454
-
455
- # sessions command
456
- sessions_node = self.root.add("🖥️ sessions - Session layouts management", data=CommandInfo(
457
- name="sessions",
458
- description="Layouts management subcommands",
459
- command="sessions",
460
- is_group=True,
461
- module_path="machineconfig.scripts.python.sessions"
462
- ))
463
-
464
- sessions_node.add("✨ create-from-function - Create layout from function", data=CommandInfo(
465
- name="create-from-function",
466
- description="Create layout from function",
467
- command="sessions create-from-function",
468
- parent="sessions",
469
- help_text="sessions create-from-function"
470
- ))
471
-
472
- sessions_node.add("▶️ run - Run session layout", data=CommandInfo(
473
- name="run",
474
- description="Run session layout",
475
- command="sessions run",
476
- parent="sessions",
477
- help_text="sessions run --layout-path <file> --max-tabs <num> --max-layouts <num> --sleep-inbetween <sec> --monitor --parallel --kill-upon-completion --choose <names> --choose-interactively"
478
- ))
479
-
480
- sessions_node.add("⚖️ balance-load - Balance load", data=CommandInfo(
481
- name="balance-load",
482
- description="Balance load across sessions",
483
- command="sessions balance-load",
484
- parent="sessions",
485
- help_text="sessions balance-load --layout-path <file> --max-thresh <num> --thresh-type <number|weight> --breaking-method <moreLayouts|combineTabs> --output-path <file>"
486
- ))
487
-
488
- sessions_node.add("💀 kill-process - Kill processes", data=CommandInfo(
489
- name="kill-process",
490
- description="Choose a process to kill interactively",
491
- command="sessions kill-process",
492
- parent="sessions",
493
- help_text="sessions kill-process"
494
- ))
495
-
496
- # cloud command
497
- cloud_node = self.root.add("☁️ cloud - Cloud storage operations", data=CommandInfo(
498
- name="cloud",
499
- description="Cloud storage operations",
500
- command="cloud",
501
- is_group=True,
502
- module_path="machineconfig.scripts.python.cloud"
503
- ))
504
-
505
- cloud_node.add("🔄 sync - Synchronize with cloud", data=CommandInfo(
506
- name="sync",
507
- description="Synchronize files/folders between local and cloud storage",
508
- command="cloud sync",
509
- parent="cloud",
510
- help_text="cloud sync <source> <target> --cloud <provider> --recursive --exclude <patterns>"
511
- ))
512
-
513
- cloud_node.add("📤 copy - Copy to/from cloud", data=CommandInfo(
514
- name="copy",
515
- description="Copy files/folders to/from cloud storage",
516
- command="cloud copy",
517
- parent="cloud",
518
- help_text="cloud copy <source> <target> --cloud <provider> --recursive --exclude <patterns>"
519
- ))
520
-
521
- cloud_node.add("🔗 mount - Mount cloud storage", data=CommandInfo(
522
- name="mount",
523
- description="Mount cloud storage as local drive",
524
- command="cloud mount",
525
- parent="cloud",
526
- help_text="cloud mount <remote> <mount_point> --cloud <provider> --daemon --allow-other"
527
- ))
528
-
529
- # croshell command
530
- self.root.add("🔄 croshell - Cross-shell command execution", data=CommandInfo(
531
- name="croshell",
532
- description="Cross-shell command execution",
533
- command="croshell",
534
- is_group=False,
535
- module_path="machineconfig.scripts.python.croshell",
536
- help_text="croshell --python --fzf --ve <env> --profile <profile> --read <file> --jupyter --streamlit --visidata"
537
- ))
538
-
539
- # ftpx command
540
- self.root.add("📡 ftpx - File transfer utility", data=CommandInfo(
541
- name="ftpx",
542
- description="File transfer utility through SSH",
543
- command="ftpx",
544
- is_group=False,
545
- module_path="machineconfig.scripts.python.ftpx",
546
- help_text="ftpx <source> <target> --recursive --zipFirst --cloud"
547
- ))
548
-
549
- # utils command
550
- utils_node = self.root.add("🛠️ utils - Utility commands", data=CommandInfo(
551
- name="utils",
552
- description="Utility commands",
553
- command="utils",
554
- is_group=True,
555
- module_path="machineconfig.scripts.python.utils"
556
- ))
557
-
558
- utils_node.add("💀 kill-process - Kill processes", data=CommandInfo(
559
- name="kill-process",
560
- description="Choose a process to kill interactively",
561
- command="utils kill-process",
562
- parent="utils",
563
- help_text="utils kill-process"
564
- ))
565
-
566
- utils_node.add("⬇️ download - Download file", data=CommandInfo(
567
- name="download",
568
- description="Download a file from a URL and optionally decompress it",
569
- command="utils download",
570
- parent="utils",
571
- help_text="utils download <url> --destination <path> --decompress"
572
- ))
573
-
574
- utils_node.add("📄 merge-pdfs - Merge PDF files", data=CommandInfo(
575
- name="merge-pdfs",
576
- description="Merge two PDF files into one",
577
- command="utils merge-pdfs",
578
- parent="utils",
579
- help_text="utils merge-pdfs <file1> <file2> --output <file>"
580
- ))
581
-
582
- utils_node.add("🖥️ get-machine-specs - Get machine specifications", data=CommandInfo(
583
- name="get-machine-specs",
584
- description="Get machine specifications",
585
- command="utils get-machine-specs",
586
- parent="utils",
587
- help_text="utils get-machine-specs"
588
- ))
@@ -1,17 +0,0 @@
1
-
2
- import typer
3
- from typing import Annotated
4
-
5
-
6
- def analyze_repo_development(repo_path: Annotated[str, typer.Argument(..., help="Path to the git repository")]):
7
- from machineconfig.scripts.python.helpers_repos import count_lines
8
- from pathlib import Path
9
- count_lines_path = Path(count_lines.__file__)
10
- # --project $HOME/code/ machineconfig --group plot
11
- cmd = f"""uv run --python 3.14 --with "machineconfig[plot]>=6.57" {count_lines_path} analyze-over-time {repo_path}"""
12
- from machineconfig.utils.code import run_shell_script
13
- run_shell_script(cmd)
14
-
15
-
16
- if __name__ == "__main__":
17
- pass
@@ -1,76 +0,0 @@
1
-
2
-
3
-
4
- from typing import Optional
5
- from pathlib import Path
6
- from machineconfig.utils.source_of_truth import CONFIG_ROOT, DEFAULTS_PATH
7
-
8
- import typer
9
-
10
-
11
- def resolve_directory(directory: Optional[str]) -> Path:
12
- if directory is None:
13
- directory = Path.cwd().as_posix()
14
- typer.echo(f"📁 Using directory: {directory}")
15
- return Path(directory).expanduser().absolute()
16
- def git_operations(
17
- directory: Optional[str],
18
- *,
19
- pull: bool,
20
- commit: bool,
21
- push: bool,
22
- recursive: bool,
23
- auto_uv_sync: bool,
24
- ) -> None:
25
-
26
- repos_root = resolve_directory(directory)
27
- from machineconfig.scripts.python.helpers_repos.action import perform_git_operations
28
- from machineconfig.utils.path_extended import PathExtended
29
- perform_git_operations(
30
- repos_root=PathExtended(repos_root),
31
- pull=pull,
32
- commit=commit,
33
- push=push,
34
- recursive=recursive,
35
- auto_uv_sync=auto_uv_sync,
36
- )
37
- def resolve_spec_path(directory: Optional[str], cloud: Optional[str]) -> Path:
38
- repos_root = resolve_directory(directory)
39
- from machineconfig.utils.path_extended import PathExtended
40
- if not repos_root.exists() or repos_root.name != "repos.json":
41
- candidate = Path(CONFIG_ROOT).joinpath("repos").joinpath(PathExtended(repos_root).rel2home()).joinpath("repos.json")
42
- repos_root = candidate
43
- if not repos_root.exists():
44
- cloud_name: Optional[str]
45
- if cloud is None:
46
- from machineconfig.utils.io import read_ini
47
- cloud_name = read_ini(DEFAULTS_PATH)["general"]["rclone_config_name"]
48
- typer.echo(f"⚠️ Using default cloud: {cloud_name}")
49
- else:
50
- cloud_name = cloud
51
- assert cloud_name is not None, (
52
- f"Path {repos_root} does not exist and cloud was not passed. You can't clone without one of them."
53
- )
54
- from machineconfig.utils.path_extended import PathExtended
55
- PathExtended(repos_root).from_cloud(cloud=cloud_name, rel2home=True)
56
- assert repos_root.exists() and repos_root.name == "repos.json", (
57
- f"Path {repos_root} does not exist and cloud was not passed. You can't clone without one of them."
58
- )
59
- return repos_root
60
- def clone_from_specs(
61
- directory: Optional[str],
62
- cloud: Optional[str],
63
- *,
64
- checkout_branch_flag: bool,
65
- checkout_commit_flag: bool,
66
- ) -> None:
67
-
68
- typer.echo("\n📥 Cloning or checking out repositories...")
69
- spec_path = resolve_spec_path(directory, cloud)
70
- from machineconfig.scripts.python.helpers_repos.clone import clone_repos
71
- clone_repos(
72
- spec_path=spec_path,
73
- preferred_remote=None,
74
- checkout_branch_flag=checkout_branch_flag,
75
- checkout_commit_flag=checkout_commit_flag,
76
- )