machineconfig 5.15__py3-none-any.whl → 7.66__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 (389) hide show
  1. machineconfig/__init__.py +0 -28
  2. machineconfig/cluster/remote/distribute.py +0 -1
  3. machineconfig/cluster/remote/file_manager.py +0 -2
  4. machineconfig/cluster/remote/script_execution.py +0 -1
  5. machineconfig/cluster/sessions_managers/{utils → helpers}/enhanced_command_runner.py +4 -6
  6. machineconfig/cluster/sessions_managers/utils/load_balancer.py +1 -1
  7. machineconfig/cluster/sessions_managers/utils/maker.py +69 -0
  8. machineconfig/cluster/sessions_managers/wt_local.py +114 -289
  9. machineconfig/cluster/sessions_managers/wt_local_manager.py +50 -193
  10. machineconfig/cluster/sessions_managers/wt_remote.py +51 -43
  11. machineconfig/cluster/sessions_managers/wt_remote_manager.py +49 -197
  12. machineconfig/cluster/sessions_managers/wt_utils/layout_generator.py +6 -19
  13. machineconfig/cluster/sessions_managers/wt_utils/manager_persistence.py +52 -0
  14. machineconfig/cluster/sessions_managers/wt_utils/monitoring_helpers.py +50 -0
  15. machineconfig/cluster/sessions_managers/wt_utils/status_reporter.py +4 -2
  16. machineconfig/cluster/sessions_managers/wt_utils/status_reporting.py +76 -0
  17. machineconfig/cluster/sessions_managers/wt_utils/wt_helpers.py +199 -0
  18. machineconfig/cluster/sessions_managers/zellij_local.py +81 -375
  19. machineconfig/cluster/sessions_managers/zellij_local_manager.py +22 -169
  20. machineconfig/cluster/sessions_managers/zellij_remote.py +40 -41
  21. machineconfig/cluster/sessions_managers/zellij_remote_manager.py +13 -10
  22. machineconfig/cluster/sessions_managers/zellij_utils/example_usage.py +4 -8
  23. machineconfig/cluster/sessions_managers/zellij_utils/layout_generator.py +5 -20
  24. machineconfig/cluster/sessions_managers/zellij_utils/process_monitor.py +3 -9
  25. machineconfig/cluster/sessions_managers/zellij_utils/status_reporter.py +3 -1
  26. machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_helper.py +298 -0
  27. machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_helper_restart.py +77 -0
  28. machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_helper_with_panes.py +228 -0
  29. machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_manager_helper.py +165 -0
  30. machineconfig/jobs/{python → installer}/check_installations.py +2 -3
  31. machineconfig/jobs/installer/custom/boxes.py +61 -0
  32. machineconfig/jobs/installer/custom/hx.py +76 -19
  33. machineconfig/jobs/installer/custom_dev/alacritty.py +4 -4
  34. machineconfig/jobs/installer/custom_dev/brave.py +1 -7
  35. machineconfig/jobs/installer/custom_dev/cloudflare_warp_cli.py +23 -0
  36. machineconfig/jobs/installer/custom_dev/code.py +4 -1
  37. machineconfig/jobs/installer/custom_dev/dubdb_adbc.py +30 -0
  38. machineconfig/jobs/installer/custom_dev/nerfont_windows_helper.py +9 -18
  39. machineconfig/jobs/installer/custom_dev/sysabc.py +119 -0
  40. machineconfig/jobs/installer/custom_dev/wezterm.py +2 -19
  41. machineconfig/jobs/installer/installer_data.json +1101 -115
  42. machineconfig/jobs/installer/linux_scripts/brave.sh +4 -14
  43. machineconfig/jobs/installer/linux_scripts/{warp-cli.sh → cloudflare_warp_cli.sh} +5 -17
  44. machineconfig/jobs/installer/linux_scripts/docker.sh +5 -17
  45. machineconfig/jobs/installer/linux_scripts/docker_start.sh +6 -14
  46. machineconfig/jobs/installer/linux_scripts/edge.sh +3 -11
  47. machineconfig/jobs/{linux/msc → installer/linux_scripts}/lid.sh +2 -8
  48. machineconfig/jobs/installer/linux_scripts/nerdfont.sh +5 -17
  49. machineconfig/jobs/{linux/msc → installer/linux_scripts}/network.sh +2 -8
  50. machineconfig/jobs/installer/linux_scripts/q.sh +1 -0
  51. machineconfig/jobs/installer/linux_scripts/redis.sh +6 -17
  52. machineconfig/jobs/installer/linux_scripts/vscode.sh +5 -17
  53. machineconfig/jobs/installer/linux_scripts/wezterm.sh +4 -12
  54. machineconfig/jobs/installer/package_groups.py +108 -180
  55. machineconfig/logger.py +0 -1
  56. machineconfig/profile/backup.toml +49 -0
  57. machineconfig/profile/bash_shell_profiles.md +11 -0
  58. machineconfig/profile/create_helper.py +74 -0
  59. machineconfig/profile/create_links.py +288 -0
  60. machineconfig/profile/create_links_export.py +100 -0
  61. machineconfig/profile/create_shell_profile.py +136 -0
  62. machineconfig/profile/mapper.toml +258 -0
  63. machineconfig/scripts/Restore-ThunderbirdProfile.ps1 +92 -0
  64. machineconfig/scripts/__init__.py +0 -4
  65. machineconfig/scripts/linux/{share_cloud.sh → other/share_cloud.sh} +14 -25
  66. machineconfig/scripts/linux/wrap_mcfg +47 -0
  67. machineconfig/scripts/nu/wrap_mcfg.nu +69 -0
  68. machineconfig/scripts/python/agents.py +92 -103
  69. machineconfig/scripts/python/ai/command_runner/command_runner.sh +9 -0
  70. machineconfig/scripts/python/ai/command_runner/prompt.txt +9 -0
  71. machineconfig/scripts/python/ai/generate_files.py +307 -42
  72. machineconfig/scripts/python/ai/initai.py +3 -28
  73. machineconfig/scripts/python/ai/scripts/lint_and_type_check.ps1 +17 -18
  74. machineconfig/scripts/python/ai/scripts/lint_and_type_check.sh +17 -18
  75. machineconfig/scripts/python/ai/solutions/_shared.py +9 -1
  76. machineconfig/scripts/python/ai/solutions/copilot/instructions/python/dev.instructions.md +1 -1
  77. machineconfig/scripts/python/ai/solutions/copilot/prompts/pyright_fix.md +16 -0
  78. machineconfig/scripts/python/ai/solutions/generic.py +27 -4
  79. machineconfig/scripts/python/ai/vscode_tasks.py +37 -0
  80. machineconfig/scripts/python/cloud.py +29 -0
  81. machineconfig/scripts/python/croshell.py +111 -114
  82. machineconfig/scripts/python/define.py +31 -0
  83. machineconfig/scripts/python/devops.py +44 -103
  84. machineconfig/scripts/python/devops_navigator.py +10 -0
  85. machineconfig/scripts/python/env_manager/__init__.py +1 -0
  86. machineconfig/scripts/python/env_manager/path_manager_backend.py +47 -0
  87. machineconfig/scripts/python/env_manager/path_manager_tui.py +228 -0
  88. machineconfig/scripts/python/explore.py +49 -0
  89. machineconfig/scripts/python/fire_jobs.py +115 -152
  90. machineconfig/scripts/python/ftpx.py +29 -24
  91. machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_crush.json +14 -0
  92. machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_crush.py +37 -0
  93. machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_cursor_agents.py +22 -0
  94. machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_gemini.py +42 -0
  95. machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_qwen.py +30 -0
  96. machineconfig/scripts/python/{fire_agents_help_launch.py → helpers_agents/fire_agents_help_launch.py} +34 -44
  97. machineconfig/scripts/python/helpers_agents/fire_agents_helper_types.py +34 -0
  98. machineconfig/scripts/python/helpers_agents/templates/prompt.txt +6 -0
  99. machineconfig/scripts/python/helpers_agents/templates/template.ps1 +14 -0
  100. machineconfig/scripts/python/helpers_agents/templates/template.sh +24 -0
  101. machineconfig/scripts/python/{cloud_copy.py → helpers_cloud/cloud_copy.py} +30 -23
  102. machineconfig/scripts/python/{cloud_mount.py → helpers_cloud/cloud_mount.py} +10 -18
  103. machineconfig/scripts/python/{cloud_sync.py → helpers_cloud/cloud_sync.py} +12 -18
  104. machineconfig/scripts/python/{helpers → helpers_cloud}/helpers2.py +1 -1
  105. machineconfig/scripts/python/helpers_croshell/crosh.py +39 -0
  106. machineconfig/scripts/python/{start_slidev.py → helpers_croshell/start_slidev.py} +2 -2
  107. machineconfig/scripts/python/helpers_devops/cli_config.py +95 -0
  108. machineconfig/scripts/python/helpers_devops/cli_config_dotfile.py +89 -0
  109. machineconfig/scripts/python/helpers_devops/cli_data.py +25 -0
  110. machineconfig/scripts/python/helpers_devops/cli_nw.py +134 -0
  111. machineconfig/scripts/python/helpers_devops/cli_repos.py +182 -0
  112. machineconfig/scripts/python/helpers_devops/cli_self.py +134 -0
  113. machineconfig/scripts/python/helpers_devops/cli_share_file.py +137 -0
  114. machineconfig/scripts/python/helpers_devops/cli_share_server.py +141 -0
  115. machineconfig/scripts/python/{share_terminal.py → helpers_devops/cli_terminal.py} +35 -23
  116. machineconfig/scripts/python/helpers_devops/cli_utils.py +96 -0
  117. machineconfig/scripts/python/{devops_backup_retrieve.py → helpers_devops/devops_backup_retrieve.py} +7 -10
  118. machineconfig/scripts/python/helpers_devops/devops_status.py +511 -0
  119. machineconfig/scripts/python/{devops_update_repos.py → helpers_devops/devops_update_repos.py} +68 -49
  120. machineconfig/scripts/python/helpers_devops/themes/choose_pwsh_theme.ps1 +81 -0
  121. machineconfig/scripts/python/helpers_devops/themes/choose_starship_theme.bash +3 -0
  122. machineconfig/scripts/python/{choose_wezterm_theme.py → helpers_devops/themes/choose_wezterm_theme.py} +2 -2
  123. machineconfig/scripts/python/helpers_fire_command/__init__.py +0 -0
  124. machineconfig/scripts/python/{helpers/helpers4.py → helpers_fire_command/file_wrangler.py} +56 -20
  125. machineconfig/scripts/python/{fire_jobs_args_helper.py → helpers_fire_command/fire_jobs_args_helper.py} +5 -1
  126. machineconfig/scripts/python/{fire_jobs_route_helper.py → helpers_fire_command/fire_jobs_route_helper.py} +47 -2
  127. machineconfig/scripts/python/helpers_fire_command/fire_jobs_streamlit_helper.py +0 -0
  128. machineconfig/scripts/python/helpers_msearch/__init__.py +5 -0
  129. machineconfig/scripts/{linux → python/helpers_msearch/scripts_linux}/fzfag +1 -1
  130. machineconfig/scripts/{linux → python/helpers_msearch/scripts_linux}/fzfg +1 -1
  131. machineconfig/scripts/{linux → python/helpers_msearch/scripts_linux}/fzfrga +1 -1
  132. machineconfig/scripts/python/helpers_navigator/__init__.py +20 -0
  133. machineconfig/scripts/python/helpers_navigator/command_builder.py +111 -0
  134. machineconfig/scripts/python/helpers_navigator/command_detail.py +44 -0
  135. machineconfig/scripts/python/helpers_navigator/command_tree.py +588 -0
  136. machineconfig/scripts/python/helpers_navigator/data_models.py +28 -0
  137. machineconfig/scripts/python/helpers_navigator/main_app.py +272 -0
  138. machineconfig/scripts/python/helpers_navigator/search_bar.py +15 -0
  139. machineconfig/scripts/python/helpers_repos/action.py +209 -0
  140. machineconfig/scripts/python/helpers_repos/action_helper.py +150 -0
  141. machineconfig/scripts/python/{repos_helper_clone.py → helpers_repos/clone.py} +2 -3
  142. machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py +218 -0
  143. machineconfig/scripts/python/{count_lines.py → helpers_repos/count_lines.py} +10 -10
  144. machineconfig/scripts/python/helpers_repos/count_lines_frontend.py +17 -0
  145. machineconfig/scripts/python/{repos_helper.py → helpers_repos/entrypoint.py} +9 -17
  146. machineconfig/scripts/python/helpers_repos/grource.py +340 -0
  147. machineconfig/scripts/python/{repos_helper_record.py → helpers_repos/record.py} +4 -3
  148. machineconfig/scripts/python/helpers_repos/sync.py +66 -0
  149. machineconfig/scripts/python/{repos_helper_update.py → helpers_repos/update.py} +3 -3
  150. machineconfig/scripts/python/helpers_sessions/__init__.py +0 -0
  151. machineconfig/scripts/python/helpers_sessions/sessions_multiprocess.py +58 -0
  152. machineconfig/scripts/python/helpers_utils/download.py +152 -0
  153. machineconfig/scripts/python/helpers_utils/path.py +108 -0
  154. machineconfig/scripts/python/interactive.py +64 -84
  155. machineconfig/scripts/python/machineconfig.py +63 -0
  156. machineconfig/scripts/python/msearch.py +21 -0
  157. machineconfig/scripts/python/nw/__init__.py +0 -0
  158. machineconfig/scripts/python/{devops_add_identity.py → nw/devops_add_identity.py} +0 -2
  159. machineconfig/scripts/python/{devops_add_ssh_key.py → nw/devops_add_ssh_key.py} +73 -43
  160. machineconfig/scripts/{linux → python/nw}/mount_nfs +1 -1
  161. machineconfig/scripts/python/{mount_nfs.py → nw/mount_nfs.py} +3 -3
  162. machineconfig/scripts/{linux → python/nw}/mount_nw_drive +1 -2
  163. machineconfig/scripts/python/{mount_ssh.py → nw/mount_ssh.py} +3 -3
  164. machineconfig/scripts/python/{onetimeshare.py → nw/onetimeshare.py} +0 -1
  165. machineconfig/scripts/python/nw/ssh_debug_linux.py +391 -0
  166. machineconfig/scripts/python/nw/ssh_debug_windows.py +338 -0
  167. machineconfig/scripts/python/{wifi_conn.py → nw/wifi_conn.py} +1 -53
  168. machineconfig/scripts/python/{wsl_windows_transfer.py → nw/wsl_windows_transfer.py} +5 -4
  169. machineconfig/scripts/python/sessions.py +64 -44
  170. machineconfig/scripts/python/terminal.py +127 -0
  171. machineconfig/scripts/python/utils.py +66 -0
  172. machineconfig/scripts/windows/{mount_nfs.ps1 → mounts/mount_nfs.ps1} +1 -3
  173. machineconfig/scripts/windows/{mount_ssh.ps1 → mounts/mount_ssh.ps1} +1 -1
  174. machineconfig/scripts/windows/{share_smb.ps1 → mounts/share_smb.ps1} +0 -6
  175. machineconfig/scripts/windows/wrap_mcfg.ps1 +60 -0
  176. machineconfig/settings/broot/br.sh +0 -4
  177. machineconfig/settings/broot/conf.toml +1 -1
  178. machineconfig/settings/helix/config.toml +16 -0
  179. machineconfig/settings/helix/languages.toml +13 -4
  180. machineconfig/settings/helix/yazi-picker.sh +12 -0
  181. machineconfig/settings/lf/linux/exe/lfcd.sh +1 -0
  182. machineconfig/settings/lf/linux/exe/previewer.sh +9 -3
  183. machineconfig/settings/lf/linux/lfrc +10 -12
  184. machineconfig/settings/lf/windows/fzf_edit.ps1 +2 -2
  185. machineconfig/settings/lf/windows/lfrc +18 -38
  186. machineconfig/settings/lf/windows/mkfile.ps1 +1 -1
  187. machineconfig/settings/linters/.ruff.toml +1 -1
  188. machineconfig/settings/lvim/windows/archive/config_additional.lua +0 -6
  189. machineconfig/settings/marimo/marimo.toml +80 -0
  190. machineconfig/settings/marimo/snippets/globalize.py +34 -0
  191. machineconfig/settings/pistol/pistol.conf +1 -1
  192. machineconfig/settings/shells/bash/init.sh +55 -31
  193. machineconfig/settings/shells/nushell/config.nu +1 -34
  194. machineconfig/settings/shells/nushell/init.nu +127 -0
  195. machineconfig/settings/shells/pwsh/init.ps1 +60 -43
  196. machineconfig/settings/shells/starship/starship.toml +16 -0
  197. machineconfig/settings/shells/wezterm/wezterm.lua +2 -0
  198. machineconfig/settings/shells/wt/settings.json +32 -17
  199. machineconfig/settings/shells/zsh/init.sh +89 -0
  200. machineconfig/settings/svim/linux/init.toml +0 -4
  201. machineconfig/settings/svim/windows/init.toml +0 -3
  202. machineconfig/settings/yazi/init.lua +57 -0
  203. machineconfig/settings/yazi/keymap_linux.toml +79 -0
  204. machineconfig/settings/yazi/keymap_windows.toml +78 -0
  205. machineconfig/settings/yazi/shell/yazi_cd.ps1 +33 -0
  206. machineconfig/settings/yazi/shell/yazi_cd.sh +8 -0
  207. machineconfig/settings/yazi/yazi.toml +13 -0
  208. machineconfig/setup_linux/__init__.py +10 -0
  209. machineconfig/setup_linux/apps_desktop.sh +89 -0
  210. machineconfig/setup_linux/apps_gui.sh +64 -0
  211. machineconfig/setup_linux/{nix → others}/cli_installation.sh +9 -29
  212. machineconfig/setup_linux/ssh/openssh_all.sh +25 -0
  213. machineconfig/setup_linux/ssh/openssh_wsl.sh +38 -0
  214. machineconfig/setup_linux/uv.sh +15 -0
  215. machineconfig/setup_linux/web_shortcuts/interactive.sh +26 -6
  216. machineconfig/setup_mac/__init__.py +16 -0
  217. machineconfig/setup_mac/apps_gui.sh +248 -0
  218. machineconfig/setup_mac/ssh/openssh_setup.sh +114 -0
  219. machineconfig/setup_mac/uv.sh +36 -0
  220. machineconfig/setup_windows/__init__.py +8 -0
  221. machineconfig/setup_windows/others/power_options.ps1 +7 -0
  222. machineconfig/setup_windows/ssh/add-sshkey.ps1 +29 -0
  223. machineconfig/setup_windows/ssh/add_identity.ps1 +11 -0
  224. machineconfig/setup_windows/ssh/openssh-server.ps1 +37 -0
  225. machineconfig/setup_windows/uv.ps1 +10 -0
  226. machineconfig/setup_windows/web_shortcuts/interactive.ps1 +27 -10
  227. machineconfig/setup_windows/web_shortcuts/quick_init.ps1 +16 -0
  228. machineconfig/utils/accessories.py +7 -5
  229. machineconfig/utils/cloud/onedrive/README.md +139 -0
  230. machineconfig/utils/code.py +133 -106
  231. machineconfig/utils/files/art/fat_croco.txt +10 -0
  232. machineconfig/utils/files/art/halfwit_croco.txt +9 -0
  233. machineconfig/utils/files/art/happy_croco.txt +22 -0
  234. machineconfig/utils/files/art/water_croco.txt +11 -0
  235. machineconfig/utils/files/ascii_art.py +1 -1
  236. machineconfig/utils/files/dbms.py +257 -0
  237. machineconfig/utils/files/headers.py +11 -14
  238. machineconfig/utils/files/ouch/__init__.py +0 -0
  239. machineconfig/utils/files/ouch/decompress.py +45 -0
  240. machineconfig/utils/files/read.py +10 -18
  241. machineconfig/utils/installer_utils/installer_class.py +68 -126
  242. machineconfig/utils/installer_utils/{installer.py → installer_cli.py} +109 -117
  243. machineconfig/utils/installer_utils/{installer_abc.py → installer_locator_utils.py} +31 -81
  244. machineconfig/utils/{installer.py → installer_utils/installer_runner.py} +44 -74
  245. machineconfig/utils/io.py +77 -23
  246. machineconfig/utils/links.py +254 -162
  247. machineconfig/utils/meta.py +255 -0
  248. machineconfig/utils/notifications.py +1 -1
  249. machineconfig/utils/options.py +13 -3
  250. machineconfig/utils/path_extended.py +46 -100
  251. machineconfig/utils/path_helper.py +75 -22
  252. machineconfig/utils/procs.py +50 -70
  253. machineconfig/utils/scheduler.py +94 -97
  254. machineconfig/utils/scheduling.py +0 -3
  255. machineconfig/utils/schemas/fire_agents/fire_agents_input.py +1 -1
  256. machineconfig/utils/schemas/layouts/layout_types.py +1 -1
  257. machineconfig/utils/source_of_truth.py +3 -6
  258. machineconfig/utils/ssh.py +742 -264
  259. machineconfig/utils/ssh_utils/utils.py +0 -0
  260. machineconfig/utils/terminal.py +2 -113
  261. machineconfig/utils/tst.py +20 -0
  262. machineconfig/utils/upgrade_packages.py +109 -28
  263. machineconfig/utils/ve.py +11 -4
  264. machineconfig-7.66.dist-info/METADATA +124 -0
  265. machineconfig-7.66.dist-info/RECORD +451 -0
  266. machineconfig-7.66.dist-info/entry_points.txt +15 -0
  267. machineconfig/cluster/sessions_managers/ffile.py +0 -4
  268. machineconfig/jobs/installer/linux_scripts/pgsql.sh +0 -49
  269. machineconfig/jobs/installer/linux_scripts/timescaledb.sh +0 -85
  270. machineconfig/jobs/linux/msc/cli_agents.sh +0 -16
  271. machineconfig/jobs/python/python_ve_symlink.py +0 -37
  272. machineconfig/jobs/python/vscode/api.py +0 -57
  273. machineconfig/jobs/python/vscode/sync_code.py +0 -73
  274. machineconfig/jobs/windows/archive/archive_pygraphviz.ps1 +0 -14
  275. machineconfig/jobs/windows/start_terminal.ps1 +0 -6
  276. machineconfig/jobs/windows/startup_file.cmd +0 -2
  277. machineconfig/profile/create.py +0 -303
  278. machineconfig/profile/shell.py +0 -176
  279. machineconfig/scripts/cloud/init.sh +0 -119
  280. machineconfig/scripts/linux/agents +0 -2
  281. machineconfig/scripts/linux/choose_wezterm_theme +0 -3
  282. machineconfig/scripts/linux/cloud_copy +0 -2
  283. machineconfig/scripts/linux/cloud_mount +0 -2
  284. machineconfig/scripts/linux/cloud_repo_sync +0 -2
  285. machineconfig/scripts/linux/cloud_sync +0 -2
  286. machineconfig/scripts/linux/croshell +0 -3
  287. machineconfig/scripts/linux/devops +0 -2
  288. machineconfig/scripts/linux/fire +0 -2
  289. machineconfig/scripts/linux/ftpx +0 -2
  290. machineconfig/scripts/linux/fzf2g +0 -21
  291. machineconfig/scripts/linux/fzffg +0 -25
  292. machineconfig/scripts/linux/gh_models +0 -2
  293. machineconfig/scripts/linux/initai +0 -2
  294. machineconfig/scripts/linux/kill_process +0 -2
  295. machineconfig/scripts/linux/scheduler +0 -2
  296. machineconfig/scripts/linux/sessions +0 -2
  297. machineconfig/scripts/linux/share_smb +0 -1
  298. machineconfig/scripts/linux/start_slidev +0 -2
  299. machineconfig/scripts/linux/start_terminals +0 -3
  300. machineconfig/scripts/linux/warp-cli.sh +0 -122
  301. machineconfig/scripts/linux/wifi_conn +0 -2
  302. machineconfig/scripts/linux/z_ls +0 -104
  303. machineconfig/scripts/python/ai/solutions/copilot/prompts/allLintersAndTypeCheckers.prompt.md +0 -5
  304. machineconfig/scripts/python/cloud_repo_sync.py +0 -190
  305. machineconfig/scripts/python/count_lines_frontend.py +0 -16
  306. machineconfig/scripts/python/dotfile.py +0 -78
  307. machineconfig/scripts/python/fire_agents_helper_types.py +0 -12
  308. machineconfig/scripts/python/get_zellij_cmd.py +0 -15
  309. machineconfig/scripts/python/gh_models.py +0 -104
  310. machineconfig/scripts/python/helpers/repo_sync_helpers.py +0 -116
  311. machineconfig/scripts/python/repos.py +0 -132
  312. machineconfig/scripts/python/repos_helper_action.py +0 -378
  313. machineconfig/scripts/python/snapshot.py +0 -25
  314. machineconfig/scripts/python/start_terminals.py +0 -121
  315. machineconfig/scripts/python/t4.py +0 -17
  316. machineconfig/scripts/windows/agents.ps1 +0 -1
  317. machineconfig/scripts/windows/choose_wezterm_theme.ps1 +0 -1
  318. machineconfig/scripts/windows/cloud_copy.ps1 +0 -1
  319. machineconfig/scripts/windows/cloud_mount.ps1 +0 -1
  320. machineconfig/scripts/windows/cloud_repo_sync.ps1 +0 -1
  321. machineconfig/scripts/windows/cloud_sync.ps1 +0 -1
  322. machineconfig/scripts/windows/croshell.ps1 +0 -1
  323. machineconfig/scripts/windows/devops.ps1 +0 -1
  324. machineconfig/scripts/windows/dotfile.ps1 +0 -1
  325. machineconfig/scripts/windows/fire.ps1 +0 -1
  326. machineconfig/scripts/windows/ftpx.ps1 +0 -1
  327. machineconfig/scripts/windows/gpt.ps1 +0 -1
  328. machineconfig/scripts/windows/grep.ps1 +0 -2
  329. machineconfig/scripts/windows/initai.ps1 +0 -1
  330. machineconfig/scripts/windows/kill_process.ps1 +0 -1
  331. machineconfig/scripts/windows/nano.ps1 +0 -3
  332. machineconfig/scripts/windows/pomodoro.ps1 +0 -1
  333. machineconfig/scripts/windows/reload_path.ps1 +0 -3
  334. machineconfig/scripts/windows/scheduler.ps1 +0 -1
  335. machineconfig/scripts/windows/sessions.ps1 +0 -1
  336. machineconfig/scripts/windows/snapshot.ps1 +0 -1
  337. machineconfig/scripts/windows/start_slidev.ps1 +0 -1
  338. machineconfig/scripts/windows/start_terminals.ps1 +0 -1
  339. machineconfig/scripts/windows/wifi_conn.ps1 +0 -2
  340. machineconfig/scripts/windows/wsl_rdp_windows_port_forwarding.ps1 +0 -46
  341. machineconfig/scripts/windows/wsl_ssh_windows_port_forwarding.ps1 +0 -76
  342. machineconfig/settings/lf/linux/exe/fzf_nano.sh +0 -16
  343. machineconfig/setup_linux/others/openssh-server_add_pub_key.sh +0 -57
  344. machineconfig/setup_linux/web_shortcuts/croshell.sh +0 -11
  345. machineconfig/setup_linux/web_shortcuts/ssh.sh +0 -52
  346. machineconfig/setup_windows/web_shortcuts/all.ps1 +0 -18
  347. machineconfig/setup_windows/web_shortcuts/ascii_art.ps1 +0 -36
  348. machineconfig/setup_windows/web_shortcuts/croshell.ps1 +0 -16
  349. machineconfig/setup_windows/web_shortcuts/ssh.ps1 +0 -11
  350. machineconfig/utils/ai/generate_file_checklist.py +0 -68
  351. machineconfig-5.15.dist-info/METADATA +0 -188
  352. machineconfig-5.15.dist-info/RECORD +0 -415
  353. machineconfig-5.15.dist-info/entry_points.txt +0 -18
  354. machineconfig/cluster/sessions_managers/{utils → helpers}/load_balancer_helper.py +0 -0
  355. machineconfig/scripts/linux/{share_nfs → other/share_nfs} +0 -0
  356. machineconfig/scripts/linux/{start_docker → other/start_docker} +0 -0
  357. machineconfig/scripts/linux/{switch_ip → other/switch_ip} +0 -0
  358. machineconfig/{jobs/python → scripts/python/helpers_agents}/__init__.py +0 -0
  359. machineconfig/scripts/python/{helpers → helpers_agents/agentic_frameworks}/__init__.py +0 -0
  360. machineconfig/scripts/python/{fire_agents_help_search.py → helpers_agents/fire_agents_help_search.py} +0 -0
  361. machineconfig/scripts/python/{fire_agents_load_balancer.py → helpers_agents/fire_agents_load_balancer.py} +0 -0
  362. machineconfig/{jobs/windows/msc/cli_agents.bat → scripts/python/helpers_cloud/__init__.py} +0 -0
  363. machineconfig/scripts/python/{helpers → helpers_cloud}/cloud_helpers.py +1 -1
  364. /machineconfig/scripts/python/{helpers → helpers_cloud}/helpers5.py +0 -0
  365. /machineconfig/{jobs/windows/msc/cli_agents.ps1 → scripts/python/helpers_croshell/__init__.py} +0 -0
  366. /machineconfig/scripts/python/{pomodoro.py → helpers_croshell/pomodoro.py} +0 -0
  367. /machineconfig/scripts/python/{scheduler.py → helpers_croshell/scheduler.py} +0 -0
  368. /machineconfig/scripts/python/{viewer.py → helpers_croshell/viewer.py} +0 -0
  369. /machineconfig/scripts/python/{viewer_template.py → helpers_croshell/viewer_template.py} +0 -0
  370. /machineconfig/scripts/python/{fire_jobs_streamlit_helper.py → helpers_devops/__init__.py} +0 -0
  371. /machineconfig/scripts/{windows/share_nfs.ps1 → python/helpers_devops/themes/__init__.py} +0 -0
  372. /machineconfig/{settings/yazi/keymap.toml → scripts/python/helpers_devops/themes/choose_starship_theme.ps1} +0 -0
  373. /machineconfig/scripts/python/{cloud_manager.py → helpers_fire_command/cloud_manager.py} +0 -0
  374. /machineconfig/scripts/{linux → python/helpers_msearch/scripts_linux}/skrg +0 -0
  375. /machineconfig/scripts/{windows → python/helpers_msearch/scripts_windows}/fzfb.ps1 +0 -0
  376. /machineconfig/scripts/{windows → python/helpers_msearch/scripts_windows}/fzfg.ps1 +0 -0
  377. /machineconfig/scripts/{windows → python/helpers_msearch/scripts_windows}/fzfrga.bat +0 -0
  378. /machineconfig/scripts/{linux → python/nw}/mount_drive +0 -0
  379. /machineconfig/scripts/python/{mount_nw_drive.py → nw/mount_nw_drive.py} +0 -0
  380. /machineconfig/scripts/{linux → python/nw}/mount_smb +0 -0
  381. /machineconfig/scripts/windows/{mount_nw.ps1 → mounts/mount_nw.ps1} +0 -0
  382. /machineconfig/scripts/windows/{mount_smb.ps1 → mounts/mount_smb.ps1} +0 -0
  383. /machineconfig/scripts/windows/{share_cloud.cmd → mounts/share_cloud.cmd} +0 -0
  384. /machineconfig/scripts/windows/{unlock_bitlocker.ps1 → mounts/unlock_bitlocker.ps1} +0 -0
  385. /machineconfig/setup_linux/{web_shortcuts → others}/android.sh +0 -0
  386. /machineconfig/{jobs/windows/archive → setup_windows/ssh}/openssh-server_add_key.ps1 +0 -0
  387. /machineconfig/{jobs/windows/archive → setup_windows/ssh}/openssh-server_copy-ssh-id.ps1 +0 -0
  388. {machineconfig-5.15.dist-info → machineconfig-7.66.dist-info}/WHEEL +0 -0
  389. {machineconfig-5.15.dist-info → machineconfig-7.66.dist-info}/top_level.txt +0 -0
@@ -1,46 +0,0 @@
1
-
2
-
3
- $port_num = 3391
4
- wsl.exe -u root service xrdp start # added by me, to ensure sshd is fired.
5
- wsl.exe -u root service xrdp status
6
- # If elevation needed, start new process
7
- If (-NOT ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator))
8
- {
9
- # Relaunch as an elevated process:
10
- Start-Process powershell.exe "-File",('"{0}"' -f $MyInvocation.MyCommand.Path),"$Args runas" -Verb RunAs
11
- exit
12
- }
13
-
14
-
15
- # Check WSL ip address
16
- wsl hostname -I | Set-Variable -Name "WSL"
17
- $found = $WSL -match '\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}';
18
- if (-not $found) {
19
- echo "WSL2 cannot be found. Terminate script.";
20
- exit;
21
- }
22
-
23
-
24
- # Remove and Create NetFireWallRule
25
- Remove-NetFireWallRule -DisplayName 'WSL 2 Firewall Unlock';
26
- if ($Args[0] -ne "delete") {
27
- New-NetFirewallRule -DisplayName 'WSL 2 Firewall Unlock2' -Direction Outbound -LocalPort ($port_num) -Action Allow -Protocol TCP;
28
- New-NetFirewallRule -DisplayName 'WSL 2 Firewall Unlock2' -Direction Inbound -LocalPort ($port_num) -Action Allow -Protocol TCP;
29
- }
30
-
31
- # Add each port into portproxy
32
- $Addr = "0.0.0.0"
33
- iex "netsh interface portproxy delete v4tov4 listenaddress=$Addr listenport=$port_num | Out-Null";
34
- if ($Args[0] -ne "delete") {
35
- iex "netsh interface portproxy add v4tov4 listenaddress=$Addr listenport=$port_num connectaddress=$WSL connectport=$port_num | Out-Null";
36
- }
37
-
38
-
39
- # Display all portproxy information
40
- netsh interface portproxy show v4tov4;
41
-
42
- # Give user to chance to see above list when relaunched start
43
- If ($Args[0] -eq "runas" -Or $Args[1] -eq "runas") {
44
- Write-Host -NoNewLine 'Press any key to close! ';
45
- $null = $Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown');
46
- }
@@ -1,76 +0,0 @@
1
-
2
- # https://gist.github.com/daehahn/497fa04c0156b1a762c70ff3f9f7edae?WT.mc_id=-blog-scottha
3
- # https://www.hanselman.com/blog/how-to-ssh-into-wsl2-on-windows-10-from-an-external-machine
4
- # https://learn.microsoft.com/en-us/windows/wsl/networking#accessing-a-wsl-2-distribution-from-your-local-area-network-lan
5
- # https://www.youtube.com/watch?v=PFI0IQZ9Z2I
6
-
7
- # WSL2 network port forwarding script v1
8
- # for enable script, 'Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope CurrentUser' in Powershell,
9
- # for delete exist rules and ports use 'delete' as parameter, for show ports use 'list' as parameter.
10
- # written by Daehyuk Ahn, Aug-1-2020
11
-
12
- Param($p = 2223)
13
- $port_num = $p
14
-
15
- #If ($Args[0] -eq $null) {
16
- # $port_num = 2222;
17
- # exit;
18
- #}
19
- #else {
20
- # $port_num = $Args[0];
21
- #}
22
- # Display all portproxy information
23
-
24
-
25
- If ($Args[0] -eq "list") {
26
- netsh interface portproxy show v4tov4;
27
- exit;
28
- }
29
-
30
- wsl.exe -u root service ssh start # added by me, to ensure sshd is fired.
31
- wsl.exe -u root service ssh status
32
-
33
-
34
- # If elevation needed, start new process
35
- If (-NOT ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator))
36
- {
37
- # Relaunch as an elevated process:
38
- Start-Process powershell.exe "-File",('"{0}"' -f $MyInvocation.MyCommand.Path),"$Args runas" -Verb RunAs
39
- exit
40
- }
41
-
42
- # You should modify '$Ports' for your applications
43
- $Ports = ($port_num) # (22,80,443,8080)
44
-
45
- # Check WSL ip address
46
- wsl hostname -I | Set-Variable -Name "WSL"
47
- $found = $WSL -match '\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}';
48
- if (-not $found) {
49
- echo "WSL2 cannot be found. Terminate script.";
50
- exit;
51
- }
52
-
53
- # Remove and Create NetFireWallRule
54
- Remove-NetFireWallRule -DisplayName 'WSL 2 Firewall Unlock';
55
- if ($Args[0] -ne "delete") {
56
- New-NetFirewallRule -DisplayName 'WSL 2 Firewall Unlock' -Direction Outbound -LocalPort $Ports -Action Allow -Protocol TCP;
57
- New-NetFirewallRule -DisplayName 'WSL 2 Firewall Unlock' -Direction Inbound -LocalPort $Ports -Action Allow -Protocol TCP;
58
- }
59
-
60
- # Add each port into portproxy
61
- $Addr = "0.0.0.0"
62
- Foreach ($Port in $Ports) {
63
- iex "netsh interface portproxy delete v4tov4 listenaddress=$Addr listenport=$Port | Out-Null";
64
- if ($Args[0] -ne "delete") {
65
- iex "netsh interface portproxy add v4tov4 listenaddress=$Addr listenport=$Port connectaddress=$WSL connectport=$Port | Out-Null";
66
- }
67
- }
68
-
69
- # Display all portproxy information
70
- netsh interface portproxy show v4tov4;
71
-
72
- # Give user to chance to see above list when relaunched start
73
- If ($Args[0] -eq "runas" -Or $Args[1] -eq "runas") {
74
- Write-Host -NoNewLine 'Press any key to close! ';
75
- $null = $Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown');
76
- }
@@ -1,16 +0,0 @@
1
- #!/bin/sh
2
- # 🔍 Fuzzy Finder with Nano Editor Integration
3
-
4
- # 📝 Open selected file in nano
5
- nano (~/scripts/fzf2g) # space used for precedence in execution
6
-
7
- # 💡 Alternative commands (commented):
8
- # 🔎 FZF with bat preview:
9
- # fzf --ansi --preview-window 'right:60%' --preview 'bat --color=always --style=numbers,grid,header --line-range :300 {}'
10
-
11
- # 🪟 Windows Git Bash version:
12
- # & "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 {}')
13
-
14
- # 📜 PowerShell script integration:
15
- # fzf | ~/scripts/nano.ps1
16
-
@@ -1,57 +0,0 @@
1
- #!/usr/bin/bash
2
- #=======================================================================
3
- # 🔑 SSH PUBLIC KEY AUTHENTICATION SETUP
4
- #=======================================================================
5
- # This script helps set up passwordless SSH authentication to remote Linux machines
6
-
7
- echo """#=======================================================================
8
- ℹ️ PASSWORDLESS SSH SETUP | Manual instructions for key deployment
9
- #=======================================================================
10
- """
11
-
12
- echo """🔐 There are two methods to copy your public key to a remote server:
13
-
14
- 📌 METHOD 1: Using ssh-copy-id (Linux clients only)
15
- ssh-copy-id username@hostname
16
-
17
- 📌 METHOD 2: Manual process (For Windows clients)
18
- Windows PowerShell command:
19
- type $env:USERPROFILE\.ssh\id_rsa.pub | ssh username@hostname "cat >> .ssh/authorized_keys"
20
-
21
- 📌 METHOD 3: Using SFTP (detailed below)
22
- """
23
-
24
- echo """#=======================================================================
25
- 📋 MANUAL SFTP PROCESS | Step-by-step instructions
26
- #=======================================================================
27
-
28
- 1️⃣ Connect to the server via SFTP (you'll need to enter password once):
29
- sftp username@hostname
30
-
31
- 2️⃣ Create .ssh directory on remote server if it doesn't exist:
32
- mkdir -p .ssh
33
-
34
- 3️⃣ Navigate to the .ssh directory:
35
- cd .ssh
36
-
37
- 4️⃣ Upload your public key:
38
- put /path/to/your/local/id_rsa.pub
39
-
40
- 5️⃣ Exit SFTP:
41
- exit
42
-
43
- 6️⃣ SSH to the server (password required this one last time):
44
- ssh username@hostname
45
-
46
- 7️⃣ Append the public key to authorized_keys:
47
- cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
48
-
49
- 8️⃣ Set proper permissions:
50
- chmod 600 ~/.ssh/authorized_keys
51
- chmod 700 ~/.ssh
52
-
53
- 9️⃣ Test the connection in a new terminal (should not ask for password)
54
- """
55
-
56
- # Note: This script contains instructions only - you need to manually follow the steps
57
- # replacing 'username@hostname' with your actual username and server hostname
@@ -1,11 +0,0 @@
1
- #!/usr/bin/bash
2
-
3
- curl bit.ly/cfgvelinux -L | bash
4
- curl bit.ly/cfgreposlinux -L | bash
5
-
6
- cd $HOME/code/machineconfig
7
- $HOME/.local/bin/uv sync --no-dev
8
- $HOME/.local/bin/uv pip install -e ../crocodile
9
-
10
- uv run --no-dev --project $HOME/code/machineconfig -m fire machineconfig.profile.create main --choice=all
11
- . ~/.bashrc
@@ -1,52 +0,0 @@
1
- #!/usr/bin/bash
2
-
3
- echo """#=======================================================================
4
- 🔑 SSH KEY SETUP | Configuring SSH public key authentication
5
- #=======================================================================
6
- """
7
-
8
- if [ -z "$pubkey_url" ]; then
9
- echo """ 🔍 No public key URL specified, using default GitHub URL
10
- 🔗 URL: https://github.com/thisismygitrepo.keys
11
- """
12
- pubkey_url='https://github.com/thisismygitrepo.keys' # (CHANGE APPROPRIATELY)
13
- fi
14
-
15
- if [ -z "$pubkey_string" ]; then
16
- echo """ 📥 Fetching public key from URL...
17
- """
18
- export pubkey_string=$(curl --silent $pubkey_url)
19
- fi
20
-
21
- echo """#=======================================================================
22
- 🛠️ SSH SERVER INSTALLATION | Standard SSH setup
23
- #=======================================================================
24
-
25
- Setting up OpenSSH server...
26
- """
27
- curl https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_linux/openssh_all.sh | sudo bash
28
-
29
- echo """#=======================================================================
30
- 🔄 WSL CONFIGURATION | Additional WSL-specific setup
31
- #=======================================================================
32
- """
33
-
34
- # For WSL only, also run the following:
35
- if [ -z "$port" ]; then
36
- echo """ 🔌 No port specified, using default port 2222
37
- """
38
- export port=2222
39
- fi
40
-
41
- echo """📡 Setting up WSL-specific SSH configuration on port $port...
42
- """
43
- curl https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_linux/openssh_wsl.sh | sudo bash
44
-
45
- echo """#=======================================================================
46
- ✅ SETUP COMPLETE | SSH server configured successfully
47
- #=======================================================================
48
-
49
- 🔒 SSH server is now ready to use
50
- 🔑 Authorized key has been configured
51
- 🔌 For WSL: Server configured to run on port $port
52
- """
@@ -1,18 +0,0 @@
1
-
2
- # apps
3
- # Invoke-WebRequest https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_windows/apps.ps1 | Invoke-Expression
4
- # virtual enviornment
5
- # Invoke-WebRequest https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_windows/ve.ps1 | Invoke-Expression
6
- (iwr bit.ly/cfgvewindows).Content | iex
7
-
8
- # pwsh profile
9
- $machineconfig = (& "$HOME\code\machineconfig\.venv\Scripts\python.exe" -c "print(__import__('machineconfig').__file__[:-12])")
10
- # . $machineconfig/setup_windows/wt_and_pwsh.ps1 # experimental
11
- # OR: python -c "from machineconfig.setup_windows.wt_and_pwsh.setup_pwsh_theme import install_nerd_fonts; install_nerd_fonts()"
12
-
13
- # & "$HOME\code\machineconfig\.venv\Scripts\activate.ps1"
14
- # python -m fire machineconfig.profile.create_hardlinks main --choice=all
15
- # deactivate
16
-
17
- # devapps:
18
- . "$machineconfig\setup_windows\devapps.ps1"
@@ -1,36 +0,0 @@
1
-
2
-
3
- # below, check if npm is installed @ C:\Program Files\nodejs\npm
4
- if (Test-Path -Path "C:\Program Files\nodejs\npm") {
5
- Write-Output "npm already installed ✅"
6
- } else {
7
- winget install --Id CoreyButler.NVMforWindows --source winget --scope user
8
- }
9
-
10
-
11
- # test path ~/AppData/Roaming/npm/lolcatjs then install if not found
12
- if (Test-Path -Path "~/AppData/Roaming/npm/lolcatjs") { # may be ensure that utility.cmd is available
13
- Write-Output "lolcatjs already installed ✅"
14
- } else {
15
- # install nodejs
16
- npm install -g lolcatjs # -g is essential to have cli utility as well as js library.
17
- }
18
-
19
-
20
- # install figlet if not found
21
- if (Test-Path -Path "~/AppData/Roaming/npm/figlet") { # may be ensure that utility.cmd is available
22
- # all good
23
- } else {
24
- Write-Output "figlet already installed ✅"
25
- npm install -g figlet-cli # -g is essential to have cli utility as well as js library.
26
- }
27
-
28
-
29
- # install boxes if not found
30
- if (Test-Path -Path "~/AppData/Local/Microsoft/WindowsApps/boxes.exe") { # may be ensure that utility.cmd is available
31
- Write-Output "boxes already installed ✅"
32
- } else {
33
- . "$env:USERPROFILE\code\machineconfig\.venv\Scripts\Activate.ps1"
34
- python -m fire machineconfig.jobs.python_windows_installers.boxes main
35
- deactivate
36
- }
@@ -1,16 +0,0 @@
1
-
2
- # with admin prviliage, run this in order to minimally install croshell.
3
-
4
- # virtual enviornment
5
- # Invoke-WebRequest https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_windows/ve.ps1 | Invoke-Expression
6
- (iwr bit.ly/cfgvewindows).Content | iex
7
-
8
- # dev repos
9
- # Invoke-WebRequest https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_windows/repos.ps1 | Invoke-Expression
10
- (iwr bit.ly/cfgreposwindows).Content | iex
11
-
12
- # symlinks
13
- . $HOME/code/machineconfig/src/machineconfig/setup_windows/symlinks.ps1
14
-
15
- # windows terminal and powershell
16
- (iwr bit.ly/cfgwt).Content | iex
@@ -1,11 +0,0 @@
1
-
2
- # NOT INTENDED FOR PUBLIC USE.
3
-
4
- if (!$pubkey_string) {
5
- $pubkey_url = 'https://github.com/thisismygitrepo.keys' # (CHANGE APPROPRIATELY)
6
- $pubkey_string = (Invoke-WebRequest $pubkey_url).Content
7
- } else {
8
- Write-Output "pubkey_string is already defined."
9
- }
10
-
11
- Invoke-WebRequest https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_windows/openssh_all.ps1 | Invoke-Expression
@@ -1,68 +0,0 @@
1
- #!/usr/bin/env python
2
-
3
- from pathlib import Path
4
- from typing import List, Optional, Union, Annotated
5
- from rich.console import Console
6
- from rich.panel import Panel
7
-
8
- import typer
9
-
10
- def generate_file_checklist(repo_root: Union[str, Path], exclude_dirs: Optional[List[str]] = None) -> Path:
11
- actual_exclude_dirs: List[str] = [".venv", ".git", "__pycache__", "build", "dist", "*.egg-info"]
12
- if exclude_dirs is not None:
13
- actual_exclude_dirs = exclude_dirs
14
- repo_root = Path(repo_root).expanduser().absolute()
15
- output_path: Path = repo_root / ".ai" / "repo_task" / "file_checklist.md"
16
- py_files: List[Path] = []
17
- for filepath in repo_root.glob("**/*.py"):
18
- if any(excl in filepath.parts for excl in actual_exclude_dirs) or any(filepath.match(f"**/{excl}/**") for excl in actual_exclude_dirs) or filepath.name == "__init__.py":
19
- continue
20
- py_files.append(filepath.relative_to(repo_root))
21
-
22
- sh_files: List[Path] = []
23
- for filepath in repo_root.glob("**/*.sh"):
24
- if any(excl in filepath.parts for excl in actual_exclude_dirs) or any(filepath.match(f"**/{excl}/**") for excl in actual_exclude_dirs):
25
- continue
26
- sh_files.append(filepath.relative_to(repo_root))
27
-
28
- py_files.sort()
29
- sh_files.sort()
30
-
31
- markdown_content: str = "# File Checklist\n\n"
32
-
33
- markdown_content += "## Python Files\n\n"
34
- for py_file in py_files:
35
- markdown_content += f"- [ ] {py_file}\n"
36
-
37
- markdown_content += "\n## Shell Script Files\n\n"
38
- for sh_file in sh_files:
39
- markdown_content += f"- [ ] {sh_file}\n"
40
- Path(output_path).parent.mkdir(parents=True, exist_ok=True)
41
- Path(output_path).write_text(markdown_content, encoding="utf-8")
42
-
43
- print(f"📋 Checklist generated at: {output_path}")
44
- return output_path
45
- def main(
46
- repo: Annotated[str, typer.Argument(help="Repository root path. Defaults to current working directory.")] = str(Path.cwd()),
47
- exclude: Annotated[Optional[List[str]], typer.Option("--exclude", "-e", help="Additional directories to exclude (by default excludes .venv, .git, __pycache__, build, dist, *.egg-info)")] = None,
48
- ) -> None:
49
- exclude_dirs: List[str] = [".venv", ".git", "__pycache__", "build", "dist", "*.egg-info"]
50
- if exclude:
51
- exclude_dirs.extend(exclude)
52
- if repo == "":
53
- print("Error: Repository path cannot be empty.")
54
- return
55
-
56
- output_path = generate_file_checklist(repo, exclude_dirs)
57
- console = Console()
58
- console.print(Panel(f"✅ SUCCESS | Markdown checklist generated successfully!\n📄 File Location: {output_path}", border_style="bold blue", expand=False))
59
-
60
-
61
- def main_from_parser():
62
- typer.run(main)
63
-
64
-
65
-
66
-
67
- if __name__ == "__main__":
68
- main_from_parser()
@@ -1,188 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: machineconfig
3
- Version: 5.15
4
- Summary: Dotfiles management package
5
- Author-email: Alex Al-Saffar <programmer@usa.com>
6
- License: Apache 2.0
7
- Project-URL: Homepage, https://github.com/thisismygitrepo/machineconfig
8
- Project-URL: Bug Tracker, https://github.com/thisismygitrepo/machineconfig/issues
9
- Classifier: Programming Language :: Python :: 3
10
- Classifier: License :: OSI Approved :: Apache Software License
11
- Classifier: Operating System :: OS Independent
12
- Requires-Python: >=3.13
13
- Description-Content-Type: text/markdown
14
- Requires-Dist: cryptography>=44.0.2
15
- Requires-Dist: fire>=0.7.0
16
- Requires-Dist: joblib>=1.5.2
17
- Requires-Dist: paramiko>=3.5.1
18
- Requires-Dist: randomname>=0.2.1
19
- Requires-Dist: requests>=2.32.5
20
- Requires-Dist: rich>=14.0.0
21
- Requires-Dist: tenacity>=9.1.2
22
- Requires-Dist: psutil>=7.0.0
23
- Requires-Dist: gitpython>=3.1.44
24
- Requires-Dist: pyfzf>=0.3.1
25
- Requires-Dist: rclone-python>=0.1.23
26
- Requires-Dist: pyjson5>=1.6.9
27
- Requires-Dist: typer-slim>=0.19.2
28
- Requires-Dist: questionary>=2.1.1
29
- Requires-Dist: typer>=0.19.2
30
- Provides-Extra: windows
31
- Requires-Dist: pywin32; extra == "windows"
32
- Provides-Extra: docs
33
- Requires-Dist: pdoc>=15.0.2; extra == "docs"
34
-
35
-
36
- <p align="center">
37
-
38
- <a href="https://github.com/thisismygitrepo/machineconfig/commits">
39
- <img src="https://img.shields.io/github/commit-activity/m/thisismygitrepo/machineconfig" />
40
- </a>
41
-
42
- </p>
43
-
44
-
45
- # Welcome to machineconfig
46
-
47
- # Shortcuts
48
- * `bit.ly/cfgroot` is a shortcut to this repo.
49
- * `glow https://bit.ly/cfgread` OR `curl bit.ly/cfgread -L | bat -l md --style="header"` to get the readme file.
50
-
51
- Machineconfig is a package for managing configuration files (aka dotfiles). The idea is to collect those critical, time-consuming-files-to-setup in one directory and reference them via symbolic links from their original locations. Thus, when a new machine is to be setup, all that is required is to clone the repo in that machine and create the symbolic links.
52
- Dotfiles include, but are not limited to:
53
- * `~/.gitconfig`
54
- * `~/.ssh`
55
- * `~/.aws`
56
- * `~/.bash_profile`
57
- * `~/.bashrc`
58
- * `~/.config`
59
- * `$profile` in Windows Powershell
60
- * etc
61
-
62
-
63
- Additionally, files that contain data, sensitive information that should not be pushed to a repository are contained in a directory `~/dotfiles`. The files therein are encrypted before backedup.
64
-
65
-
66
- ## Windows Setup
67
- With elevated `PowerShell`, run the following: (short `curl bit.ly/cfgallwindows -L | iex`)
68
-
69
- **You have to have `winget` first. If its not available in the your terminal, try those resources:**
70
-
71
- * https://github.com/asheroto/winget-install
72
- * https://github.com/microsoft/winget-cli
73
- * https://github.com/microsoft/winget-cli/discussions/3258
74
-
75
-
76
- ```shell
77
- # apps # short: `(iwr bit.ly/cfgappswindows).Content | iex`
78
- Invoke-WebRequest https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_windows/apps.ps1 | Invoke-Expression
79
- # virtual enviornment # short (iwr bit.ly/cfgvewindows).Content | iex OR `curl bit.ly/cfgvewindows -L | iex`
80
- Invoke-WebRequest https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_windows/ve.ps1 | Invoke-Expression
81
- # symlinks # short `(iwr bit.ly/cfgsymlinkswindows).Content | iex` OR `curl bit.ly/cfgsymlinkswindows -L | iex`
82
- . $HOME/code/machineconfig/src/machineconfig/setup_windows/symlinks.ps1
83
- # devapps:
84
- $HOME/code/machineconfig/src/machineconfig/setup_windows/devapps.ps1
85
- # pwsh and wt settings: (iwr bit.ly/cfgwt).Content | iex
86
- iwr https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_windows/wt_and_pwsh.ps1 | iex
87
-
88
- ```
89
-
90
- ```shell
91
-
92
- (iwr bit.ly/cfgappswindows).Content | iex
93
- (iwr bit.ly/cfgvewindows).Content | iex
94
- . $HOME/code/machineconfig/src/machineconfig/setup_windows/devapps.ps1
95
- (iwr bit.ly/cfgwt).Content | iex
96
- . $HOME/code/machineconfig/src/machineconfig/setup_windows/symlinks.ps1
97
-
98
- & "$HOME\code\machineconfig\.venv\Scripts\activate.ps1"
99
- python -m fire machineconfig.profile.create main2 --choice=all
100
- deactivate
101
-
102
- ```
103
-
104
- ###### Setup SSH connection:
105
- ```shell
106
- # CHANGE pubkey_string APPROPRIATELY
107
- $pubkey_string=(Invoke-WebRequest 'https://github.com/thisismygitrepo.keys').Content
108
- Invoke-WebRequest https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_windows/openssh_all.ps1 | Invoke-Expression
109
- ```
110
- short `(iwr bit.ly/cfgsshwindows).Content | iex` OR `curl bit.ly/cfgsshwindows -L | iex`
111
-
112
- ###### Install Croshell Terminal Directly,
113
- ```shell
114
- Invoke-WebRequest https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_windows/web_shortcuts/croshell.ps1 | Invoke-Expression
115
- ```
116
- short: `curl bit.ly/cfgcroshellwindows -L | iex` OR `(iwr bit.ly/cfgcroshellwindows).Content | iex`
117
-
118
-
119
- # Linux Setup
120
- With `sudo` access, run the following: (short `curl bit.ly/cfgalllinux -L | bash`)
121
- ```bash
122
- export package_manager="nala"
123
- export package_manager="nix"
124
-
125
- # apps # short: `curl bit.ly/cfgappslinux -L | bash`
126
- curl https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_linux/apps.sh | bash
127
- # Optionally: curl https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_linux/apps_dev.sh | bash
128
-
129
- # virtual enviornment # short `curl bit.ly/cfgvelinux -L | bash`
130
- curl https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_linux/ve.sh | bash
131
-
132
- # repos # short `curl bit.ly/cfgreposlinux -L | bash`
133
- curl https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_linux/repos.sh | bash
134
- # symlinks and bash profile: # short `curl bit.ly/cfgsymlinkslinux -L | bash`
135
- source ~/code/machineconfig/src/machineconfig/setup_linux/symlinks.sh # requires sudo since it invloves chmod of dotfiles/.ssh, however sudo doesn't work with source. best to have sudo -s earlier.
136
-
137
- # devapps
138
- source <(sudo cat ~/code/machineconfig/src/machineconfig/setup_linux/devapps.sh)
139
- ```
140
-
141
- ###### Setup SSH connection:
142
- ```bash
143
- pubkey_url='https://github.com/thisismygitrepo.keys' # (CHANGE APPROPRIATELY)
144
- export pubkey_string=$(curl --silent $pubkey_url)
145
- curl https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_linux/openssh_all.sh | sudo bash
146
- # For WSL only, also run the following:
147
- export port=2223
148
- curl https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_linux/openssh_wsl.sh | sudo bash
149
- # don't forget to run `wsl_ssh_windows_port_forwarding -p 2223` from Windows using the designated port with
150
- ```
151
- short `curl bit.ly/cfgsshlinux -L | bash`
152
-
153
-
154
- ###### Install Croshell Terminal Directly
155
-
156
- ```bash
157
-
158
- curl https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_linux/web_shortcuts/croshell.sh | sudo bash
159
-
160
- ```
161
- short `curl bit.ly/cfgcroshelllinux -L | bash`
162
-
163
-
164
- ## Repository management CLI
165
-
166
- The DevOps CLI now exposes rich subcommands for working with git repositories. Run `python -m machineconfig.scripts.python.devops repos --help` to explore the hierarchy:
167
-
168
- * Top-level actions: `push`, `pull`, `commit`, `all`, and `analyze`.
169
- * These commands accept `--recursive/-r` and `--no-sync` to control nested repos and automatic `uv sync`.
170
- * Sync workflows live under `sync`:
171
- * `record` captures the current machine state into a `repos.json`.
172
- * `capture` clones repos from a specification without changing commits.
173
- * `checkout` aligns repositories to commits stored in the spec.
174
- * `checkout-to-branch` switches repositories to the tracked branch.
175
- * Each sync subcommand accepts `--cloud/-c` for fetching/saving specs from remote storage.
176
-
177
- Example:
178
-
179
- ```bash
180
- python -m machineconfig.scripts.python.devops repos sync record ~/code --cloud my_remote
181
- python -m machineconfig.scripts.python.devops repos pull ~/code --recursive
182
- ```
183
-
184
- # Author
185
- Alex Al-Saffar. [email](mailto:programmer@usa.com)
186
-
187
- [![Alex's github activity graph](https://github-readme-activity-graph.vercel.app/graph?username=thisismygitrepo)](https://github.com/ashutosh00710/github-readme-activity-graph)
188
-