machineconfig 7.54__tar.gz → 7.56__tar.gz

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 (460) hide show
  1. machineconfig-7.56/PKG-INFO +124 -0
  2. machineconfig-7.56/README.md +81 -0
  3. {machineconfig-7.54 → machineconfig-7.56}/pyproject.toml +2 -1
  4. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/jobs/installer/custom_dev/sysabc.py +3 -6
  5. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/jobs/installer/installer_data.json +10 -10
  6. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/jobs/installer/package_groups.py +8 -0
  7. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/croshell.py +4 -4
  8. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/env_manager/path_manager_tui.py +1 -1
  9. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_devops/cli_config_dotfile.py +18 -8
  10. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_devops/cli_self.py +3 -3
  11. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py +7 -2
  12. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_repos/count_lines_frontend.py +1 -1
  13. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_utils/path.py +1 -1
  14. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/interactive.py +9 -12
  15. machineconfig-7.54/src/machineconfig/scripts/python/nw/add_ssh_key.py → machineconfig-7.56/src/machineconfig/scripts/python/nw/devops_add_ssh_key.py +14 -12
  16. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/windows/mounts/mount_ssh.ps1 +1 -1
  17. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/shells/wezterm/wezterm.lua +1 -1
  18. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/setup_linux/web_shortcuts/interactive.sh +12 -11
  19. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/setup_windows/web_shortcuts/interactive.ps1 +12 -11
  20. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/setup_windows/web_shortcuts/quick_init.ps1 +1 -0
  21. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/utils/installer_utils/installer_class.py +4 -0
  22. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/utils/path_extended.py +38 -17
  23. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/utils/ssh.py +1 -1
  24. machineconfig-7.56/src/machineconfig.egg-info/PKG-INFO +124 -0
  25. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig.egg-info/SOURCES.txt +0 -1
  26. machineconfig-7.54/PKG-INFO +0 -94
  27. machineconfig-7.54/README.md +0 -51
  28. machineconfig-7.54/src/machineconfig/scripts/python/nw/devops_add_ssh_key.py +0 -134
  29. machineconfig-7.54/src/machineconfig.egg-info/PKG-INFO +0 -94
  30. {machineconfig-7.54 → machineconfig-7.56}/MANIFEST.in +0 -0
  31. {machineconfig-7.54 → machineconfig-7.56}/setup.cfg +0 -0
  32. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/__init__.py +0 -0
  33. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/cluster/__init__.py +0 -0
  34. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/cluster/remote/cloud_manager.py +0 -0
  35. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/cluster/remote/data_transfer.py +0 -0
  36. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/cluster/remote/distribute.py +0 -0
  37. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/cluster/remote/file_manager.py +0 -0
  38. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/cluster/remote/job_params.py +0 -0
  39. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/cluster/remote/loader_runner.py +0 -0
  40. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/cluster/remote/remote_machine.py +0 -0
  41. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/cluster/remote/run_cloud.py +0 -0
  42. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/cluster/remote/run_cluster.py +0 -0
  43. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/cluster/remote/run_remote.py +0 -0
  44. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/cluster/remote/script_execution.py +0 -0
  45. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/cluster/remote/script_notify_upon_completion.py +0 -0
  46. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/cluster/sessions_managers/__init__.py +0 -0
  47. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/cluster/sessions_managers/helpers/enhanced_command_runner.py +0 -0
  48. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/cluster/sessions_managers/helpers/load_balancer_helper.py +0 -0
  49. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/cluster/sessions_managers/utils/load_balancer.py +0 -0
  50. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/cluster/sessions_managers/utils/maker.py +0 -0
  51. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/cluster/sessions_managers/wt_local.py +0 -0
  52. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/cluster/sessions_managers/wt_local_manager.py +0 -0
  53. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/cluster/sessions_managers/wt_remote.py +0 -0
  54. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/cluster/sessions_managers/wt_remote_manager.py +0 -0
  55. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/cluster/sessions_managers/wt_utils/layout_generator.py +0 -0
  56. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/cluster/sessions_managers/wt_utils/manager_persistence.py +0 -0
  57. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/cluster/sessions_managers/wt_utils/monitoring_helpers.py +0 -0
  58. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/cluster/sessions_managers/wt_utils/process_monitor.py +0 -0
  59. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/cluster/sessions_managers/wt_utils/remote_executor.py +0 -0
  60. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/cluster/sessions_managers/wt_utils/session_manager.py +0 -0
  61. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/cluster/sessions_managers/wt_utils/status_reporter.py +0 -0
  62. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/cluster/sessions_managers/wt_utils/status_reporting.py +0 -0
  63. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/cluster/sessions_managers/wt_utils/wt_helpers.py +0 -0
  64. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/cluster/sessions_managers/zellij_local.py +0 -0
  65. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/cluster/sessions_managers/zellij_local_manager.py +0 -0
  66. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/cluster/sessions_managers/zellij_remote.py +0 -0
  67. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/cluster/sessions_managers/zellij_remote_manager.py +0 -0
  68. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/cluster/sessions_managers/zellij_utils/example_usage.py +0 -0
  69. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/cluster/sessions_managers/zellij_utils/layout_generator.py +0 -0
  70. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/cluster/sessions_managers/zellij_utils/monitoring_types.py +0 -0
  71. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/cluster/sessions_managers/zellij_utils/process_monitor.py +0 -0
  72. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/cluster/sessions_managers/zellij_utils/remote_executor.py +0 -0
  73. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/cluster/sessions_managers/zellij_utils/session_manager.py +0 -0
  74. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/cluster/sessions_managers/zellij_utils/status_reporter.py +0 -0
  75. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_helper.py +0 -0
  76. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_helper_restart.py +0 -0
  77. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_helper_with_panes.py +0 -0
  78. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_manager_helper.py +0 -0
  79. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/cluster/templates/__init__.py +0 -0
  80. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/cluster/templates/cli_trogon.py +0 -0
  81. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/jobs/__init__.py +0 -0
  82. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/jobs/installer/__init__.py +0 -0
  83. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/jobs/installer/check_installations.py +0 -0
  84. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/jobs/installer/custom/boxes.py +0 -0
  85. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/jobs/installer/custom/gh.py +0 -0
  86. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/jobs/installer/custom/hx.py +0 -0
  87. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/jobs/installer/custom_dev/__init__.py +0 -0
  88. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/jobs/installer/custom_dev/alacritty.py +0 -0
  89. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/jobs/installer/custom_dev/brave.py +0 -0
  90. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/jobs/installer/custom_dev/bypass_paywall.py +0 -0
  91. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/jobs/installer/custom_dev/code.py +0 -0
  92. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/jobs/installer/custom_dev/cursor.py +0 -0
  93. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/jobs/installer/custom_dev/dubdb_adbc.py +0 -0
  94. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/jobs/installer/custom_dev/espanso.py +0 -0
  95. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/jobs/installer/custom_dev/goes.py +0 -0
  96. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/jobs/installer/custom_dev/lvim.py +0 -0
  97. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/jobs/installer/custom_dev/nerdfont.py +0 -0
  98. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/jobs/installer/custom_dev/nerfont_windows_helper.py +0 -0
  99. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/jobs/installer/custom_dev/redis.py +0 -0
  100. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/jobs/installer/custom_dev/wezterm.py +0 -0
  101. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/jobs/installer/custom_dev/winget.py +0 -0
  102. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/jobs/installer/linux_scripts/brave.sh +0 -0
  103. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/jobs/installer/linux_scripts/docker.sh +0 -0
  104. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/jobs/installer/linux_scripts/docker_start.sh +0 -0
  105. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/jobs/installer/linux_scripts/edge.sh +0 -0
  106. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/jobs/installer/linux_scripts/lid.sh +0 -0
  107. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/jobs/installer/linux_scripts/nerdfont.sh +0 -0
  108. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/jobs/installer/linux_scripts/network.sh +0 -0
  109. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/jobs/installer/linux_scripts/ngrok.sh +0 -0
  110. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/jobs/installer/linux_scripts/pgsql.sh +0 -0
  111. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/jobs/installer/linux_scripts/q.sh +0 -0
  112. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/jobs/installer/linux_scripts/redis.sh +0 -0
  113. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/jobs/installer/linux_scripts/vscode.sh +0 -0
  114. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/jobs/installer/linux_scripts/warp-cli.sh +0 -0
  115. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/jobs/installer/linux_scripts/wezterm.sh +0 -0
  116. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/jobs/installer/powershell_scripts/install_fonts.ps1 +0 -0
  117. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/logger.py +0 -0
  118. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/profile/__init__.py +0 -0
  119. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/profile/backup.toml +0 -0
  120. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/profile/bash_shell_profiles.md +0 -0
  121. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/profile/create_helper.py +0 -0
  122. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/profile/create_links.py +0 -0
  123. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/profile/create_links_export.py +0 -0
  124. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/profile/create_shell_profile.py +0 -0
  125. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/profile/mapper.toml +0 -0
  126. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/profile/records/generic/shares.toml +0 -0
  127. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/profile/records/linux/apps_summary_report.csv +0 -0
  128. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/profile/records/linux/apps_summary_report.md +0 -0
  129. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/profile/records/windows/apps_summary_report.csv +0 -0
  130. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/profile/records/windows/apps_summary_report.md +0 -0
  131. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/Restore-ThunderbirdProfile.ps1 +0 -0
  132. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/__init__.py +0 -0
  133. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/linux/other/share_cloud.sh +0 -0
  134. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/linux/other/share_nfs +0 -0
  135. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/linux/other/start_docker +0 -0
  136. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/linux/other/switch_ip +0 -0
  137. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/linux/wrap_mcfg +0 -0
  138. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/nu/wrap_mcfg.nu +0 -0
  139. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/__init__.py +0 -0
  140. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/agents.py +0 -0
  141. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/ai/__init__.py +0 -0
  142. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/ai/command_runner/command_runner.sh +0 -0
  143. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/ai/command_runner/prompt.txt +0 -0
  144. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/ai/generate_files.py +0 -0
  145. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/ai/initai.py +0 -0
  146. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/ai/scripts/lint_and_type_check.ps1 +0 -0
  147. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/ai/scripts/lint_and_type_check.sh +0 -0
  148. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/ai/solutions/__init__.py +0 -0
  149. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/ai/solutions/_shared.py +0 -0
  150. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/ai/solutions/claude/claude.py +0 -0
  151. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/ai/solutions/cline/cline.py +0 -0
  152. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/Thinking-Beast-Mode.chatmode.md +0 -0
  153. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/Ultimate-Transparent-Thinking-Beast-Mode.chatmode.md +0 -0
  154. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/deepResearch.chatmode.md +0 -0
  155. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/ai/solutions/copilot/github_copilot.py +0 -0
  156. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/ai/solutions/copilot/instructions/python/dev.instructions.md +0 -0
  157. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/ai/solutions/copilot/privacy.md +0 -0
  158. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/ai/solutions/copilot/prompts/pyright_fix.md +0 -0
  159. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/ai/solutions/copilot/prompts/research-report-skeleton.prompt.md +0 -0
  160. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/ai/solutions/crush/crush.json +0 -0
  161. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/ai/solutions/crush/crush.py +0 -0
  162. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/ai/solutions/crush/privacy.md +0 -0
  163. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/ai/solutions/cursor/cursors.py +0 -0
  164. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/ai/solutions/gemini/gemini.py +0 -0
  165. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/ai/solutions/gemini/settings.json +0 -0
  166. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/ai/solutions/generic.py +0 -0
  167. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/ai/solutions/kilocode/privacy.md +0 -0
  168. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/ai/solutions/opencode/opencode.json +0 -0
  169. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/ai/solutions/opencode/opencode.py +0 -0
  170. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/ai/vscode_tasks.py +0 -0
  171. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/cloud.py +0 -0
  172. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/define.py +0 -0
  173. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/devops.py +0 -0
  174. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/devops_navigator.py +0 -0
  175. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/env_manager/__init__.py +0 -0
  176. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/env_manager/path_manager_backend.py +0 -0
  177. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/explore.py +0 -0
  178. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/fire_jobs.py +0 -0
  179. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/ftpx.py +0 -0
  180. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_agents/__init__.py +0 -0
  181. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_agents/agentic_frameworks/__init__.py +0 -0
  182. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_crush.json +0 -0
  183. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_crush.py +0 -0
  184. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_cursor_agents.py +0 -0
  185. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_gemini.py +0 -0
  186. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_qwen.py +0 -0
  187. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_agents/fire_agents_help_launch.py +0 -0
  188. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_agents/fire_agents_help_search.py +0 -0
  189. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_agents/fire_agents_helper_types.py +0 -0
  190. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_agents/fire_agents_load_balancer.py +0 -0
  191. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_agents/templates/prompt.txt +0 -0
  192. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_agents/templates/template.ps1 +0 -0
  193. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_agents/templates/template.sh +0 -0
  194. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_cloud/__init__.py +0 -0
  195. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_cloud/cloud_copy.py +0 -0
  196. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_cloud/cloud_helpers.py +0 -0
  197. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_cloud/cloud_mount.py +0 -0
  198. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_cloud/cloud_sync.py +0 -0
  199. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_cloud/helpers2.py +0 -0
  200. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_cloud/helpers5.py +0 -0
  201. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_croshell/__init__.py +0 -0
  202. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_croshell/crosh.py +0 -0
  203. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_croshell/pomodoro.py +0 -0
  204. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_croshell/scheduler.py +0 -0
  205. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_croshell/start_slidev.py +0 -0
  206. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_croshell/viewer.py +0 -0
  207. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_croshell/viewer_template.py +0 -0
  208. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_devops/__init__.py +0 -0
  209. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_devops/cli_config.py +0 -0
  210. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_devops/cli_data.py +0 -0
  211. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_devops/cli_nw.py +0 -0
  212. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_devops/cli_repos.py +0 -0
  213. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_devops/cli_share_file.py +0 -0
  214. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_devops/cli_share_server.py +0 -0
  215. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_devops/cli_terminal.py +0 -0
  216. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_devops/cli_utils.py +0 -0
  217. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_devops/devops_backup_retrieve.py +0 -0
  218. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_devops/devops_status.py +0 -0
  219. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_devops/devops_update_repos.py +0 -0
  220. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_devops/themes/__init__.py +0 -0
  221. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_devops/themes/choose_pwsh_theme.ps1 +0 -0
  222. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_devops/themes/choose_starship_theme.bash +0 -0
  223. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_devops/themes/choose_starship_theme.ps1 +0 -0
  224. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_devops/themes/choose_wezterm_theme.py +0 -0
  225. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_fire_command/__init__.py +0 -0
  226. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_fire_command/cloud_manager.py +0 -0
  227. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_fire_command/file_wrangler.py +0 -0
  228. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_fire_command/fire_jobs_args_helper.py +0 -0
  229. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_fire_command/fire_jobs_route_helper.py +0 -0
  230. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_fire_command/fire_jobs_streamlit_helper.py +0 -0
  231. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_msearch/__init__.py +0 -0
  232. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_msearch/scripts_linux/fzfag +0 -0
  233. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_msearch/scripts_linux/fzfg +0 -0
  234. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_msearch/scripts_linux/fzfrga +0 -0
  235. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_msearch/scripts_linux/skrg +0 -0
  236. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_msearch/scripts_windows/fzfb.ps1 +0 -0
  237. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_msearch/scripts_windows/fzfg.ps1 +0 -0
  238. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_msearch/scripts_windows/fzfrga.bat +0 -0
  239. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_navigator/__init__.py +0 -0
  240. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_navigator/command_builder.py +0 -0
  241. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_navigator/command_detail.py +0 -0
  242. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_navigator/command_tree.py +0 -0
  243. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_navigator/data_models.py +0 -0
  244. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_navigator/main_app.py +0 -0
  245. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_navigator/search_bar.py +0 -0
  246. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_repos/action.py +0 -0
  247. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_repos/action_helper.py +0 -0
  248. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_repos/clone.py +0 -0
  249. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_repos/count_lines.py +0 -0
  250. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_repos/entrypoint.py +0 -0
  251. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_repos/grource.py +0 -0
  252. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_repos/record.py +0 -0
  253. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_repos/sync.py +0 -0
  254. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_repos/update.py +0 -0
  255. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_sessions/__init__.py +0 -0
  256. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/helpers_sessions/sessions_multiprocess.py +0 -0
  257. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/machineconfig.py +0 -0
  258. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/msearch.py +0 -0
  259. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/nw/__init__.py +0 -0
  260. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/nw/devops_add_identity.py +0 -0
  261. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/nw/mount_drive +0 -0
  262. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/nw/mount_nfs +0 -0
  263. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/nw/mount_nfs.py +0 -0
  264. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/nw/mount_nw_drive +0 -0
  265. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/nw/mount_nw_drive.py +0 -0
  266. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/nw/mount_smb +0 -0
  267. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/nw/mount_ssh.py +0 -0
  268. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/nw/onetimeshare.py +0 -0
  269. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/nw/ssh_debug_linux.py +0 -0
  270. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/nw/ssh_debug_windows.py +0 -0
  271. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/nw/wifi_conn.py +0 -0
  272. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/nw/wsl_windows_transfer.py +0 -0
  273. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/sessions.py +0 -0
  274. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/terminal.py +0 -0
  275. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/python/utils.py +0 -0
  276. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/windows/mounts/mount_nfs.ps1 +0 -0
  277. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/windows/mounts/mount_nw.ps1 +0 -0
  278. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/windows/mounts/mount_smb.ps1 +0 -0
  279. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/windows/mounts/share_cloud.cmd +0 -0
  280. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/windows/mounts/share_smb.ps1 +0 -0
  281. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/windows/mounts/unlock_bitlocker.ps1 +0 -0
  282. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/scripts/windows/wrap_mcfg.ps1 +0 -0
  283. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/__init__.py +0 -0
  284. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/broot/br.sh +0 -0
  285. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/broot/brootcd.ps1 +0 -0
  286. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/broot/conf.toml +0 -0
  287. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/glow/glow.yml +0 -0
  288. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/gromit-mpx/gromit-mpx.cfg +0 -0
  289. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/helix/config.toml +0 -0
  290. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/helix/languages.toml +0 -0
  291. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/helix/yazi-picker.sh +0 -0
  292. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/keras/keras.json +0 -0
  293. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/keyboard/espanso/config/default.yml +0 -0
  294. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/keyboard/espanso/match/base.yml +0 -0
  295. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/keyboard/kanata/kanata.kbd +0 -0
  296. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/lf/linux/autocall/delete.sh +0 -0
  297. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/lf/linux/autocall/on-cd.sh +0 -0
  298. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/lf/linux/autocall/on-quit.sh +0 -0
  299. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/lf/linux/autocall/open.sh +0 -0
  300. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/lf/linux/autocall/paste.sh +0 -0
  301. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/lf/linux/autocall/pre-cd.sh +0 -0
  302. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/lf/linux/autocall/rename.sh +0 -0
  303. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/lf/linux/colors +0 -0
  304. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/lf/linux/exe/cleaner.sh +0 -0
  305. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/lf/linux/exe/leftpane_previewer.sh +0 -0
  306. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/lf/linux/exe/lfcd.sh +0 -0
  307. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/lf/linux/exe/previewer.sh +0 -0
  308. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/lf/linux/exe/previewer_archive.sh +0 -0
  309. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/lf/linux/icons +0 -0
  310. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/lf/linux/lfrc +0 -0
  311. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/lf/windows/autocall/delete.ps1 +0 -0
  312. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/lf/windows/autocall/on-cd.ps1 +0 -0
  313. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/lf/windows/autocall/on-quit.ps1 +0 -0
  314. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/lf/windows/autocall/open.ps1 +0 -0
  315. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/lf/windows/autocall/paste.ps1 +0 -0
  316. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/lf/windows/autocall/pre-cd.ps1 +0 -0
  317. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/lf/windows/autocall/rename.ps1 +0 -0
  318. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/lf/windows/cd_tere.ps1 +0 -0
  319. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/lf/windows/cd_zoxide.ps1 +0 -0
  320. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/lf/windows/cd_zoxide2.ps1 +0 -0
  321. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/lf/windows/colors +0 -0
  322. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/lf/windows/fzf_edit.ps1 +0 -0
  323. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/lf/windows/icons +0 -0
  324. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/lf/windows/leftpane_previewer.ps1 +0 -0
  325. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/lf/windows/lfcd.ps1 +0 -0
  326. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/lf/windows/lfrc +0 -0
  327. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/lf/windows/mkdir.ps1 +0 -0
  328. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/lf/windows/mkfile.ps1 +0 -0
  329. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/lf/windows/previewer.ps1 +0 -0
  330. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/lf/windows/tst.ps1 +0 -0
  331. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/linters/.flake8 +0 -0
  332. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/linters/.mypy.ini +0 -0
  333. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/linters/.pylintrc +0 -0
  334. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/linters/.ruff.toml +0 -0
  335. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/lvim/linux/config.lua +0 -0
  336. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/lvim/windows/archive/config_additional.lua +0 -0
  337. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/lvim/windows/config.lua +0 -0
  338. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/lvim/windows/lua/user/custom_config.lua +0 -0
  339. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/marimo/marimo.toml +0 -0
  340. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/marimo/snippets/globalize.py +0 -0
  341. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/mprocs/windows/mprocs.yaml +0 -0
  342. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/mprocs/windows/other +0 -0
  343. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/pistol/pistol.conf +0 -0
  344. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/presenterm/config.yaml +0 -0
  345. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/procs/.procs.toml +0 -0
  346. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/pudb/pudb.cfg +0 -0
  347. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/rofi/config.rasi +0 -0
  348. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/rofi/config_default.rasi +0 -0
  349. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/shells/alacritty/alacritty.toml +0 -0
  350. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/shells/alacritty/alacritty.yml +0 -0
  351. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/shells/bash/init.sh +0 -0
  352. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/shells/hyper/.hyper.js +0 -0
  353. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/shells/ipy/profiles/default/__init__.py +0 -0
  354. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/shells/ipy/profiles/default/startup/__init__.py +0 -0
  355. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/shells/ipy/profiles/default/startup/playext.py +0 -0
  356. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/shells/kitty/kitty.conf +0 -0
  357. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/shells/nushell/config.nu +0 -0
  358. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/shells/nushell/env.nu +0 -0
  359. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/shells/nushell/init.nu +0 -0
  360. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/shells/pwsh/init.ps1 +0 -0
  361. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/shells/pwsh/profile.ps1 +0 -0
  362. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/shells/starship/starship.toml +0 -0
  363. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/shells/vtm/settings.xml +0 -0
  364. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/shells/wt/settings.json +0 -0
  365. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/shells/zsh/init.sh +0 -0
  366. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/streamlit/config.toml +0 -0
  367. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/svim/linux/init.toml +0 -0
  368. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/svim/windows/init.toml +0 -0
  369. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/tere/terecd.ps1 +0 -0
  370. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/tere/terecd.sh +0 -0
  371. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/tmux/.tmate.conf +0 -0
  372. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/tmux/.tmux.conf +0 -0
  373. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/wsl/.wslconfig +0 -0
  374. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/yazi/init.lua +0 -0
  375. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/yazi/keymap_linux.toml +0 -0
  376. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/yazi/keymap_windows.toml +0 -0
  377. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/yazi/shell/yazi_cd.ps1 +0 -0
  378. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/yazi/shell/yazi_cd.sh +0 -0
  379. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/yazi/theme.toml +0 -0
  380. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/yazi/yazi.toml +0 -0
  381. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/zed/settings.json +0 -0
  382. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/zellij/commands/monitor +0 -0
  383. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/zellij/commands/standard_panes +0 -0
  384. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/zellij/config.kdl +0 -0
  385. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/zellij/config.orig.kdl +0 -0
  386. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/zellij/layouts/hist +0 -0
  387. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/zellij/layouts/panes.kdl +0 -0
  388. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/zellij/layouts/st.kdl +0 -0
  389. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/zellij/layouts/st2.kdl +0 -0
  390. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/settings/zellij/layouts/stacked_panes.kdl +0 -0
  391. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/setup_linux/__init__.py +0 -0
  392. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/setup_linux/apps_desktop.sh +0 -0
  393. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/setup_linux/apps_gui.sh +0 -0
  394. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/setup_linux/others/android.sh +0 -0
  395. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/setup_linux/others/cli_installation.sh +0 -0
  396. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/setup_linux/others/mint_keyboard_shortcuts.sh +0 -0
  397. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/setup_linux/ssh/openssh_all.sh +0 -0
  398. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/setup_linux/ssh/openssh_wsl.sh +0 -0
  399. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/setup_linux/uv.sh +0 -0
  400. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/setup_mac/__init__.py +0 -0
  401. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/setup_mac/apps_gui.sh +0 -0
  402. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/setup_mac/ssh/openssh_setup.sh +0 -0
  403. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/setup_mac/uv.sh +0 -0
  404. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/setup_windows/__init__.py +0 -0
  405. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/setup_windows/others/docker.ps1 +0 -0
  406. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/setup_windows/others/obs.ps1 +0 -0
  407. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/setup_windows/others/power_options.ps1 +0 -0
  408. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/setup_windows/ssh/add-sshkey.ps1 +0 -0
  409. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/setup_windows/ssh/add_identity.ps1 +0 -0
  410. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/setup_windows/ssh/openssh-server.ps1 +0 -0
  411. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/setup_windows/ssh/openssh-server_add_key.ps1 +0 -0
  412. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/setup_windows/ssh/openssh-server_copy-ssh-id.ps1 +0 -0
  413. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/setup_windows/uv.ps1 +0 -0
  414. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/setup_windows/wt_and_pwsh/__init__.py +0 -0
  415. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py +0 -0
  416. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/utils/__init__.py +0 -0
  417. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/utils/accessories.py +0 -0
  418. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/utils/ai/__init__.py +0 -0
  419. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/utils/cloud/onedrive/README.md +0 -0
  420. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/utils/cloud/onedrive/setup_oauth.py +0 -0
  421. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/utils/cloud/onedrive/transaction.py +0 -0
  422. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/utils/code.py +0 -0
  423. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/utils/files/art/fat_croco.txt +0 -0
  424. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/utils/files/art/halfwit_croco.txt +0 -0
  425. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/utils/files/art/happy_croco.txt +0 -0
  426. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/utils/files/art/water_croco.txt +0 -0
  427. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/utils/files/ascii_art.py +0 -0
  428. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/utils/files/dbms.py +0 -0
  429. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/utils/files/headers.py +0 -0
  430. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/utils/files/ouch/__init__.py +0 -0
  431. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/utils/files/ouch/decompress.py +0 -0
  432. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/utils/files/read.py +0 -0
  433. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/utils/installer.py +0 -0
  434. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/utils/installer_utils/__init__.py +0 -0
  435. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/utils/installer_utils/github_release_bulk.py +0 -0
  436. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/utils/installer_utils/installer.py +0 -0
  437. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/utils/installer_utils/installer_abc.py +0 -0
  438. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/utils/io.py +0 -0
  439. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/utils/links.py +0 -0
  440. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/utils/meta.py +0 -0
  441. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/utils/notifications.py +0 -0
  442. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/utils/options.py +0 -0
  443. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/utils/path_helper.py +0 -0
  444. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/utils/procs.py +0 -0
  445. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/utils/scheduler.py +0 -0
  446. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/utils/scheduling.py +0 -0
  447. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/utils/schemas/fire_agents/fire_agents_input.py +0 -0
  448. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/utils/schemas/installer/installer_types.py +0 -0
  449. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/utils/schemas/layouts/layout_types.py +0 -0
  450. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/utils/schemas/repos/repos_types.py +0 -0
  451. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/utils/source_of_truth.py +0 -0
  452. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/utils/ssh_utils/utils.py +0 -0
  453. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/utils/terminal.py +0 -0
  454. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/utils/tst.py +0 -0
  455. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/utils/upgrade_packages.py +0 -0
  456. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig/utils/ve.py +0 -0
  457. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig.egg-info/dependency_links.txt +0 -0
  458. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig.egg-info/entry_points.txt +0 -0
  459. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig.egg-info/requires.txt +0 -0
  460. {machineconfig-7.54 → machineconfig-7.56}/src/machineconfig.egg-info/top_level.txt +0 -0
@@ -0,0 +1,124 @@
1
+ Metadata-Version: 2.4
2
+ Name: machineconfig
3
+ Version: 7.56
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: questionary>=2.1.1
27
+ Requires-Dist: typer-slim>=0.19.2
28
+ Requires-Dist: typer>=0.19.2
29
+ Provides-Extra: windows
30
+ Requires-Dist: pywin32; extra == "windows"
31
+ Provides-Extra: plot
32
+ Requires-Dist: sqlalchemy>=2.0.43; extra == "plot"
33
+ Requires-Dist: ipykernel>=6.30.1; extra == "plot"
34
+ Requires-Dist: ipython>=9.5.0; extra == "plot"
35
+ Requires-Dist: jupyterlab>=4.4.9; extra == "plot"
36
+ Requires-Dist: kaleido>=1.1.0; extra == "plot"
37
+ Requires-Dist: matplotlib>=3.10.6; extra == "plot"
38
+ Requires-Dist: nbformat>=5.10.4; extra == "plot"
39
+ Requires-Dist: numpy>=2.3.3; extra == "plot"
40
+ Requires-Dist: plotly>=6.3.0; extra == "plot"
41
+ Requires-Dist: polars>=1.33.1; extra == "plot"
42
+ Requires-Dist: python-magic>=0.4.27; extra == "plot"
43
+
44
+
45
+ <p align="center">
46
+
47
+ <a href="https://github.com/thisismygitrepo/machineconfig/commits">
48
+ <img src="https://img.shields.io/github/commit-activity/m/thisismygitrepo/machineconfig" />
49
+ </a>
50
+
51
+ </p>
52
+
53
+
54
+ # 🧠 Welcome to **Machineconfig**
55
+
56
+ **Machineconfig** is a cli-based **Digital Life Manager** — It's called so because no existing category of software fully captures its scope. At the same time, it is a *Package Manager*, *Configuration Manager*, *Automation Tool*, *Dotfiles Manager*, *Data Solution*, and *Code Manager*, among other functionalities covered, all rolled into one seamless experience.
57
+
58
+
59
+ ## 💡 Motivation
60
+
61
+ But why do we need such a tool to combine all those functionalities?? Because you need one tool to manager your stack and dev-environment, put it together and maintain it.
62
+ Consider this concrete scenario: When setting up a new machine, VM, or Docker container, you often face dependency chains like this:
63
+
64
+ ```mermaid
65
+ flowchart TD
66
+ A["Need to setup my [dev] environment"] --> B["need my tool x, e.g.: yadm"]
67
+ B --> C["Requires git"]
68
+ C --> D["Requires package manager, e.g. brew"]
69
+ D --> E["Requires curl"]
70
+ E --> F["Requires network setup / system update"]
71
+ F --> G["Requires system configuration access"]
72
+ G --> H["Finally ready to start setup the tool x."]
73
+ ```
74
+
75
+ Machineconfig builds on shoulder of giants. A suite of best-in-class stack of projects on github are used, the most starred, active and written in Rust tools are used when possible. The goal is to provide a seamless experience that abstracts away the complexity of setting up and maintaining your digital environment. The goal of machineconfig is to replicate your setup, config, code, data and secrets on any machine, any os, in 5 minutes, using minimal user input. Then, from that point, machineconfig will help you maintain, update, backup and sync your digital life across all your devices, automatically.
76
+
77
+
78
+ ## ⚙️ Functional Overview
79
+
80
+ | Category | Comparable Tools | Description |
81
+ |------------------------|----------------------------------------------|-----------------------------------------------------------|
82
+ | **Package Manager** | `winget`, `apt`, `brew`, `nix` | Installs and manages software packages across systems. |
83
+ | **Configuration Manager** | `Ansible`, `Chef`, `Puppet` | Configures and maintains system‐level preferences. |
84
+ | **Automation Tool** | `Airflow`, `Prefect`, `Dagster`, `Celery` | Automates repetitive tasks, pipelines, orchestration. |
85
+ | **Dotfiles Manager** | `chezmoi`, `yadm`, `rcm`, `GNU Stow` | Synchronises dotfiles & personal configs across systems. |
86
+ | **Data Solution** | `rclone`, `rsync` | Handles backups, mirroring and secure file sync. |
87
+ | **Code Manager** | `strong‐box`, `Vault` | Manages and protects code snippets, secrets and creds. |
88
+
89
+ ---
90
+
91
+
92
+ # Install On Windows:
93
+
94
+ ```powershell
95
+ # install tool the tool only:
96
+ powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex" # Skip if UV is already installed
97
+ uv tool install --upgrade --python 3.14 machineconfig
98
+ # interactive install of machineconfig and following on to run it and make basic machine configuration (RECOMMENDED):
99
+ iex (iwr bit.ly/cfgwindows).Content # Or, if UV is installed: iex (uvx machineconfig define)
100
+ # Quick install and configure (optionals are accepted by default):
101
+ iex (iwr bit.ly/cfgwq).Content
102
+ ```
103
+
104
+
105
+ # Install On Linux and MacOS
106
+
107
+ ```bash
108
+ # install the tool only:
109
+ curl -LsSf https://astral.sh/uv/install.sh | sh # Skip if UV is already installed
110
+ uv tool install --upgrade --python 3.14 machineconfig
111
+ # interactive install of machineconfig and following on to run it and make basic machine configuration (RECOMMENDED):
112
+ . <(curl -L bit.ly/cfglinux) # Or, if UV is installed: . <(uvx machineconfig define)
113
+ ```
114
+
115
+
116
+ # Author
117
+ Alex Al-Saffar. [email](mailto:programmer@usa.com)
118
+
119
+ # Contributor
120
+ Ruby Chan. [email](mailto:ruby.chan@sa.gov.au)
121
+
122
+
123
+ [![Alex's github activity graph](https://github-readme-activity-graph.vercel.app/graph?username=thisismygitrepo)](https://github.com/ashutosh00710/github-readme-activity-graph)
124
+
@@ -0,0 +1,81 @@
1
+
2
+ <p align="center">
3
+
4
+ <a href="https://github.com/thisismygitrepo/machineconfig/commits">
5
+ <img src="https://img.shields.io/github/commit-activity/m/thisismygitrepo/machineconfig" />
6
+ </a>
7
+
8
+ </p>
9
+
10
+
11
+ # 🧠 Welcome to **Machineconfig**
12
+
13
+ **Machineconfig** is a cli-based **Digital Life Manager** — It's called so because no existing category of software fully captures its scope. At the same time, it is a *Package Manager*, *Configuration Manager*, *Automation Tool*, *Dotfiles Manager*, *Data Solution*, and *Code Manager*, among other functionalities covered, all rolled into one seamless experience.
14
+
15
+
16
+ ## 💡 Motivation
17
+
18
+ But why do we need such a tool to combine all those functionalities?? Because you need one tool to manager your stack and dev-environment, put it together and maintain it.
19
+ Consider this concrete scenario: When setting up a new machine, VM, or Docker container, you often face dependency chains like this:
20
+
21
+ ```mermaid
22
+ flowchart TD
23
+ A["Need to setup my [dev] environment"] --> B["need my tool x, e.g.: yadm"]
24
+ B --> C["Requires git"]
25
+ C --> D["Requires package manager, e.g. brew"]
26
+ D --> E["Requires curl"]
27
+ E --> F["Requires network setup / system update"]
28
+ F --> G["Requires system configuration access"]
29
+ G --> H["Finally ready to start setup the tool x."]
30
+ ```
31
+
32
+ Machineconfig builds on shoulder of giants. A suite of best-in-class stack of projects on github are used, the most starred, active and written in Rust tools are used when possible. The goal is to provide a seamless experience that abstracts away the complexity of setting up and maintaining your digital environment. The goal of machineconfig is to replicate your setup, config, code, data and secrets on any machine, any os, in 5 minutes, using minimal user input. Then, from that point, machineconfig will help you maintain, update, backup and sync your digital life across all your devices, automatically.
33
+
34
+
35
+ ## ⚙️ Functional Overview
36
+
37
+ | Category | Comparable Tools | Description |
38
+ |------------------------|----------------------------------------------|-----------------------------------------------------------|
39
+ | **Package Manager** | `winget`, `apt`, `brew`, `nix` | Installs and manages software packages across systems. |
40
+ | **Configuration Manager** | `Ansible`, `Chef`, `Puppet` | Configures and maintains system‐level preferences. |
41
+ | **Automation Tool** | `Airflow`, `Prefect`, `Dagster`, `Celery` | Automates repetitive tasks, pipelines, orchestration. |
42
+ | **Dotfiles Manager** | `chezmoi`, `yadm`, `rcm`, `GNU Stow` | Synchronises dotfiles & personal configs across systems. |
43
+ | **Data Solution** | `rclone`, `rsync` | Handles backups, mirroring and secure file sync. |
44
+ | **Code Manager** | `strong‐box`, `Vault` | Manages and protects code snippets, secrets and creds. |
45
+
46
+ ---
47
+
48
+
49
+ # Install On Windows:
50
+
51
+ ```powershell
52
+ # install tool the tool only:
53
+ powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex" # Skip if UV is already installed
54
+ uv tool install --upgrade --python 3.14 machineconfig
55
+ # interactive install of machineconfig and following on to run it and make basic machine configuration (RECOMMENDED):
56
+ iex (iwr bit.ly/cfgwindows).Content # Or, if UV is installed: iex (uvx machineconfig define)
57
+ # Quick install and configure (optionals are accepted by default):
58
+ iex (iwr bit.ly/cfgwq).Content
59
+ ```
60
+
61
+
62
+ # Install On Linux and MacOS
63
+
64
+ ```bash
65
+ # install the tool only:
66
+ curl -LsSf https://astral.sh/uv/install.sh | sh # Skip if UV is already installed
67
+ uv tool install --upgrade --python 3.14 machineconfig
68
+ # interactive install of machineconfig and following on to run it and make basic machine configuration (RECOMMENDED):
69
+ . <(curl -L bit.ly/cfglinux) # Or, if UV is installed: . <(uvx machineconfig define)
70
+ ```
71
+
72
+
73
+ # Author
74
+ Alex Al-Saffar. [email](mailto:programmer@usa.com)
75
+
76
+ # Contributor
77
+ Ruby Chan. [email](mailto:ruby.chan@sa.gov.au)
78
+
79
+
80
+ [![Alex's github activity graph](https://github-readme-activity-graph.vercel.app/graph?username=thisismygitrepo)](https://github.com/ashutosh00710/github-readme-activity-graph)
81
+
@@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta"
6
6
 
7
7
  [project]
8
8
  name = "machineconfig"
9
- version = "7.54"
9
+ version = "7.56"
10
10
  description = "Dotfiles management package"
11
11
  readme = "README.md"
12
12
  license = {text = "Apache 2.0"}
@@ -106,6 +106,7 @@ dev = [
106
106
  "polars>=1.34.0",
107
107
  "pre-commit>=4.3.0",
108
108
  "pudb>=2025.1",
109
+ "py7zr>=1.0.0",
109
110
  "pylint>=3.3.8",
110
111
  "pylsp-mypy>=0.7.0",
111
112
  "pymupdf>=1.26.5",
@@ -8,7 +8,7 @@ from rich.panel import Panel
8
8
  from machineconfig.utils.schemas.installer.installer_types import InstallerData
9
9
 
10
10
 
11
- ps1 = """
11
+ ps1 = r"""
12
12
  winget install --no-upgrade --name "Powershell" --Id "Microsoft.PowerShell" --source winget --scope user --accept-package-agreements --accept-source-agreements # powershell require admin
13
13
  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
14
14
  winget install --no-upgrade --name "GNU Nano" --Id "GNU.Nano" --source winget --scope user --accept-package-agreements --accept-source-agreements
@@ -20,7 +20,7 @@ winget install --no-upgrade --name "GNU Nano" --Id "GNU.Nano
20
20
 
21
21
  """
22
22
 
23
- zsh = """
23
+ zsh = r"""
24
24
  /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
25
25
  echo "🔄 Updating Homebrew..."
26
26
  brew update || true
@@ -48,7 +48,7 @@ nvm install node || true
48
48
  echo "✅ Essential tools installation complete."
49
49
  """
50
50
 
51
- bash = """
51
+ bash = r"""
52
52
  echo "🔄 Updating apt package lists..."
53
53
  echo "📥 Installing nala package manager..."
54
54
  echo "📥 Installing essential network tools..."
@@ -87,12 +87,9 @@ nvm install node || true
87
87
  # sudo nala install hollywood -y || true
88
88
 
89
89
  # --GROUP:net: sshfs,samba,fuse3,nfs-common
90
- echo "📥 Installing sshfs - mount remote filesystems over SSH..."
91
- echo "📥 Installing Samba - LAN-based file sharing..."
92
90
  sudo nala install samba
93
91
  sudo nala install fuse3 -y || true
94
92
  sudo nala install nfs-common -y || true
95
-
96
93
  # --GROUP:dev: graphviz,make,rust,libssl-dev,sqlite3,postgresql-client,redis-tools
97
94
  # sudo nala install ffmpeg -y || true # Required by some dev tools
98
95
  # sudo nala install make -y || true # Required by LunarVim and SpaceVim
@@ -1844,12 +1844,12 @@
1844
1844
  "fileNamePattern": {
1845
1845
  "amd64": {
1846
1846
  "linux": "miniserve-{version}-x86_64-unknown-linux-musl",
1847
- "darwin": "miniserve-{version}-x86_64-apple-darwin",
1847
+ "macos": "miniserve-{version}-x86_64-apple-darwin",
1848
1848
  "windows": "miniserve-{version}-x86_64-pc-windows-msvc.exe"
1849
1849
  },
1850
1850
  "arm64": {
1851
1851
  "linux": "miniserve-{version}-aarch64-unknown-linux-musl",
1852
- "darwin": "miniserve-{version}-aarch64-apple-darwin",
1852
+ "macos": "miniserve-{version}-aarch64-apple-darwin",
1853
1853
  "windows": "miniserve-{version}-aarch64-pc-windows-msvc.exe"
1854
1854
  }
1855
1855
  }
@@ -2200,14 +2200,14 @@
2200
2200
  "doc": "🖥️ Text-based desktop environment inside your terminal",
2201
2201
  "fileNamePattern": {
2202
2202
  "amd64": {
2203
- "linux": null,
2204
- "macos": null,
2205
- "windows": null
2203
+ "linux": "vtm_linux_x86_64.tar.7z",
2204
+ "macos": "vtm_macos_any.tar.7z",
2205
+ "windows": "vtm_windows_x86_64.7z"
2206
2206
  },
2207
2207
  "arm64": {
2208
- "linux": null,
2209
- "macos": null,
2210
- "windows": null
2208
+ "linux": "vtm_linux_arm64.tar.7z",
2209
+ "macos": "vtm_macos_any.tar.7z",
2210
+ "windows": "vtm_windows_arm64.7z"
2211
2211
  }
2212
2212
  }
2213
2213
  },
@@ -2570,7 +2570,7 @@
2570
2570
  }
2571
2571
  },
2572
2572
  {
2573
- "appName": "Brave",
2573
+ "appName": "brave",
2574
2574
  "repoURL": "CMD",
2575
2575
  "doc": "Privacy-focused web browser with built-in ad blocking",
2576
2576
  "fileNamePattern": {
@@ -2706,7 +2706,7 @@
2706
2706
  }
2707
2707
  },
2708
2708
  {
2709
- "appName": "Wezterm",
2709
+ "appName": "wezterm",
2710
2710
  "repoURL": "CMD",
2711
2711
  "doc": "Modern, GPU-accelerated terminal emulator",
2712
2712
  "fileNamePattern": {
@@ -1,4 +1,11 @@
1
1
 
2
+ GUI = [
3
+ "brave",
4
+ "code",
5
+ "git",
6
+ "wezterm",
7
+ ]
8
+
2
9
  # AI/LLM Tools - AI-powered coding and chat assistants
3
10
  AGENTS = [
4
11
  "aider",
@@ -221,6 +228,7 @@ PACKAGES_TERMINAL_SHELL = [
221
228
  PACKAGE_GROUP2NAMES: dict[str, list[str]] = {
222
229
  "sysabc": ["sysabc"],
223
230
  "termabc": [*PACKAGES_CODE_ANALYSIS, *PACKAGES_SYSTEM_MONITORS, *PACKAGES_TERMINAL_SHELL, *PACKAGES_FILE,],
231
+ "gui": GUI,
224
232
  "dev": [*PACKAGES_TERMINAL_EMULATORS, *PACKAGES_BROWSERS, *PACKAGES_CODE_EDITORS, *PACKAGES_DATABASE, *PACKAGES_MEDIA, *PACKAGES_FILE_SHARING, *PACKAGES_DEV_UTILS, *PACKAGES_CODE_ANALYSIS, *PACKAGES_PRODUCTIVITY, *PACKAGES_MISC_DEV,],
225
233
  "dev-utils": PACKAGES_DEV_UTILS,
226
234
  "dev-msc": PACKAGES_MISC_DEV,
@@ -107,7 +107,7 @@ def croshell(
107
107
  fire_line = f"uv run --python 3.14 --with visidata,pyarrow vd {str(file_obj)}"
108
108
  elif marimo:
109
109
  if Path.home().joinpath("code/machineconfig").exists(): requirements = f"""--with marimo --project "{str(Path.home().joinpath("code/machineconfig"))}" """
110
- else: requirements = """--python 3.14 --with "marimo,cowsay,machineconfig[plot]>=7.54" """
110
+ else: requirements = """--python 3.14 --with "marimo,cowsay,machineconfig[plot]>=7.56" """
111
111
  fire_line = f"""
112
112
  cd {str(pyfile.parent)}
113
113
  uv run --python 3.14 --with "marimo" marimo convert {pyfile.name} -o marimo_nb.py
@@ -115,14 +115,14 @@ uv run {requirements} marimo edit --host 0.0.0.0 marimo_nb.py
115
115
  """
116
116
  elif jupyter:
117
117
  if Path.home().joinpath("code/machineconfig").exists(): requirements = f"""--project "{str(Path.home().joinpath("code/machineconfig"))}" --with jupyterlab """
118
- else: requirements = """--with "cowsay,machineconfig[plot]>=7.54" """
118
+ else: requirements = """--with "cowsay,machineconfig[plot]>=7.56" """
119
119
  fire_line = f"uv run {requirements} jupyter-lab {str(nb_target)}"
120
120
  elif vscode:
121
121
  fire_line = f"""
122
122
  cd {str(pyfile.parent)}
123
123
  uv init --python 3.14
124
124
  uv venv
125
- uv add "cowsay,machineconfig[plot]>=7.54"
125
+ uv add "cowsay,machineconfig[plot]>=7.56"
126
126
  # code serve-web
127
127
  code --new-window {str(pyfile)}
128
128
  """
@@ -130,7 +130,7 @@ code --new-window {str(pyfile)}
130
130
  if interpreter == "ipython": profile = f" --profile {ipython_profile} --no-banner"
131
131
  else: profile = ""
132
132
  if Path.home().joinpath("code/machineconfig").exists(): ve_line = f"""--project "{str(Path.home().joinpath("code/machineconfig"))}" """
133
- else: ve_line = """--python 3.14 --with "cowsay,machineconfig[plot]>=7.54" """
133
+ else: ve_line = """--python 3.14 --with "cowsay,machineconfig[plot]>=7.56" """
134
134
  # ve_path_maybe, ipython_profile_maybe = get_ve_path_and_ipython_profile(Path.cwd())
135
135
  # --python 3.14
136
136
  fire_line = f"uv run {ve_line} {interpreter} {interactivity} {profile} {str(pyfile)}"
@@ -2,7 +2,7 @@
2
2
  # /// script
3
3
  # requires-python = ">=3.13"
4
4
  # dependencies = [
5
- # "machineconfig>=7.54",
5
+ # "machineconfig>=7.56",
6
6
  # "textual",
7
7
  # "pyperclip",
8
8
  # ]
@@ -12,7 +12,9 @@ def main(
12
12
  method: Annotated[Literal["symlink", "s", "copy", "c"], typer.Option(..., "--method", "-m", help="Method to use for linking files")] = "copy",
13
13
  on_conflict: Annotated[ON_CONFLICT_LOOSE, typer.Option(..., "--on-conflict", "-o", help="Action to take on conflict")] = "throw-error",
14
14
  sensitivity: Annotated[Literal["private", "v", "public", "b"], typer.Option(..., "--sensitivity", "-s", help="Sensitivity of the config file.")] = "private",
15
- destination: Annotated[str, typer.Option("--destination", "-d", help="destination folder (override the default, use at your own risk)")] = "",) -> None:
15
+ destination: Annotated[str, typer.Option("--destination", "-d", help="destination folder (override the default, use at your own risk)")] = "",
16
+ shared: Annotated[bool, typer.Option("--shared", "-sh", help="Whether the config file is shared across destinations directory.")] = False,
17
+ ) -> None:
16
18
  from rich.console import Console
17
19
  from rich.panel import Panel
18
20
  from machineconfig.utils.links import symlink_map, copy_map
@@ -27,14 +29,22 @@ def main(
27
29
  console = Console()
28
30
  orig_path = Path(file).expanduser().absolute()
29
31
  if destination == "":
30
- new_path = backup_root.joinpath(orig_path.relative_to(Path.home()))
31
- new_path.parent.mkdir(parents=True, exist_ok=True)
32
+ if shared:
33
+ new_path = backup_root.joinpath("shared").joinpath(orig_path.name)
34
+ new_path.parent.mkdir(parents=True, exist_ok=True)
35
+ else:
36
+ new_path = backup_root.joinpath(orig_path.relative_to(Path.home()))
37
+ new_path.parent.mkdir(parents=True, exist_ok=True)
32
38
  else:
33
- dest_path = Path(destination).expanduser().absolute()
34
- dest_path.mkdir(parents=True, exist_ok=True)
35
- new_path = dest_path.joinpath(orig_path.name)
36
-
37
-
39
+ if shared:
40
+ dest_path = Path(destination).expanduser().absolute()
41
+ dest_path.mkdir(parents=True, exist_ok=True)
42
+ new_path = dest_path.joinpath("shared").joinpath(orig_path.name)
43
+ new_path.parent.mkdir(parents=True, exist_ok=True)
44
+ else:
45
+ dest_path = Path(destination).expanduser().absolute()
46
+ dest_path.mkdir(parents=True, exist_ok=True)
47
+ new_path = dest_path.joinpath(orig_path.name)
38
48
  from machineconfig.utils.path_extended import PathExtended
39
49
  match method:
40
50
  case "copy" | "c":
@@ -52,9 +52,9 @@ def install(no_copy_assets: Annotated[bool, typer.Option("--no-assets-copy", "-n
52
52
  else:
53
53
  import platform
54
54
  if platform.system() == "Windows":
55
- run_shell_script(r"""& "$HOME\.local\bin\uv.exe" tool install --upgrade "machineconfig>=7.54" """)
55
+ run_shell_script(r"""& "$HOME\.local\bin\uv.exe" tool install --upgrade "machineconfig>=7.56" """)
56
56
  else:
57
- run_shell_script("""$HOME/.local/bin/uv tool install --upgrade "machineconfig>=7.54" """)
57
+ run_shell_script("""$HOME/.local/bin/uv tool install --upgrade "machineconfig>=7.56" """)
58
58
  from machineconfig.profile.create_shell_profile import create_default_shell_profile
59
59
  if not no_copy_assets:
60
60
  create_default_shell_profile() # involves copying assets too
@@ -79,7 +79,7 @@ def navigate():
79
79
  path = Path(navigator.__file__).resolve().parent.joinpath("devops_navigator.py")
80
80
  from machineconfig.utils.code import run_shell_script
81
81
  if Path.home().joinpath("code/machineconfig").exists(): executable = f"""--project "{str(Path.home().joinpath("code/machineconfig"))}" --with textual"""
82
- else: executable = """--with "machineconfig>=7.54,textual" """
82
+ else: executable = """--with "machineconfig>=7.56,textual" """
83
83
  run_shell_script(f"""uv run {executable} {path}""")
84
84
 
85
85
 
@@ -54,7 +54,12 @@ def main(
54
54
  else:
55
55
  cloud_resolved = cloud
56
56
  repo_local_root = PathExtended.cwd() if repo is None else PathExtended(repo).expanduser().absolute()
57
- repo_local_obj = git.Repo(repo_local_root, search_parent_directories=True)
57
+ try:
58
+ repo_local_obj = git.Repo(repo_local_root, search_parent_directories=True)
59
+ except git.InvalidGitRepositoryError:
60
+ typer.echo(f"[red]Error:[/] The specified path '{repo_local_root}' is not a valid git repository.")
61
+ typer.Exit(code=1)
62
+ return ""
58
63
  repo_local_root = PathExtended(repo_local_obj.working_dir) # cwd might have been in a sub directory of repo_root, so its better to redefine it.
59
64
  PathExtended(CONFIG_ROOT).joinpath("remote").mkdir(parents=True, exist_ok=True)
60
65
  repo_remote_root = PathExtended(CONFIG_ROOT).joinpath("remote", repo_local_root.rel2home())
@@ -99,7 +104,7 @@ git pull originEnc master
99
104
  uv_project_dir = f"""{str(Path.home().joinpath("code/machineconfig"))}"""
100
105
  uv_with = None
101
106
  else:
102
- uv_with = ["machineconfig>=7.54"]
107
+ uv_with = ["machineconfig>=7.56"]
103
108
  uv_project_dir = None
104
109
 
105
110
  import tempfile
@@ -8,7 +8,7 @@ def analyze_repo_development(repo_path: Annotated[str, typer.Argument(..., help=
8
8
  from pathlib import Path
9
9
  count_lines_path = Path(count_lines.__file__)
10
10
  # --project $HOME/code/ machineconfig --group plot
11
- cmd = f"""uv run --python 3.14 --with "machineconfig[plot]>=7.54" {count_lines_path} analyze-over-time {repo_path}"""
11
+ cmd = f"""uv run --python 3.14 --with "machineconfig[plot]>=7.56" {count_lines_path} analyze-over-time {repo_path}"""
12
12
  from machineconfig.utils.code import run_shell_script
13
13
  run_shell_script(cmd)
14
14
 
@@ -17,7 +17,7 @@ def path():
17
17
  uv_with = ["textual"]
18
18
  uv_project_dir = None
19
19
  if not Path.home().joinpath("code/machineconfig").exists():
20
- uv_with.append("machineconfig>=7.54")
20
+ uv_with.append("machineconfig>=7.56")
21
21
  else:
22
22
  uv_project_dir = str(Path.home().joinpath("code/machineconfig"))
23
23
  run_shell_script(get_uv_command_executing_python_script(python_script=path.read_text(encoding="utf-8"), uv_with=uv_with, uv_project_dir=uv_project_dir)[0])
@@ -19,9 +19,7 @@ for better user experience with checkbox selections.
19
19
 
20
20
  import sys
21
21
  from pathlib import Path
22
- # from typing import cast
23
22
  import platform
24
-
25
23
  import questionary
26
24
  from questionary import Choice
27
25
  from rich.console import Console
@@ -29,7 +27,6 @@ from rich.panel import Panel
29
27
  from rich.text import Text
30
28
  from machineconfig.utils.code import run_shell_script
31
29
 
32
- # _ = cast
33
30
  console = Console()
34
31
 
35
32
 
@@ -96,13 +93,13 @@ def display_dotfiles_instructions() -> None:
96
93
  def get_installation_choices() -> list[str]:
97
94
  """Get user choices for installation options."""
98
95
  choices = [
99
- Choice(value="install_machineconfig", title="🐍 Install machineconfig.", checked=False),
100
- Choice(value="sysabc", title="📥 Install Essential System Packages.", checked=False),
101
- Choice(value="termabc", title="⚡ Install Terminal CLI apps essentials", checked=False),
102
- Choice(value="install_shell_profile", title="🐚 Configure Shell Profile.", checked=False),
103
- Choice(value="install_ssh_server", title="🔒 Install SSH Server", checked=False),
104
- Choice(value="retrieve_repositories", title="📚 Retrieve Repositories", checked=False),
105
- Choice(value="retrieve_data", title="💾 Retrieve Data.", checked=False),
96
+ Choice(value="install_machineconfig", title="🐍 Install machineconfig cli.", checked=False),
97
+ Choice(value="sysabc", title="📥 Install System Package Manager (Needed for other apps to be installed).", checked=False),
98
+ Choice(value="termabc", title="⚡ Install Terminal CLI apps essentials (group `termabc`)", checked=False),
99
+ Choice(value="install_shell_profile", title="🐚 Configure Shell Profile And Map Other Configs.", checked=False),
100
+ Choice(value="install_ssh_server", title="🔒 [ADVANCED] Configure SSH Server", checked=False),
101
+ Choice(value="retrieve_repositories", title="📚 [ADVANCED] Retrieve Repositories", checked=False),
102
+ Choice(value="retrieve_data", title="💾 [ADVANCED] Retrieve Data.", checked=False),
106
103
  ]
107
104
  selected = questionary.checkbox("Select the installation options you want to execute:", choices=choices, show_description=True).ask()
108
105
  return selected or []
@@ -119,7 +116,6 @@ def execute_installations(selected_options: list[str]) -> None:
119
116
  console.print("✅ CLI applications installed successfully", style="bold green")
120
117
  except Exception as e:
121
118
  console.print(f"❌ Error installing CLI applications: {e}", style="bold red")
122
- import platform
123
119
  if platform.system() != "Windows":
124
120
  run_shell_script(". $HOME/.bashrc")
125
121
 
@@ -130,7 +126,6 @@ def execute_installations(selected_options: list[str]) -> None:
130
126
 
131
127
  if "install_ssh_server" in selected_options:
132
128
  console.print(Panel("🔒 [bold red]SSH SERVER[/bold red]\n[italic]Remote access setup[/italic]", border_style="red"))
133
- import platform
134
129
  if platform.system() == "Windows":
135
130
  powershell_script = """Write-Host "🔧 Installing and configuring SSH server..."
136
131
  Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
@@ -147,6 +142,8 @@ Set-Service -Name sshd -StartupType 'Automatic'"""
147
142
  from machineconfig.profile.create_shell_profile import create_default_shell_profile
148
143
  create_default_shell_profile()
149
144
  console.print("✅ Shell profile configured successfully", style="bold green")
145
+ from machineconfig.profile.create_links_export import main_public_from_parser
146
+ main_public_from_parser(method="copy", on_conflict="overwrite-default-path", which="all", interactive=False)
150
147
  if platform.system() == "Windows":
151
148
  from machineconfig.jobs.installer.custom_dev.nerfont_windows_helper import install_nerd_fonts
152
149
  install_nerd_fonts()
@@ -5,7 +5,7 @@ from machineconfig.utils.source_of_truth import LIBRARY_ROOT
5
5
  from machineconfig.utils.path_extended import PathExtended
6
6
  from rich.console import Console
7
7
  from rich.panel import Panel
8
- from rich import box # Import box
8
+ from rich import box
9
9
  from typing import Optional, Annotated
10
10
  import typer
11
11
 
@@ -13,7 +13,7 @@ import typer
13
13
  console = Console()
14
14
 
15
15
 
16
- def get_add_ssh_key_script(path_to_key: PathExtended):
16
+ def get_add_ssh_key_script(path_to_key: PathExtended) -> str:
17
17
  console.print(Panel("🔑 SSH KEY CONFIGURATION", title="[bold blue]SSH Setup[/bold blue]"))
18
18
  if system() == "Linux" or system() == "Darwin":
19
19
  authorized_keys = PathExtended.home().joinpath(".ssh/authorized_keys")
@@ -66,14 +66,13 @@ sudo service ssh --full-restart
66
66
  return program
67
67
 
68
68
 
69
-
70
69
  """
71
- # Common pitfalls:
72
- # 🚫 Wrong line endings (LF/CRLF) in config files
73
- # 🌐 Network port conflicts (try 2222 -> 2223) between WSL and Windows
74
- # sudo service ssh restart
75
- # sudo service ssh status
76
- # sudo nano /etc/ssh/sshd_config
70
+ Common pitfalls:
71
+ 🚫 Wrong line endings (LF/CRLF) in config files
72
+ 🌐 Network port conflicts (try 2222 -> 2223) between WSL and Windows
73
+ sudo service ssh restart
74
+ sudo service ssh status
75
+ sudo nano /etc/ssh/sshd_config
77
76
  """
78
77
 
79
78
 
@@ -82,8 +81,10 @@ def main(pub_path: Annotated[Optional[str], typer.Argument(..., help="Path to th
82
81
  pub_val: Annotated[bool, typer.Option(..., "--paste", "-p", help="Paste the public key content manually")] = False,
83
82
  from_github: Annotated[Optional[str], typer.Option(..., "--from-github", "-g", help="Fetch public keys from a GitHub username")] = None
84
83
  ) -> None:
84
+
85
85
  if pub_path:
86
86
  key_path = PathExtended(pub_path).expanduser().absolute()
87
+ key_path.parent.mkdir(parents=True, exist_ok=True)
87
88
  if not key_path.exists():
88
89
  console.print(Panel(f"❌ ERROR: Provided key path does not exist\nPath: {key_path}", title="[bold red]Error[/bold red]"))
89
90
  raise FileNotFoundError(f"Provided key path does not exist: {key_path}")
@@ -109,13 +110,13 @@ def main(pub_path: Annotated[Optional[str], typer.Argument(..., help="Path to th
109
110
  console.print(Panel("📋 Please provide a filename and paste the public key content", title="[bold blue]Input Required[/bold blue]", border_style="blue"))
110
111
  key_filename = input("📝 File name (default: my_pasted_key.pub): ") or "my_pasted_key.pub"
111
112
  key_path = PathExtended.home().joinpath(f".ssh/{key_filename}")
113
+ key_path.parent.mkdir(parents=True, exist_ok=True)
112
114
  key_path.write_text(input("🔑 Paste the public key here: "), encoding="utf-8")
113
115
  console.print(Panel(f"💾 Key saved to: {key_path}", title="[bold green]Success[/bold green]", border_style="green"))
114
116
  program = get_add_ssh_key_script(key_path)
115
117
  elif from_github:
116
118
  console.print(Panel(f"🌐 Fetching public keys from GitHub user: {from_github}", title="[bold blue]GitHub Fetch[/bold blue]", border_style="blue"))
117
119
  import requests
118
- # $pubkey_url = 'https://github.com/thisismygitrepo.keys' # $pubkey_string = (Invoke-WebRequest $pubkey_url).Content
119
120
  response = requests.get(f"https://api.github.com/users/{from_github}/keys")
120
121
  if response.status_code != 200:
121
122
  console.print(Panel(f"❌ ERROR: Failed to fetch keys from GitHub user {from_github}\nStatus Code: {response.status_code}", title="[bold red]Error[/bold red]", border_style="red"))
@@ -126,6 +127,7 @@ def main(pub_path: Annotated[Optional[str], typer.Argument(..., help="Path to th
126
127
  return
127
128
  console.print(Panel(f"✅ Found {len(keys)} public key(s) for user: {from_github}", title="[bold green]Success[/bold green]", border_style="green"))
128
129
  key_path = PathExtended.home().joinpath(f".ssh/{from_github}_github_keys.pub")
130
+ key_path.parent.mkdir(parents=True, exist_ok=True)
129
131
  key_path.write_text("\n".join([key["key"] for key in keys]), encoding="utf-8")
130
132
  console.print(Panel(f"💾 Keys saved to: {key_path}", title="[bold green]Success[/bold green]", border_style="green"))
131
133
  program = get_add_ssh_key_script(key_path)
@@ -137,10 +139,10 @@ def main(pub_path: Annotated[Optional[str], typer.Argument(..., help="Path to th
137
139
  run_shell_script(script=program)
138
140
  import socket
139
141
  s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
140
- s.connect(('8.8.8.8',80))
142
+ s.connect(('8.8.8.8', 80))
141
143
  local_ip_v4 = s.getsockname()[0]
142
144
  s.close()
143
- print(f"This computer is @ {local_ip_v4}")
145
+ console.print(Panel(f"🌐 This computer is accessible at: {local_ip_v4}", title="[bold green]Network Info[/bold green]", border_style="green"))
144
146
  console.print(Panel("✅ SSH KEY AUTHORIZATION COMPLETED", box=box.DOUBLE_EDGE, title_align="left"))
145
147
 
146
148