machineconfig 6.23__py3-none-any.whl → 8.12__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.

Potentially problematic release.


This version of machineconfig might be problematic. Click here for more details.

Files changed (402) hide show
  1. machineconfig/cluster/remote/cloud_manager.py +1 -1
  2. machineconfig/cluster/remote/distribute.py +0 -1
  3. machineconfig/cluster/remote/file_manager.py +0 -2
  4. machineconfig/cluster/sessions_managers/{utils → helpers}/enhanced_command_runner.py +4 -6
  5. machineconfig/cluster/sessions_managers/utils/load_balancer.py +1 -1
  6. machineconfig/cluster/sessions_managers/utils/maker.py +69 -0
  7. machineconfig/cluster/sessions_managers/wt_local.py +16 -221
  8. machineconfig/cluster/sessions_managers/wt_local_manager.py +55 -193
  9. machineconfig/cluster/sessions_managers/wt_remote_manager.py +42 -198
  10. machineconfig/cluster/sessions_managers/wt_utils/manager_persistence.py +52 -0
  11. machineconfig/cluster/sessions_managers/wt_utils/monitoring_helpers.py +50 -0
  12. machineconfig/cluster/sessions_managers/wt_utils/status_reporting.py +76 -0
  13. machineconfig/cluster/sessions_managers/wt_utils/wt_helpers.py +199 -0
  14. machineconfig/cluster/sessions_managers/zellij_local.py +3 -3
  15. machineconfig/cluster/sessions_managers/zellij_local_manager.py +5 -3
  16. machineconfig/cluster/sessions_managers/zellij_remote.py +2 -2
  17. machineconfig/cluster/sessions_managers/zellij_remote_manager.py +3 -2
  18. machineconfig/cluster/sessions_managers/zellij_utils/example_usage.py +2 -2
  19. machineconfig/cluster/sessions_managers/zellij_utils/process_monitor.py +3 -7
  20. machineconfig/cluster/sessions_managers/{helpers → zellij_utils}/zellij_local_helper_with_panes.py +1 -1
  21. machineconfig/jobs/installer/check_installations.py +0 -1
  22. machineconfig/jobs/installer/installer_data.json +1408 -201
  23. machineconfig/jobs/installer/linux_scripts/q.sh +10 -7
  24. machineconfig/jobs/installer/linux_scripts/redis.sh +1 -0
  25. machineconfig/jobs/installer/package_groups.py +63 -92
  26. machineconfig/jobs/installer/powershell_scripts/install_fonts.ps1 +129 -34
  27. machineconfig/jobs/installer/python_scripts/boxes.py +61 -0
  28. machineconfig/jobs/installer/{custom_dev → python_scripts}/brave.py +5 -3
  29. machineconfig/jobs/installer/python_scripts/cloudflare_warp_cli.py +23 -0
  30. machineconfig/jobs/installer/{custom_dev → python_scripts}/code.py +4 -1
  31. machineconfig/jobs/installer/{custom_dev → python_scripts}/dubdb_adbc.py +1 -1
  32. machineconfig/jobs/installer/{custom → python_scripts}/hx.py +75 -18
  33. machineconfig/jobs/installer/{custom_dev → python_scripts}/nerdfont.py +2 -2
  34. machineconfig/jobs/installer/{custom_dev → python_scripts}/nerfont_windows_helper.py +27 -22
  35. machineconfig/jobs/installer/python_scripts/sysabc.py +139 -0
  36. machineconfig/jobs/installer/{custom_dev → python_scripts}/wezterm.py +2 -19
  37. machineconfig/jobs/installer/{custom_dev → python_scripts}/winget.py +10 -14
  38. machineconfig/jobs/installer/python_scripts/yazi.py +121 -0
  39. machineconfig/{scripts/python/nw → jobs/scripts/bash_scripts}/mount_nfs +0 -1
  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 +25 -0
  43. machineconfig/logger.py +0 -1
  44. machineconfig/profile/create_helper.py +56 -18
  45. machineconfig/profile/create_links.py +2 -1
  46. machineconfig/profile/create_links_export.py +64 -18
  47. machineconfig/profile/create_shell_profile.py +90 -132
  48. machineconfig/profile/mapper.toml +18 -8
  49. machineconfig/scripts/__init__.py +0 -4
  50. machineconfig/scripts/linux/wrap_mcfg +46 -0
  51. machineconfig/scripts/nu/wrap_mcfg.nu +69 -0
  52. machineconfig/scripts/python/agents.py +82 -60
  53. machineconfig/scripts/python/ai/initai.py +1 -19
  54. machineconfig/scripts/python/ai/scripts/command_runner.ps1 +33 -0
  55. machineconfig/scripts/python/ai/{command_runner → scripts}/command_runner.sh +1 -1
  56. machineconfig/scripts/python/ai/scripts/lint_and_type_check.sh +1 -1
  57. machineconfig/scripts/python/ai/solutions/copilot/{chatmodes/Thinking-Beast-Mode.chatmode.md → agents/Thinking-Beast-Mode.agent.md} +0 -1
  58. machineconfig/scripts/python/ai/solutions/copilot/{chatmodes/Ultimate-Transparent-Thinking-Beast-Mode.chatmode.md → agents/Ultimate-Transparent-Thinking-Beast-Mode.agent.md} +0 -1
  59. machineconfig/scripts/python/ai/solutions/copilot/{chatmodes/deepResearch.chatmode.md → agents/deepResearch.agent.md} +2 -2
  60. machineconfig/scripts/python/ai/solutions/copilot/github_copilot.py +5 -5
  61. machineconfig/scripts/python/ai/solutions/copilot/instructions/python/dev.instructions.md +4 -0
  62. machineconfig/scripts/python/ai/solutions/copilot/instructions/python/watch_exec.prompt.md +20 -0
  63. machineconfig/scripts/python/ai/solutions/generic.py +1 -1
  64. machineconfig/scripts/python/ai/{generate_files.py → utils/generate_files.py} +2 -2
  65. machineconfig/scripts/python/ai/{vscode_tasks.py → utils/vscode_tasks.py} +7 -2
  66. machineconfig/scripts/python/cloud.py +14 -9
  67. machineconfig/scripts/python/croshell.py +135 -117
  68. machineconfig/scripts/python/devops.py +48 -25
  69. machineconfig/scripts/python/devops_navigator.py +1 -5
  70. machineconfig/scripts/python/env_manager/env_manager_tui.py +204 -0
  71. machineconfig/scripts/python/env_manager/path_manager_tui.py +18 -9
  72. machineconfig/scripts/python/fire_jobs.py +127 -118
  73. machineconfig/scripts/python/ftpx.py +44 -17
  74. machineconfig/scripts/python/helpers/ast_search.py +74 -0
  75. machineconfig/scripts/python/helpers/qr_code.py +166 -0
  76. machineconfig/scripts/python/helpers/repo_rag.py +325 -0
  77. machineconfig/scripts/python/helpers/symantic_search.py +25 -0
  78. machineconfig/scripts/python/{helpers_fire → helpers_agents}/agentic_frameworks/fire_crush.json +1 -1
  79. machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_crush.py +39 -0
  80. machineconfig/scripts/python/{helpers_fire → helpers_agents}/agentic_frameworks/fire_cursor_agents.py +3 -4
  81. machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_gemini.py +55 -0
  82. machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_qwen.py +30 -0
  83. machineconfig/scripts/python/{helpers_fire → helpers_agents}/fire_agents_help_launch.py +37 -15
  84. machineconfig/scripts/python/helpers_agents/fire_agents_helper_types.py +41 -0
  85. machineconfig/scripts/python/helpers_agents/privacy/configs/aichat/config.yaml +5 -0
  86. machineconfig/scripts/python/helpers_agents/privacy/configs/aider/.aider.conf.yml +2 -0
  87. machineconfig/scripts/python/helpers_agents/privacy/configs/copilot/config.yml +1 -0
  88. machineconfig/scripts/python/helpers_agents/privacy/configs/crush/crush.json +10 -0
  89. machineconfig/scripts/python/helpers_agents/privacy/configs/gemini/settings.json +12 -0
  90. machineconfig/scripts/python/helpers_agents/privacy/privacy.py +109 -0
  91. machineconfig/scripts/python/helpers_agents/templates/prompt.txt +10 -0
  92. machineconfig/scripts/python/helpers_agents/templates/template.sh +34 -0
  93. machineconfig/scripts/python/{cloud_helpers → helpers_cloud}/cloud_copy.py +28 -21
  94. machineconfig/scripts/python/{cloud_helpers → helpers_cloud}/cloud_mount.py +19 -17
  95. machineconfig/scripts/python/{cloud_helpers → helpers_cloud}/cloud_sync.py +12 -11
  96. machineconfig/scripts/python/{cloud_helpers → helpers_cloud}/helpers2.py +1 -1
  97. machineconfig/scripts/python/helpers_croshell/crosh.py +39 -0
  98. machineconfig/scripts/python/{croshell_helpers → helpers_croshell}/start_slidev.py +6 -7
  99. machineconfig/scripts/python/helpers_devops/cli_config.py +105 -0
  100. machineconfig/scripts/python/helpers_devops/cli_config_dotfile.py +89 -0
  101. machineconfig/scripts/python/helpers_devops/cli_data.py +25 -0
  102. machineconfig/scripts/python/helpers_devops/cli_nw.py +221 -0
  103. machineconfig/scripts/python/{devops_helpers → helpers_devops}/cli_repos.py +60 -36
  104. machineconfig/scripts/python/helpers_devops/cli_self.py +172 -0
  105. machineconfig/scripts/python/helpers_devops/cli_share_file.py +137 -0
  106. machineconfig/scripts/python/helpers_devops/cli_share_server.py +142 -0
  107. machineconfig/scripts/python/{devops_helpers/cli_terminal.py → helpers_devops/cli_share_terminal.py} +15 -17
  108. machineconfig/scripts/python/{devops_helpers → helpers_devops}/devops_backup_retrieve.py +7 -10
  109. machineconfig/scripts/python/{devops_helpers → helpers_devops}/devops_status.py +7 -19
  110. machineconfig/scripts/python/{devops_helpers → helpers_devops}/devops_update_repos.py +1 -1
  111. machineconfig/scripts/python/helpers_devops/run_script.py +168 -0
  112. machineconfig/scripts/python/helpers_devops/themes/choose_starship_theme.bash +3 -0
  113. machineconfig/scripts/python/{devops_helpers → helpers_devops}/themes/choose_wezterm_theme.py +1 -1
  114. machineconfig/scripts/python/{helpers_fire/helpers4.py → helpers_fire_command/file_wrangler.py} +57 -20
  115. machineconfig/scripts/python/helpers_fire_command/fire_jobs_args_helper.py +2 -0
  116. machineconfig/scripts/python/helpers_fire_command/fire_jobs_route_helper.py +26 -16
  117. machineconfig/scripts/python/helpers_msearch/__init__.py +5 -0
  118. machineconfig/scripts/{linux → python/helpers_msearch/scripts_linux}/fzfg +3 -3
  119. machineconfig/scripts/python/helpers_msearch/scripts_windows/fzfg.ps1 +59 -0
  120. machineconfig/scripts/python/helpers_navigator/__init__.py +20 -0
  121. machineconfig/scripts/python/{helper_navigator → helpers_navigator}/command_builder.py +1 -1
  122. machineconfig/scripts/python/{helper_navigator → helpers_navigator}/command_detail.py +1 -1
  123. machineconfig/scripts/python/{helper_navigator → helpers_navigator}/command_tree.py +160 -23
  124. machineconfig/scripts/python/{helper_navigator → helpers_navigator}/main_app.py +5 -5
  125. machineconfig/scripts/python/helpers_network/address.py +176 -0
  126. machineconfig/scripts/python/helpers_network/address_switch.py +78 -0
  127. machineconfig/scripts/python/{nw → helpers_network}/mount_nfs.py +2 -2
  128. machineconfig/scripts/python/{nw → helpers_network}/mount_ssh.py +1 -1
  129. machineconfig/scripts/python/{nw/devops_add_identity.py → helpers_network/ssh_add_identity.py} +35 -1
  130. machineconfig/scripts/python/{nw/devops_add_ssh_key.py → helpers_network/ssh_add_ssh_key.py} +26 -7
  131. machineconfig/scripts/python/{nw → helpers_network}/ssh_debug_linux.py +7 -7
  132. machineconfig/scripts/python/{nw → helpers_network}/ssh_debug_windows.py +4 -4
  133. machineconfig/scripts/python/{nw → helpers_network}/wifi_conn.py +1 -53
  134. machineconfig/scripts/python/helpers_repos/action.py +209 -0
  135. machineconfig/scripts/python/helpers_repos/action_helper.py +150 -0
  136. machineconfig/scripts/python/{repos_helpers → helpers_repos}/clone.py +0 -1
  137. machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py +80 -37
  138. machineconfig/scripts/python/{repos_helpers → helpers_repos}/entrypoint.py +5 -5
  139. machineconfig/scripts/python/helpers_repos/grource.py +2 -2
  140. machineconfig/scripts/python/{repos_helpers → helpers_repos}/record.py +3 -2
  141. machineconfig/scripts/python/helpers_repos/repo_analyzer_1.py +160 -0
  142. machineconfig/scripts/python/{repos_helpers/count_lines.py → helpers_repos/repo_analyzer_2.py} +113 -192
  143. machineconfig/scripts/python/{repos_helpers → helpers_repos}/sync.py +5 -5
  144. machineconfig/scripts/python/{sessions_helpers → helpers_sessions}/sessions_multiprocess.py +19 -13
  145. machineconfig/scripts/python/helpers_utils/download.py +150 -0
  146. machineconfig/scripts/python/helpers_utils/pdf.py +96 -0
  147. machineconfig/scripts/python/helpers_utils/python.py +187 -0
  148. machineconfig/scripts/python/interactive.py +26 -35
  149. machineconfig/scripts/python/{entry.py → mcfg_entry.py} +24 -10
  150. machineconfig/scripts/python/msearch.py +72 -0
  151. machineconfig/scripts/python/sessions.py +101 -38
  152. machineconfig/scripts/python/terminal.py +136 -0
  153. machineconfig/scripts/python/utils.py +62 -0
  154. machineconfig/scripts/windows/wrap_mcfg.ps1 +63 -0
  155. machineconfig/settings/broot/conf.toml +1 -1
  156. machineconfig/settings/helix/config.toml +16 -0
  157. machineconfig/settings/helix/languages.toml +13 -4
  158. machineconfig/settings/helix/yazi-picker.sh +12 -0
  159. machineconfig/settings/lf/linux/exe/lfcd.sh +1 -0
  160. machineconfig/settings/lf/linux/exe/previewer.sh +3 -2
  161. machineconfig/settings/lf/linux/lfrc +10 -11
  162. machineconfig/settings/lf/windows/lfcd.ps1 +1 -1
  163. machineconfig/settings/lf/windows/lfrc +15 -17
  164. machineconfig/settings/lf/windows/mkfile.ps1 +1 -1
  165. machineconfig/settings/linters/.ruff.toml +1 -1
  166. machineconfig/settings/marimo/marimo.toml +80 -0
  167. machineconfig/settings/marimo/snippets/globalize.py +34 -0
  168. machineconfig/settings/shells/bash/init.sh +57 -10
  169. machineconfig/settings/shells/ipy/profiles/default/startup/playext.py +1 -1
  170. machineconfig/settings/shells/nushell/config.nu +2 -35
  171. machineconfig/settings/shells/nushell/env.nu +45 -6
  172. machineconfig/settings/shells/nushell/init.nu +314 -0
  173. machineconfig/settings/shells/pwsh/init.ps1 +59 -23
  174. machineconfig/settings/shells/starship/starship.toml +16 -0
  175. machineconfig/settings/shells/wezterm/wezterm.lua +2 -0
  176. machineconfig/settings/shells/wt/settings.json +32 -17
  177. machineconfig/settings/shells/zsh/init.sh +89 -0
  178. machineconfig/settings/television/cable_unix/alias.toml +8 -0
  179. machineconfig/settings/television/cable_unix/aws-buckets.toml +14 -0
  180. machineconfig/settings/television/cable_unix/aws-instances.toml +13 -0
  181. machineconfig/settings/television/cable_unix/bash-history.toml +8 -0
  182. machineconfig/settings/television/cable_unix/channels.toml +19 -0
  183. machineconfig/settings/television/cable_unix/dirs.toml +13 -0
  184. machineconfig/settings/television/cable_unix/distrobox-list.toml +42 -0
  185. machineconfig/settings/television/cable_unix/docker-images.toml +13 -0
  186. machineconfig/settings/television/cable_unix/dotfiles.toml +11 -0
  187. machineconfig/settings/television/cable_unix/env.toml +17 -0
  188. machineconfig/settings/television/cable_unix/files.toml +11 -0
  189. machineconfig/settings/television/cable_unix/fish-history.toml +8 -0
  190. machineconfig/settings/television/cable_unix/git-branch.toml +11 -0
  191. machineconfig/settings/television/cable_unix/git-diff.toml +10 -0
  192. machineconfig/settings/television/cable_unix/git-log.toml +12 -0
  193. machineconfig/settings/television/cable_unix/git-reflog.toml +12 -0
  194. machineconfig/settings/television/cable_unix/git-repos.toml +16 -0
  195. machineconfig/settings/television/cable_unix/guix.toml +20 -0
  196. machineconfig/settings/television/cable_unix/just-recipes.toml +18 -0
  197. machineconfig/settings/television/cable_unix/k8s-deployments.toml +36 -0
  198. machineconfig/settings/television/cable_unix/k8s-pods.toml +50 -0
  199. machineconfig/settings/television/cable_unix/k8s-services.toml +36 -0
  200. machineconfig/settings/television/cable_unix/man-pages.toml +24 -0
  201. machineconfig/settings/television/cable_unix/nu-history.toml +7 -0
  202. machineconfig/settings/television/cable_unix/procs.toml +20 -0
  203. machineconfig/settings/television/cable_unix/text.toml +17 -0
  204. machineconfig/settings/television/cable_unix/tldr.toml +18 -0
  205. machineconfig/settings/television/cable_unix/zsh-history.toml +9 -0
  206. machineconfig/settings/television/cable_windows/alias.toml +7 -0
  207. machineconfig/settings/television/cable_windows/dirs.toml +13 -0
  208. machineconfig/settings/television/cable_windows/docker-images.toml +13 -0
  209. machineconfig/settings/television/cable_windows/dotfiles.toml +11 -0
  210. machineconfig/settings/television/cable_windows/env.toml +17 -0
  211. machineconfig/settings/television/cable_windows/files.toml +14 -0
  212. machineconfig/settings/television/cable_windows/git-branch.toml +11 -0
  213. machineconfig/settings/television/cable_windows/git-diff.toml +10 -0
  214. machineconfig/settings/television/cable_windows/git-log.toml +11 -0
  215. machineconfig/settings/television/cable_windows/git-reflog.toml +11 -0
  216. machineconfig/settings/television/cable_windows/git-repos.toml +15 -0
  217. machineconfig/settings/television/cable_windows/nu-history.toml +7 -0
  218. machineconfig/settings/television/cable_windows/pwsh-history.toml +6 -0
  219. machineconfig/settings/television/cable_windows/text.toml +17 -0
  220. machineconfig/settings/yazi/init.lua +61 -0
  221. machineconfig/settings/yazi/keymap_linux.toml +94 -0
  222. machineconfig/settings/yazi/keymap_windows.toml +78 -0
  223. machineconfig/settings/yazi/shell/yazi_cd.ps1 +33 -0
  224. machineconfig/settings/yazi/shell/yazi_cd.sh +8 -0
  225. machineconfig/settings/yazi/theme.toml +4 -0
  226. machineconfig/settings/yazi/yazi_linux.toml +84 -0
  227. machineconfig/settings/yazi/yazi_windows.toml +58 -0
  228. machineconfig/settings/zellij/layouts/st.kdl +39 -8
  229. machineconfig/setup_linux/__init__.py +2 -2
  230. machineconfig/setup_linux/apps_desktop.sh +8 -27
  231. machineconfig/setup_linux/web_shortcuts/interactive.sh +27 -11
  232. machineconfig/setup_linux/web_shortcuts/live_from_github.sh +31 -0
  233. machineconfig/setup_mac/__init__.py +16 -0
  234. machineconfig/setup_mac/apps_gui.sh +248 -0
  235. machineconfig/setup_mac/ssh/openssh_setup.sh +114 -0
  236. machineconfig/setup_mac/uv.sh +36 -0
  237. machineconfig/setup_windows/__init__.py +3 -5
  238. machineconfig/setup_windows/ssh/openssh-server.ps1 +1 -1
  239. machineconfig/setup_windows/uv.ps1 +8 -1
  240. machineconfig/setup_windows/web_shortcuts/interactive.ps1 +26 -10
  241. machineconfig/setup_windows/web_shortcuts/live_from_github.ps1 +30 -0
  242. machineconfig/setup_windows/web_shortcuts/quick_init.ps1 +17 -0
  243. machineconfig/utils/accessories.py +7 -5
  244. machineconfig/utils/code.py +143 -167
  245. machineconfig/utils/files/art/fat_croco.txt +10 -0
  246. machineconfig/utils/files/art/halfwit_croco.txt +9 -0
  247. machineconfig/utils/files/art/happy_croco.txt +22 -0
  248. machineconfig/utils/files/art/water_croco.txt +11 -0
  249. machineconfig/utils/files/ascii_art.py +1 -1
  250. machineconfig/utils/files/headers.py +6 -11
  251. machineconfig/utils/files/read.py +3 -9
  252. machineconfig/utils/installer_utils/github_release_bulk.py +156 -119
  253. machineconfig/utils/installer_utils/install_from_url.py +183 -0
  254. machineconfig/utils/installer_utils/installer_class.py +44 -101
  255. machineconfig/utils/installer_utils/installer_cli.py +175 -0
  256. machineconfig/utils/installer_utils/installer_helper.py +129 -0
  257. machineconfig/utils/installer_utils/{installer_abc.py → installer_locator_utils.py} +39 -87
  258. machineconfig/utils/{installer.py → installer_utils/installer_runner.py} +17 -63
  259. machineconfig/utils/io.py +77 -4
  260. machineconfig/utils/links.py +56 -38
  261. machineconfig/utils/meta.py +235 -145
  262. machineconfig/utils/options.py +46 -18
  263. machineconfig/utils/options_tv.py +119 -0
  264. machineconfig/utils/path_extended.py +46 -97
  265. machineconfig/utils/path_helper.py +76 -23
  266. machineconfig/utils/procs.py +10 -23
  267. machineconfig/utils/scheduler.py +84 -115
  268. machineconfig/utils/scheduling.py +0 -3
  269. machineconfig/utils/schemas/fire_agents/fire_agents_input.py +1 -1
  270. machineconfig/utils/schemas/layouts/layout_types.py +1 -1
  271. machineconfig/utils/ssh.py +214 -476
  272. machineconfig/utils/ssh_utils/abc.py +5 -0
  273. machineconfig/utils/ssh_utils/copy_from_here.py +111 -0
  274. machineconfig/utils/ssh_utils/copy_to_here.py +303 -0
  275. machineconfig/utils/ssh_utils/utils.py +142 -0
  276. machineconfig/utils/ssh_utils/wsl.py +210 -0
  277. machineconfig/utils/terminal.py +3 -113
  278. machineconfig/utils/upgrade_packages.py +114 -28
  279. machineconfig/utils/ve.py +12 -4
  280. machineconfig-8.12.dist-info/METADATA +132 -0
  281. machineconfig-8.12.dist-info/RECORD +504 -0
  282. {machineconfig-6.23.dist-info → machineconfig-8.12.dist-info}/entry_points.txt +5 -1
  283. machineconfig/jobs/installer/linux_scripts/pgsql.sh +0 -41
  284. machineconfig/jobs/installer/linux_scripts/timescaledb.sh +0 -71
  285. machineconfig/jobs/linux/msc/cli_agents.sh +0 -16
  286. machineconfig/jobs/python/python_ve_symlink.py +0 -37
  287. machineconfig/jobs/python/vscode/api.py +0 -57
  288. machineconfig/jobs/windows/archive/archive_pygraphviz.ps1 +0 -12
  289. machineconfig/jobs/windows/archive/openssh-server_add_key.ps1 +0 -7
  290. machineconfig/jobs/windows/archive/openssh-server_copy-ssh-id.ps1 +0 -14
  291. machineconfig/scripts/linux/fzf2g +0 -21
  292. machineconfig/scripts/linux/fzfag +0 -17
  293. machineconfig/scripts/linux/fzffg +0 -25
  294. machineconfig/scripts/linux/fzfrga +0 -21
  295. machineconfig/scripts/linux/other/share_smb +0 -1
  296. machineconfig/scripts/linux/other/switch_ip +0 -20
  297. machineconfig/scripts/linux/skrg +0 -4
  298. machineconfig/scripts/linux/warp-cli.sh +0 -122
  299. machineconfig/scripts/linux/z_ls +0 -104
  300. machineconfig/scripts/python/ai/command_runner/prompt.txt +0 -9
  301. machineconfig/scripts/python/devops_helpers/cli_config.py +0 -81
  302. machineconfig/scripts/python/devops_helpers/cli_config_dotfile.py +0 -84
  303. machineconfig/scripts/python/devops_helpers/cli_data.py +0 -18
  304. machineconfig/scripts/python/devops_helpers/cli_nw.py +0 -73
  305. machineconfig/scripts/python/devops_helpers/cli_self.py +0 -117
  306. machineconfig/scripts/python/devops_helpers/cli_share_server.py +0 -104
  307. machineconfig/scripts/python/helper_navigator/__init__.py +0 -20
  308. machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_crush.py +0 -37
  309. machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_gemini.py +0 -44
  310. machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_qwen.py +0 -43
  311. machineconfig/scripts/python/helpers_fire/fire_agents_helper_types.py +0 -30
  312. machineconfig/scripts/python/helpers_fire/prompt.txt +0 -2
  313. machineconfig/scripts/python/helpers_fire/template.sh +0 -15
  314. machineconfig/scripts/python/helpers_repos/secure_repo.py +0 -15
  315. machineconfig/scripts/python/nw/add_ssh_key.py +0 -148
  316. machineconfig/scripts/python/nw/wsl_windows_transfer.py +0 -66
  317. machineconfig/scripts/python/repos_helpers/action.py +0 -378
  318. machineconfig/scripts/python/repos_helpers/count_lines_frontend.py +0 -17
  319. machineconfig/scripts/windows/fzfb.ps1 +0 -3
  320. machineconfig/scripts/windows/fzfg.ps1 +0 -2
  321. machineconfig/scripts/windows/fzfrga.bat +0 -20
  322. machineconfig/scripts/windows/mounts/mount_ssh.ps1 +0 -13
  323. machineconfig/settings/lf/linux/exe/fzf_nano.sh +0 -16
  324. machineconfig/settings/lf/windows/fzf_edit.ps1 +0 -6
  325. machineconfig/settings/lf/windows/tst.ps1 +0 -1
  326. machineconfig/settings/shells/pwsh/profile.ps1 +0 -0
  327. machineconfig/settings/yazi/keymap.toml +0 -0
  328. machineconfig/settings/yazi/yazi.toml +0 -4
  329. machineconfig/setup_linux/apps.sh +0 -66
  330. machineconfig/setup_linux/nix/cli_installation.sh +0 -137
  331. machineconfig/setup_linux/ssh/openssh_all.sh +0 -25
  332. machineconfig/setup_linux/ssh/openssh_wsl.sh +0 -38
  333. machineconfig/setup_windows/apps.ps1 +0 -62
  334. machineconfig/setup_windows/others/obs.ps1 +0 -4
  335. machineconfig/setup_windows/ssh/add_identity.ps1 +0 -11
  336. machineconfig/setup_windows/wt_and_pwsh/__init__.py +0 -0
  337. machineconfig/utils/installer_utils/installer.py +0 -225
  338. machineconfig-6.23.dist-info/METADATA +0 -84
  339. machineconfig-6.23.dist-info/RECORD +0 -428
  340. machineconfig/cluster/sessions_managers/{utils → helpers}/load_balancer_helper.py +0 -0
  341. machineconfig/cluster/sessions_managers/{helpers → zellij_utils}/zellij_local_helper.py +0 -0
  342. machineconfig/cluster/sessions_managers/{helpers → zellij_utils}/zellij_local_helper_restart.py +0 -0
  343. machineconfig/cluster/sessions_managers/{helpers → zellij_utils}/zellij_local_manager_helper.py +0 -0
  344. machineconfig/jobs/installer/linux_scripts/{warp-cli.sh → cloudflare_warp_cli.sh} +0 -0
  345. machineconfig/jobs/{linux/msc → installer/linux_scripts}/network.sh +0 -0
  346. machineconfig/jobs/installer/{custom_dev → python_scripts}/__init__.py +0 -0
  347. machineconfig/jobs/installer/{custom_dev → python_scripts}/alacritty.py +0 -0
  348. machineconfig/jobs/installer/{custom_dev → python_scripts}/bypass_paywall.py +0 -0
  349. machineconfig/jobs/installer/{custom_dev → python_scripts}/cursor.py +0 -0
  350. machineconfig/jobs/installer/{custom_dev → python_scripts}/espanso.py +0 -0
  351. machineconfig/jobs/installer/{custom → python_scripts}/gh.py +0 -0
  352. machineconfig/jobs/installer/{custom_dev → python_scripts}/goes.py +0 -0
  353. machineconfig/jobs/installer/{custom_dev → python_scripts}/lvim.py +0 -0
  354. machineconfig/jobs/installer/{custom_dev → python_scripts}/redis.py +0 -0
  355. machineconfig/{setup_linux/web_shortcuts → jobs/scripts/bash_scripts}/android.sh +0 -0
  356. machineconfig/jobs/{linux/msc → scripts/bash_scripts}/lid.sh +0 -0
  357. machineconfig/{setup_linux/others → jobs/scripts/bash_scripts}/mint_keyboard_shortcuts.sh +0 -0
  358. machineconfig/{scripts/python/nw → jobs/scripts/bash_scripts}/mount_drive +0 -0
  359. machineconfig/{scripts/python/nw → jobs/scripts/bash_scripts}/mount_nw_drive +0 -0
  360. machineconfig/{scripts/python/nw → jobs/scripts/bash_scripts}/mount_smb +0 -0
  361. machineconfig/{scripts/linux/other → jobs/scripts/bash_scripts}/share_cloud.sh +0 -0
  362. machineconfig/{scripts/linux/other → jobs/scripts/bash_scripts}/share_nfs +0 -0
  363. machineconfig/{scripts/linux/other → jobs/scripts/bash_scripts}/start_docker +0 -0
  364. machineconfig/{scripts → jobs/scripts/powershell_scripts}/Restore-ThunderbirdProfile.ps1 +0 -0
  365. machineconfig/{setup_windows/others → jobs/scripts/powershell_scripts}/docker.ps1 +0 -0
  366. machineconfig/{scripts/windows/mounts → jobs/scripts/powershell_scripts}/mount_nfs.ps1 +0 -0
  367. machineconfig/{scripts/windows/mounts → jobs/scripts/powershell_scripts}/mount_nw.ps1 +0 -0
  368. machineconfig/{scripts/windows/mounts → jobs/scripts/powershell_scripts}/mount_smb.ps1 +0 -0
  369. machineconfig/{setup_windows/others → jobs/scripts/powershell_scripts}/power_options.ps1 +0 -0
  370. machineconfig/{scripts/windows/mounts → jobs/scripts/powershell_scripts}/share_cloud.cmd +0 -0
  371. machineconfig/{scripts/windows/mounts → jobs/scripts/powershell_scripts}/share_smb.ps1 +0 -0
  372. machineconfig/{scripts/windows/mounts → jobs/scripts/powershell_scripts}/unlock_bitlocker.ps1 +0 -0
  373. machineconfig/{jobs/python → scripts/python/ai/utils}/__init__.py +0 -0
  374. machineconfig/scripts/python/{cloud_helpers → helpers_agents}/__init__.py +0 -0
  375. machineconfig/scripts/python/{croshell_helpers → helpers_agents/agentic_frameworks}/__init__.py +0 -0
  376. machineconfig/scripts/python/{helpers_fire → helpers_agents}/fire_agents_help_search.py +0 -0
  377. machineconfig/scripts/python/{helpers_fire → helpers_agents}/fire_agents_load_balancer.py +0 -0
  378. machineconfig/scripts/python/{helpers_fire → helpers_agents/templates}/template.ps1 +0 -0
  379. machineconfig/scripts/python/{devops_helpers → helpers_cloud}/__init__.py +0 -0
  380. machineconfig/scripts/python/{cloud_helpers → helpers_cloud}/cloud_helpers.py +1 -1
  381. /machineconfig/scripts/python/{cloud_helpers → helpers_cloud}/helpers5.py +0 -0
  382. /machineconfig/scripts/python/{devops_helpers/themes → helpers_croshell}/__init__.py +0 -0
  383. /machineconfig/scripts/python/{croshell_helpers → helpers_croshell}/pomodoro.py +0 -0
  384. /machineconfig/scripts/python/{croshell_helpers → helpers_croshell}/scheduler.py +0 -0
  385. /machineconfig/scripts/python/{croshell_helpers → helpers_croshell}/viewer.py +0 -0
  386. /machineconfig/scripts/python/{croshell_helpers → helpers_croshell}/viewer_template.py +0 -0
  387. /machineconfig/scripts/python/{helpers_fire → helpers_devops}/__init__.py +0 -0
  388. /machineconfig/scripts/python/{helpers_fire/agentic_frameworks → helpers_devops/themes}/__init__.py +0 -0
  389. /machineconfig/scripts/python/{devops_helpers → helpers_devops}/themes/choose_pwsh_theme.ps1 +0 -0
  390. /machineconfig/{jobs/windows/msc/cli_agents.bat → scripts/python/helpers_devops/themes/choose_starship_theme.ps1} +0 -0
  391. /machineconfig/{jobs/windows/msc/cli_agents.ps1 → scripts/python/helpers_fire_command/f.py} +0 -0
  392. /machineconfig/scripts/python/{helper_navigator → helpers_navigator}/data_models.py +0 -0
  393. /machineconfig/scripts/python/{helper_navigator → helpers_navigator}/search_bar.py +0 -0
  394. /machineconfig/scripts/python/{helpers_repos → helpers_network}/__init__.py +0 -0
  395. /machineconfig/scripts/python/{nw → helpers_network}/mount_nw_drive.py +0 -0
  396. /machineconfig/scripts/python/{nw → helpers_network}/onetimeshare.py +0 -0
  397. /machineconfig/scripts/python/{repos_helpers → helpers_repos}/update.py +0 -0
  398. /machineconfig/scripts/python/{nw → helpers_sessions}/__init__.py +0 -0
  399. /machineconfig/{scripts/python/sessions_helpers → settings/wt}/__init__.py +0 -0
  400. /machineconfig/{setup_windows/wt_and_pwsh → settings/wt}/set_wt_settings.py +0 -0
  401. {machineconfig-6.23.dist-info → machineconfig-8.12.dist-info}/WHEEL +0 -0
  402. {machineconfig-6.23.dist-info → machineconfig-8.12.dist-info}/top_level.txt +0 -0
@@ -1,6 +0,0 @@
1
-
2
- ~/scripts/nano.ps1 (~/scripts/fzfb) # space use for presedence in execution.
3
- # fzf --ansi --preview-window 'right:60%' --preview 'bat --color=always --style=numbers,grid,header --line-range :300 {}'
4
- # & "C:\Program Files\Git\usr\bin\nano.exe" (fzf --ansi --preview-window 'right:60%' --preview 'bat --color=always --style=numbers,grid,header --line-range :300 {}')
5
- # fzf | ~/scripts/nano.ps1
6
-
@@ -1 +0,0 @@
1
- fzfb
File without changes
File without changes
@@ -1,4 +0,0 @@
1
-
2
- [mgr]
3
- show_hidden = true
4
- ratio = [1, 3, 5]
@@ -1,66 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
-
4
- # --GROUP:ESSENTIAL_SYSTEM:git,nano,net-utils,wget,curl,nala,nvm,nodejs
5
- echo "🔄 Updating apt package lists..."
6
- echo "📥 Installing nala package manager..."
7
- echo "📥 Installing essential network tools..."
8
- echo "📥 Installing Node Version Manager (NVM)..."
9
- sudo apt update -y || true
10
- sudo apt install nala -y || true
11
- sudo nala install curl wget gpg lsb-release apt-transport-https -y || true
12
- sudo nala install git net-tools htop nano -y || true
13
- curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
14
- echo "🔧 Configuring NVM environment..."
15
- export NVM_DIR="$HOME/.nvm"
16
- [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
17
- echo "📥 Installing latest Node.js..."
18
- nvm install node || true
19
- echo "📥 Installing SQLite - lightweight SQL database..."
20
- echo "📥 Installing PostgreSQL client..."
21
- echo "📥 Installing Redis command-line tools..."
22
- sudo nala install sqlite3 -y || true
23
- sudo nala install postgresql-client -y || true # # same for pgsq, when the server runs, we will need the client to talk to it.
24
- sudo nala install redis-tools -y || true # this gives redis-cli, which is needed to talk to the redis-server that is running in the docker container.
25
-
26
- # --GROUP:TerminalEyeCandy:fortune,toilet,sl,aafire,cmatrix,hollywood,chafa
27
- echo "📥 Installing fortune - random wisdom generator..."
28
- echo "📥 Installing toilet - large ASCII text generator..."
29
- echo "📥 Installing sl - steam locomotive animation..."
30
- echo "📥 Installing aafire - ASCII art fire animation..."
31
- echo "📥 Installing cmatrix - Matrix-style terminal animation..."
32
- echo "📥 Installing hollywood - Hollywood hacker terminal effect..."
33
- echo "📥 Installing chafa - terminal image viewer..."
34
- sudo nala install cowsay -y || true
35
- sudo nala install lolcat -y || true
36
- sudo nala install boxes -y || true
37
- sudo nala install figlet -y || true
38
- sudo nala install fortune -y || true
39
- sudo nala install toilet -y || true
40
- sudo nala install chafa -y
41
- sudo nala install sl -y || true
42
- sudo nala install libaa-bin -y
43
- echo 'keyboard-configuration keyboard-configuration/layout select US English' | sudo debconf-set-selections
44
- echo 'keyboard-configuration keyboard-configuration/layoutcode string us' | sudo debconf-set-selections
45
- sudo DEBIAN_FRONTEND=noninteractive nala install -y cmatrix
46
- sudo nala install hollywood -y || true
47
-
48
- # --GROUP:NetworkTools: sshfs,samba,fuse3,nfs-common
49
- echo "📥 Installing sshfs - mount remote filesystems over SSH..."
50
- echo "📥 Installing Samba - LAN-based file sharing..."
51
- sudo nala install sshfs
52
- sudo nala install samba
53
- sudo nala install fuse3 -y || true
54
- sudo nala install nfs-common -y || true
55
-
56
-
57
- # --GROUP:DEV_SYSTEM: graphviz,make,rust,libssl-dev,sqlite3,postgresql-client,redis-tools
58
- echo "📥 Installing Graphviz - graph visualization software..."
59
- echo "📥 Installing make - build automation tool..."
60
- echo "📥 Installing SSL development libraries for Rust..."
61
- echo "📥 Installing Rust programming language and toolchain..."
62
- sudo nala install graphviz -y || true
63
- sudo nala install ffmpeg -y || true # Required by some dev tools
64
- sudo nala install make -y || true # Required by LunarVim and SpaceVim
65
- (curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh) || true
66
- sudo nala install libssl-dev -y
@@ -1,137 +0,0 @@
1
- #!/bin/bash
2
- # 📦 NIX CLI TOOLS INSTALLATION SCRIPT
3
- # This script installs various command-line utilities using the Nix package manager
4
-
5
- echo """🔄 SYSTEM UTILITIES | Installing system management tools
6
- """
7
-
8
- # System upgrade tool
9
- echo "📥 Installing topgrade - multi-package-manager upgrade tool..."
10
- nix-env -iA nixpkgs.topgrade || true
11
-
12
- # Process management
13
- echo "📥 Installing procs - modern replacement for ps..."
14
- nix-env -iA nixpkgs.procs || true
15
-
16
- # File watching
17
- echo "📥 Installing watchexec - executes commands when files change..."
18
- nix-env -iA nixpkgs.watchexec || true
19
-
20
- echo """📂 FILE MANAGEMENT | Installing file browsers and utilities
21
- """
22
-
23
- # Terminal file managers
24
- echo "📥 Installing xplr - hackable file explorer..."
25
- nix-env -iA nixpkgs.xplr || true
26
-
27
- echo "📥 Installing nnn - fast and flexible file manager..."
28
- nix-env -iA nixpkgs.nnn || true
29
-
30
- echo "📥 Installing joshuto - ranger-like file manager in Rust..."
31
- nix-env -iA nixpkgs.joshuto || true
32
-
33
- echo "📥 Installing lf - terminal file manager..."
34
- nix-env -iA nixpkgs.lf || true
35
-
36
- echo "📥 Installing broot - directory navigation tool..."
37
- nix-env -iA nixpkgs.broot || true
38
-
39
- echo "📥 Installing tere - faster alternative to cd..."
40
- nix-env -iA nixpkgs.tere || true
41
-
42
- # Disk usage analyzers
43
- echo "📥 Installing dua - disk usage analyzer..."
44
- nix-env -iA nixpkgs.dua || true
45
-
46
- echo "📥 Installing diskonaut - terminal disk space navigator..."
47
- nix-env -iA nixpkgs.diskonaut || true
48
-
49
- # File cleanup
50
- echo "📥 Installing kondo - cleanup tool for dev projects..."
51
- nix-env -iA nixpkgs.kondo || true
52
-
53
- echo """🖼️ VISUAL TOOLS | Installing terminal visualization tools
54
- """
55
-
56
- # Terminal visualization
57
- echo "📥 Installing viu - terminal image viewer..."
58
- nix-env -iA nixpkgs.viu || true
59
-
60
- echo "📥 Installing bottom - graphical process/system monitor..."
61
- nix-env -iA nixpkgs.bottom || true
62
-
63
- echo "📥 Installing delta - syntax-highlighting pager for git..."
64
- nix-env -iA nixpkgs.delta || true
65
-
66
- echo """🔧 DEVELOPMENT TOOLS | Installing programming utilities
67
- """
68
-
69
- # Code editors
70
- echo "📥 Installing helix - modal text editor..."
71
- nix-env -iA nixpkgs.helix || true
72
-
73
- # Terminal multiplexer
74
- echo "📥 Installing zellij - terminal workspace with panes..."
75
- nix-env -iA nixpkgs.zellij || true
76
-
77
- # Development tools
78
- echo "📥 Installing rust-analyzer - Rust language server..."
79
- nix-env -iA nixpkgs.rust-analyzer || true
80
-
81
- echo "📥 Installing tokei - code statistics tool..."
82
- nix-env -iA nixpkgs.tokei || true
83
-
84
- # Git interfaces
85
- echo "📥 Installing gitui - terminal UI for git..."
86
- nix-env -iA nixpkgs.gitui || true
87
-
88
- echo """🔎 SEARCH TOOLS | Installing fuzzy finders and search utilities
89
- """
90
-
91
- # Search history
92
- echo "📥 Installing mcfly - search shell history with context..."
93
- nix-env -iA nixpkgs.mcfly || true
94
-
95
- # Fuzzy finder
96
- echo "📥 Installing skim - fuzzy finder in Rust..."
97
- nix-env -iA nixpkgs.skim || true
98
-
99
- echo """🌐 NETWORK & CLOUD TOOLS | Installing file transfer and cloud utilities
100
- """
101
-
102
- # File transfer
103
- echo "📥 Installing termscp - terminal file transfer client..."
104
- nix-env -iA nixpkgs.termscp || true
105
-
106
- # Cloud storage
107
- echo "📥 Installing rclone - rsync for cloud storage..."
108
- nix-env -iA nixpkgs.rclone || true
109
-
110
- echo """🛡️ SECURITY TOOLS | Installing password management utilities
111
- """
112
-
113
- # Password management
114
- echo "📥 Installing gopass - team password manager with git..."
115
- nix-env -iA nixpkgs.gopass || true
116
-
117
- echo """📚 DOCUMENTATION | Installing help and reference tools
118
- """
119
-
120
- # Command reference
121
- echo "📥 Installing tldr - simplified command documentation..."
122
- nix-env -iA nixpkgs.tldr || true
123
-
124
- # Shell alternatives
125
- echo "📥 Installing nushell - modern shell alternative..."
126
- nix-env -iA nixpkgs.nushell || true
127
-
128
- echo """✅ INSTALLATION COMPLETE | All Nix CLI tools have been installed
129
- """
130
-
131
- # Commented out tools
132
- # echo "📥 Installing ots - one-time secret sharing..."
133
- # nix-env -iA nixpkgs.ots || true
134
-
135
- # echo "📥 Installing qrscan - QR code scanner..."
136
- # nix-env -iA nixpkgs.qrscan || true
137
-
@@ -1,25 +0,0 @@
1
- #!/usr/bin/bash
2
- # 🔐 OpenSSH Server Setup and Configuration
3
-
4
- # Common pitfalls:
5
- # 🚫 Wrong line endings (LF/CRLF) in config files
6
- # 🌐 Network port conflicts (try 2222 -> 2223) between WSL and Windows
7
-
8
- # 📁 Setup SSH directory and permissions
9
- mkdir -p ~/.ssh
10
- echo $pubkey_string >> ~/.ssh/authorized_keys
11
- sudo chmod 600 ~/.ssh/*
12
- sudo chmod 700 ~/.ssh
13
- echo "✅ FINISHED modifying .ssh folder attributes."
14
-
15
- # 🔄 Clean install OpenSSH server
16
- sudo nala install openssh-server -y || true # try to install first
17
- sudo nala purge openssh-server -y
18
- sudo nala install openssh-server -y
19
- echo "✅ FINISHED installing openssh-server."
20
-
21
- # 📝 Additional commands if needed:
22
- # sudo service ssh status
23
- # sudo nano /etc/ssh/sshd_config
24
- # sudo service ssh restart
25
- # For tunnels see: https://www.youtube.com/watch?v=Wp7boqm3Xts
@@ -1,38 +0,0 @@
1
- #!/usr/bin/bash
2
- # 🐧 WSL2 SSH Configuration for LAN Access 🌐
3
- # Purpose: Enable SSH access to WSL2 from LAN (requires wsl_server.ps1 in Windows)
4
- # Common pitfall: sshd fails after config changes due to wrong line endings/permissions
5
-
6
- # 🔍 Check if running in WSL
7
- if [[ $(uname -a) == *"icrosoft"* ]]; then
8
- echo "✅ Running inside WSL"
9
- else
10
- echo "❌ Not running inside WSL, no need for this script"
11
- exit 0
12
- fi
13
-
14
- # 🔢 Set SSH port
15
- if [ -z "$port" ]; then
16
- port=2222
17
- echo "📝 Port variable not defined, setting it to $port"
18
- fi
19
-
20
- # 🛠️ Configure SSH
21
- sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
22
- sudo sed -i 's/#Port 22/Port '$port'/g' /etc/ssh/sshd_config
23
- sudo sed -i 's/#ListenAddress 0.0.0.0/ListenAddress 0.0.0.0/g' /etc/ssh/sshd_config
24
- sudo sed -i 's/#PubkeyAuthentication yes/PubkeyAuthentication yes/g' /etc/ssh/sshd_config
25
- sudo sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config
26
-
27
- # 🔑 Generate host keys and restart service
28
- sudo service ssh start
29
- sudo ssh-keygen -A
30
- sudo service ssh --full-restart
31
- sudo service ssh status
32
-
33
- echo "✨ FINISHED configuring SSH in WSL2."
34
-
35
- # 📚 References:
36
- # Service startup: https://superuser.com/questions/1701853/how-to-enable-a-service-to-start-with-wsl2
37
- # WSL config: https://learn.microsoft.com/en-us/windows/wsl/networking#accessing-a-wsl-2-distribution-from-your-local-area-network-lan
38
-
@@ -1,62 +0,0 @@
1
-
2
- # to get exact version of an app in winget, head to: https://winget.run
3
-
4
- # --GROUP:ESSENTIAL_SYSTEM:WT+Brave+VSCode+WezTerm+OhMyPosh+Powershell+Starship+Git+Neovim+GNU Nano+Terminal-Icons+PSFzf
5
- winget install --no-upgrade --name "Windows Terminal" --Id "Microsoft.WindowsTerminal" --source winget --scope user --accept-package-agreements --accept-source-agreements # Terminal is is installed by default on W 11
6
- winget install --no-upgrade --name "Brave" --Id "Brave.Brave" --source winget --scope user --accept-package-agreements --accept-source-agreements
7
- winget install --no-upgrade --name "Microsoft Visual Studio Code" --Id "Microsoft.VisualStudioCode" --source winget --scope user --accept-package-agreements --accept-source-agreements
8
- winget install --no-upgrade --name "WezTerm" --Id "wez.wezterm" --source winget --scope user --accept-package-agreements --accept-source-agreements
9
- winget install --no-upgrade --name "Oh My Posh" --Id "JanDeDobbeleer.OhMyPosh" --source winget --scope user --accept-package-agreements --accept-source-agreements
10
- winget install --no-upgrade --name "Powershell" --Id "Microsoft.PowerShell" --source winget --scope user --accept-package-agreements --accept-source-agreements # powershell require admin
11
- winget install --no-upgrade --name "Git" --Id "Git.Git" --source winget --scope user --accept-package-agreements --accept-source-agreements
12
- winget install --no-upgrade --name "Neovim" --Id "Neovim.Neovim" --source winget --scope user --accept-package-agreements --accept-source-agreements
13
- winget install --no-upgrade --name "GNU Nano" --Id "GNU.Nano" --source winget --scope user --accept-package-agreements --accept-source-agreements
14
- # winget install --no-upgrade --Id "CoreyButler.NVMforWindows" --source winget --scope user --accept-package-agreements --accept-source-agreements
15
- # winget install --no-upgrade --name "Starship" --Id "Starship.Starship" --source winget --scope user --accept-package-agreements --accept-source-agreements
16
- Install-Module -Name Terminal-Icons -Repository PSGallery -Force -AcceptLicense -PassThru -Confirm # -RequiredVersion 2.5.10
17
- Install-Module -Name PSFzf -SkipPublisherCheck # -AcceptLicense -PassThru -Confirm # -RequiredVersion 2.5.10
18
-
19
-
20
- # --GROUP:DEV_SYSTEM:VSRedistrib+VSBuildTools+Codeblocks+GnuWin32: Make+GnuPG+graphviz+WinFsp+SSHFS-win+xming+Node.js+Rustup+Cloudflare+Cloudflare WARP+Microsoft Garage Mouse without Borders
21
- winget install --no-upgrade --name "VSRedistrib" --Id "Microsoft.VC++2015-2022Redist-x64" --source winget --scope user --accept-package-agreements --accept-source-agreements
22
- winget install --no-upgrade --name "VSBuildTools" --Id "Microsoft.VisualStudio.2022.BuildTools" --source winget --scope user --accept-package-agreements --accept-source-agreements
23
- winget install --no-upgrade --name "Codeblocks" --Id "Codeblocks.Codeblocks" --source winget --scope user --accept-package-agreements --accept-source-agreements # IDE for C/C++
24
- winget install --no-upgrade --name "GnuWin32: Make" --Id "GnuWin32.Make" --source winget --scope user --accept-package-agreements --accept-source-agreements # required for building some python packages with native extensions, like dlib
25
- winget install --no-upgrade --name "GnuPG" --Id "GnuPG.GnuPG" --source winget --scope user --accept-package-agreements --accept-source-agreements
26
- winget install --no-upgrade --name "graphviz" --Id "Graphviz.Graphviz" --source winget --scope user --accept-package-agreements --accept-source-agreements # required by pygraphviz. Used in Base.viz_object_hirarchy and Model.plot_model()
27
- winget install --no-upgrade --name "WinFsp" --Id "WinFsp.WinFsp" --source winget --scope user --accept-package-agreements --accept-source-agreements # mount remote filesystems and required by rclone
28
- winget install --no-upgrade --name "SSHFS-win" --Id "SSHFS-Win.SSHFS-Win" --source winget --scope user --accept-package-agreements --accept-source-agreements # mount remote filesystems # as per https://github.com/winfsp/sshfs-win
29
- winget install --no-upgrade --name "xming" --Id "xming.xming" --source winget --scope user --accept-package-agreements --accept-source-agreements # X11 server. you need this while using wsl with gui, otherwise plt.show() returns: ImportError: Cannot load backend 'TkAgg' which requires the 'tk' interactive framework, as 'headless' is currently running
30
- winget install --no-upgrade --name "Node.js" --Id "OpenJS.NodeJS" --source winget --scope user --accept-package-agreements --accept-source-agreements # ncessary for nvim plugins.
31
- winget install --no-upgrade --name "Rustup" --Id "Rustlang.Rustup" --source winget --scope user --accept-package-agreements --accept-source-agreements # rust compiler, necessary for some nvim plugins
32
- winget install --no-upgrade --name "Cloudflare" --Id "Cloudflare.cloudflared" --source winget --scope user --accept-package-agreements --accept-source-agreements # cloudflare tunnel client, alternative to ngrok
33
- winget install --no-upgrade --name "Cloudflare WARP" --Id "Cloudflare.Warp" --source winget --scope user --accept-package-agreements --accept-source-agreements
34
- winget install --no-upgrade --name "Microsoft Garage Mouse without Borders" --Id "Microsoft.MouseWithoutBorders" --source winget --scope user --accept-package-agreements --accept-source-agreements
35
-
36
-
37
- # --GROUP:OTHER_WINDOWS:nu+Chrome+ChromeRemoteDesktop+Zoom+7zip+Firefox+Thunderbird+StreamlabsOBS+OBSStudio+MiKTeX+TexMaker+notepad+++Lapce+TesseractOCR+perl+DB Browser for SQLite+sql server management studio+Adobe Acrobat Reader DC+julia+Chafa+bottom+onefetch+Just+hyperfine+AWS CLI
38
- winget install --no-upgrade --name "nu" --Id "Nushell.Nushell" --source winget --scope user --accept-package-agreements --accept-source-agreements # add to userpath C:\Program Files\nu\bin, done in symlinks
39
- winget install --no-upgrade --name "Google Chrome" --Id "Google.Chrome" --source winget --scope user --accept-package-agreements --accept-source-agreements
40
- winget install --no-upgrade --name "Chrome Remote Desktop Host" --Id "Google.ChromeRemoteDesktop" --source winget --scope user --accept-package-agreements --accept-source-agreements
41
- winget install --no-upgrade --name "Zoom" --Id "Zoom.Zoom" --source winget --scope user --accept-package-agreements --accept-source-agreements
42
- winget install --no-upgrade --name "7-zip" --Id "7zip.7zip" --source winget --scope user --accept-package-agreements --accept-source-agreements
43
- winget install --no-upgrade --name "Mozilla Firefox" --Id "Mozilla.Firefox" --source winget --scope user --accept-package-agreements --accept-source-agreements
44
- winget install --no-upgrade --name "Mozilla Thunderbird (en-US)" --Id "Mozilla.Thunderbird" --source winget --scope user --accept-package-agreements --accept-source-agreements
45
- winget install --no-upgrade --name "StreamlabsOBS" --Id "Streamlabs.StreamlabsOBS" --source winget --scope user --accept-package-agreements --accept-source-agreements
46
- winget install --no-upgrade --name "OBSStudio" --Id "OBSProject.OBSStudio" --source winget --scope user --accept-package-agreements --accept-source-agreements
47
- winget install --no-upgrade --name "MiKTeX" --Id "MiKTeX.MiKTeX" --source winget --scope user # library / lanugage
48
- winget install --no-upgrade --name "TexMaker" --Id "Texmaker.Texmaker" --source winget --scope user # IDE better than simple TexWorks shipped with MikTex. IDE is basically GUI for cmd interface of Tex
49
- winget install --no-upgrade --name "notepad++" --Id "Notepad++.Notepad++" --source winget --scope user --accept-package-agreements --accept-source-agreements
50
- winget install --no-upgrade --name "Lapce" --Id "Lapce.Lapce" --source winget --scope user --accept-package-agreements --accept-source-agreements
51
- winget install --no-upgrade --name "TesseractOCR" --Id "UB-Mannheim.TesseractOCR" --source winget --scope user --accept-package-agreements --accept-source-agreements
52
- winget install --no-upgrade --name "perl" --Id "StrawbgnogerryPerl.StrawberryPerl" --source winget --scope user --accept-package-agreements --accept-source-agreements
53
- winget install --no-upgrade --name "DB Browser for SQLite" --Id "DBBrowserForSQLite.DBBrowserForSQLite" --source winget --scope user --accept-package-agreements --accept-source-agreements
54
- winget install --no-upgrade --name "sql server management studio" --Id "Microsoft.SQLServerManagementStudio" --source winget --scope user --accept-package-agreements --accept-source-agreements
55
- winget install --no-upgrade --name "Adobe Acrobat Reader DC" --Id "Adobe.Acrobat.Reader.64-bit" --source winget --scope user --accept-package-agreements --accept-source-agreements
56
- winget install --no-upgrade --name "julia" --Id "Julialang.Julia" --source winget --scope user --accept-package-agreements --accept-source-agreements
57
- winget install --no-upgrade --name "Chafa" --Id "hpjansson.Chafa" --source winget --scope user --accept-package-agreements --accept-source-agreements
58
- winget install --no-upgrade --name "bottom" --Id "Clement.bottom" --source winget --scope user --accept-package-agreements --accept-source-agreements
59
- winget install --no-upgrade --name "onefetch" --Id "o2sh.onefetch" --source winget --scope user # repo-version of system fastfetch, see also tokei
60
- winget install --no-upgrade --name "Just" --Id "Casey.Just" --source winget --scope user # commandline runner
61
- winget install --no-upgrade --name "hyperfine" --Id "sharkdp.hyperfine" --source winget --scope user # benchmarking tool
62
- winget install --no-upgrade --name "AWS Command Line Interface" --Id "Amazon.AWSCLI" --source winget --scope user --accept-package-agreements --accept-source-agreements
@@ -1,4 +0,0 @@
1
-
2
-
3
- winget install Gyan.FFmpeg
4
-
@@ -1,11 +0,0 @@
1
-
2
- # on the side of the local machine, you need to sort out the following:
3
- # if the $sshfile doesn't have a standard name, you will need to explicitly specify the identity while SSHing (e.g. ssh u@s -i ~/.ssh/my_id)
4
- # However, this must be done every time. For permanent solutions, use .ssh/config
5
-
6
- $sshfile = "$env:USERPROFILE\.ssh\id_rsa"
7
-
8
- Set-Service ssh-agent -StartupType Manual # allow the service to be started manually
9
- ssh-agent # start the service
10
- ssh-add.exe $sshfile # add the key to the agent
11
-
File without changes
@@ -1,225 +0,0 @@
1
- """Devops Devapps Install"""
2
-
3
- from machineconfig.utils.installer import dynamically_extract_installers_system_groups_from_scripts
4
- import typer
5
- from rich.console import Console
6
- from rich.panel import Panel
7
- from rich.table import Table
8
- from typing import Optional, cast, get_args, Annotated
9
- from machineconfig.jobs.installer.package_groups import PACKAGE_GROUPS, PACKAGE_GROUP2NAMES
10
-
11
- console = Console()
12
-
13
-
14
- def _handle_installer_not_found(search_term: str, all_installers: list["InstallerData"]) -> None: # type: ignore
15
- """Handle installer not found with friendly suggestions using fuzzy matching."""
16
- from difflib import get_close_matches
17
-
18
- all_names = []
19
- for inst in all_installers:
20
- exe_name = inst["appName"]
21
- all_names.append(exe_name)
22
- close_matches = get_close_matches(search_term, all_names, n=5, cutoff=0.4)
23
- console.print(f"\n❌ '[red]{search_term}[/red]' was not found.", style="bold")
24
-
25
- if close_matches:
26
- console.print("🤔 Did you mean one of these?", style="yellow")
27
- table = Table(show_header=False, box=None, pad_edge=False)
28
- for i, match in enumerate(close_matches, 1):
29
- table.add_row(f"[cyan]{i}.[/cyan]", f"[green]{match}[/green]")
30
- console.print(table)
31
- else:
32
- console.print("📋 Here are some available options:", style="blue")
33
- # Show first 10 installers as examples
34
- sample_names = []
35
- for inst in all_installers[:10]:
36
- exe_name = inst["appName"]
37
- sample_names.append(exe_name)
38
-
39
- table = Table(show_header=False, box=None, pad_edge=False)
40
- for i, name in enumerate(sample_names, 1):
41
- table.add_row(f"[cyan]{i}.[/cyan]", f"[green]{name}[/green]")
42
- console.print(table)
43
-
44
- if len(all_installers) > 10:
45
- console.print(f" [dim]... and {len(all_installers) - 10} more[/dim]")
46
-
47
- panel = Panel(f"[bold blue]💡 Use 'ia' to interactively browse all available installers.[/bold blue]\n[bold blue]💡 Use one of the categories: {list(get_args(PACKAGE_GROUPS))}[/bold blue]", title="[yellow]Helpful Tips[/yellow]", border_style="yellow")
48
- console.print(panel)
49
-
50
-
51
- def main_with_parser():
52
- import typer
53
- app = typer.Typer()
54
- app.command()(main)
55
- app()
56
-
57
-
58
- def main(
59
- which: Annotated[Optional[str], typer.Argument(..., help="Comma-separated list of program/groups names to install (if --group flag is set).")] = None,
60
- group: Annotated[bool, typer.Option(..., "--group", "-g", help="Treat 'which' as a group name. A group is bundle of apps.")] = False,
61
- interactive: Annotated[bool, typer.Option(..., "--interactive", "-ia", help="Interactive selection of programs to install.")] = False,
62
- ) -> None:
63
- if interactive:
64
- return install_interactively()
65
- if which is not None:
66
- if group:
67
- for a_group in [x.strip() for x in which.split(",") if x.strip() != ""]:
68
- return install_group(package_group=a_group)
69
- else:
70
- return install_clis(clis_names=[x.strip() for x in which.split(",") if x.strip() != ""])
71
- else:
72
- if group:
73
- typer.echo("❌ You must provide a group name when using the --group/-g option.")
74
- res = get_static_groups_combined_with_dynamic_groups_extracted()
75
- console.print("[bold blue]Here are the available groups:[/bold blue]")
76
- table = Table(show_header=True, header_style="bold magenta")
77
- table.add_column("Group", style="cyan", no_wrap=True)
78
- table.add_column("AppsBundled", style="green", overflow="fold")
79
- for display, group_name in res.items():
80
- # Parse display
81
- if " -- " in display:
82
- group_part, items_part = display.split(" -- ", 1)
83
- group_name_parsed = group_part.replace("📦 ", "").strip()
84
- items_str = items_part.strip()
85
- else:
86
- group_name_parsed = display
87
- items_str = group_name
88
- table.add_row(group_name_parsed, items_str)
89
- console.print(table)
90
- raise typer.Exit(1)
91
- typer.echo("❌ You must provide either a program name/group name, or use --interactive/-ia option.")
92
- import click
93
- ctx = click.get_current_context()
94
- typer.echo(ctx.get_help())
95
- raise typer.Exit(1)
96
-
97
-
98
- def get_static_groups_combined_with_dynamic_groups_extracted():
99
- # Build category options and maintain a mapping from display text to actual category name
100
- category_display_to_name: dict[str, str] = {}
101
- for group_name, group_values in PACKAGE_GROUP2NAMES.items():
102
- display = f"📦 {group_name:<20}" + " -- " + f"{'|'.join(group_values):<60}"
103
- category_display_to_name[display] = group_name
104
- options_system = dynamically_extract_installers_system_groups_from_scripts()
105
- for item in options_system:
106
- display = f"📦 {item['appName']:<20} -- {item['doc']:<60}"
107
- category_display_to_name[display] = item['appName']
108
- return category_display_to_name
109
-
110
-
111
- def install_interactively():
112
- from machineconfig.utils.options import choose_from_options
113
- from machineconfig.utils.schemas.installer.installer_types import get_normalized_arch, get_os_name
114
- from machineconfig.utils.installer import get_installers
115
- from machineconfig.utils.installer_utils.installer_class import Installer
116
- installers = get_installers(os=get_os_name(), arch=get_normalized_arch(), which_cats=None)
117
- installer_options = []
118
- for x in installers:
119
- installer_options.append(Installer(installer_data=x).get_description())
120
-
121
- category_display_to_name = get_static_groups_combined_with_dynamic_groups_extracted()
122
- options = list(category_display_to_name.keys()) + ["─" * 50] + installer_options
123
- program_names = choose_from_options(multi=True, msg="Categories are prefixed with 📦", options=options, header="🚀 CHOOSE DEV APP OR CATEGORY", default="📦 essentials", fzf=True)
124
- installation_messages: list[str] = []
125
- for _an_idx, a_program_name in enumerate(program_names):
126
- if a_program_name.startswith("─"): # 50 dashes separator
127
- continue
128
- if a_program_name.startswith("📦 "):
129
- category_name = category_display_to_name.get(a_program_name)
130
- if category_name:
131
- install_group(package_group=cast(PACKAGE_GROUPS, category_name))
132
- else:
133
- installer_idx = installer_options.index(a_program_name)
134
- an_installer_data = installers[installer_idx]
135
- status_message = Installer(an_installer_data).install_robust(version=None) # finish the task - this returns a status message, not a command
136
- installation_messages.append(status_message)
137
- if installation_messages:
138
- panel = Panel("\n".join([f"[blue]• {message}[/blue]" for message in installation_messages]), title="[bold green]📊 Installation Summary[/bold green]", border_style="green", padding=(1, 2))
139
- console.print(panel)
140
-
141
-
142
- def install_group(package_group: str):
143
- panel = Panel(f"[bold yellow]Installing programs from category: [green]{package_group}[/green][/bold yellow]", title="[bold blue]📦 Category Installation[/bold blue]", border_style="blue", padding=(1, 2))
144
- console.print(panel)
145
- from machineconfig.utils.installer import get_installers, install_bulk
146
- from machineconfig.utils.schemas.installer.installer_types import get_normalized_arch, get_os_name
147
- if package_group in PACKAGE_GROUP2NAMES:
148
- installers_ = get_installers(os=get_os_name(), arch=get_normalized_arch(), which_cats=[package_group])
149
- install_bulk(installers_data=installers_)
150
- else:
151
- options_system = dynamically_extract_installers_system_groups_from_scripts()
152
- from machineconfig.utils.schemas.installer.installer_types import get_normalized_arch, get_os_name
153
- from machineconfig.utils.code import run_shell_script
154
- for an_item in options_system:
155
- if an_item["appName"] == package_group:
156
- program = an_item["fileNamePattern"][get_normalized_arch()][get_os_name()]
157
- if program is not None:
158
- run_shell_script(program)
159
- break
160
-
161
-
162
- def choose_from_system_package_groups(options_system: dict[str, tuple[str, str]]) -> str:
163
- from machineconfig.utils.options import choose_from_options
164
- display_options = []
165
- for group_name, (description, _) in options_system.items():
166
- if description:
167
- display_options.append(f"{group_name:<20} - {description}")
168
- else:
169
- display_options.append(group_name)
170
- program_names = choose_from_options(multi=True, msg="", options=sorted(display_options), header="🚀 CHOOSE DEV APP", fzf=True)
171
- program = ""
172
- for display_name in program_names:
173
- # Extract the actual group name (everything before " - " if present)
174
- group_name = display_name.split(" - ")[0].strip() if " - " in display_name else display_name.strip()
175
- console.print(f"\n[bold cyan]⚙️ Installing: [yellow]{group_name}[/yellow][/bold cyan]", style="bold")
176
- _, sub_program = options_system[group_name] # Extract content from tuple
177
- if sub_program.startswith("#winget"):
178
- sub_program = sub_program[1:]
179
- program += "\n" + sub_program
180
- return program
181
-
182
-
183
- def install_clis(clis_names: list[str]):
184
- from machineconfig.utils.schemas.installer.installer_types import get_normalized_arch, get_os_name
185
- from machineconfig.utils.installer import get_installers
186
- from machineconfig.utils.installer_utils.installer_class import Installer
187
-
188
- total_messages: list[str] = []
189
- for a_which in clis_names:
190
- all_installers = get_installers(os=get_os_name(), arch=get_normalized_arch(), which_cats=None)
191
- selected_installer = None
192
- for installer in all_installers:
193
- app_name = installer["appName"]
194
- if app_name.lower() == a_which.lower():
195
- selected_installer = installer
196
- break
197
- if selected_installer is None:
198
- _handle_installer_not_found(a_which, all_installers)
199
- return None
200
- message = Installer(selected_installer).install_robust(version=None) # finish the task
201
- total_messages.append(message)
202
- if total_messages:
203
- console.print("\n[bold green]📊 Installation Results:[/bold green]")
204
- for a_message in total_messages:
205
- console.print(f"[blue]• {a_message}[/blue]")
206
- return None
207
-
208
-
209
- def install_if_missing(which: str):
210
- from machineconfig.utils.installer_utils.installer_abc import check_tool_exists
211
- exists = check_tool_exists(which)
212
- if exists:
213
- print(f"✅ {which} is already installed.")
214
- return
215
- print(f"⏳ {which} not found. Installing...")
216
- from machineconfig.utils.installer_utils.installer import main
217
- main(which=which, interactive=False)
218
-
219
-
220
- if __name__ == "__main__":
221
- from machineconfig.utils.schemas.installer.installer_types import InstallerData
222
- from machineconfig.utils.installer_utils.installer_class import Installer
223
-
224
- _ = InstallerData, Installer
225
- pass