machineconfig 5.76__tar.gz → 5.77__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 (434) hide show
  1. {machineconfig-5.76/src/machineconfig.egg-info → machineconfig-5.77}/PKG-INFO +1 -1
  2. {machineconfig-5.76 → machineconfig-5.77}/pyproject.toml +2 -3
  3. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/devops.py +12 -8
  4. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/devops_helpers/cli_nw.py +13 -0
  5. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/devops_helpers/cli_self.py +21 -0
  6. machineconfig-5.77/src/machineconfig/scripts/python/nw/add_ssh_key.py +148 -0
  7. machineconfig-5.77/src/machineconfig/scripts/python/nw/devops_add_identity.py +82 -0
  8. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/lf/linux/exe/previewer.sh +6 -1
  9. machineconfig-5.77/src/machineconfig/settings/lf/linux/lfrc +631 -0
  10. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/setup_linux/uv.sh +1 -1
  11. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/setup_windows/uv.ps1 +1 -1
  12. {machineconfig-5.76 → machineconfig-5.77/src/machineconfig.egg-info}/PKG-INFO +1 -1
  13. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig.egg-info/SOURCES.txt +2 -0
  14. machineconfig-5.76/src/machineconfig/settings/lf/linux/lfrc +0 -224
  15. {machineconfig-5.76 → machineconfig-5.77}/MANIFEST.in +0 -0
  16. {machineconfig-5.76 → machineconfig-5.77}/README.md +0 -0
  17. {machineconfig-5.76 → machineconfig-5.77}/setup.cfg +0 -0
  18. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/__init__.py +0 -0
  19. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/cluster/__init__.py +0 -0
  20. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/cluster/remote/cloud_manager.py +0 -0
  21. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/cluster/remote/data_transfer.py +0 -0
  22. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/cluster/remote/distribute.py +0 -0
  23. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/cluster/remote/file_manager.py +0 -0
  24. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/cluster/remote/job_params.py +0 -0
  25. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/cluster/remote/loader_runner.py +0 -0
  26. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/cluster/remote/remote_machine.py +0 -0
  27. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/cluster/remote/run_cloud.py +0 -0
  28. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/cluster/remote/run_cluster.py +0 -0
  29. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/cluster/remote/run_remote.py +0 -0
  30. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/cluster/remote/script_execution.py +0 -0
  31. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/cluster/remote/script_notify_upon_completion.py +0 -0
  32. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/cluster/sessions_managers/__init__.py +0 -0
  33. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/cluster/sessions_managers/helpers/zellij_local_helper.py +0 -0
  34. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/cluster/sessions_managers/helpers/zellij_local_helper_restart.py +0 -0
  35. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/cluster/sessions_managers/helpers/zellij_local_helper_with_panes.py +0 -0
  36. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/cluster/sessions_managers/helpers/zellij_local_manager_helper.py +0 -0
  37. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/cluster/sessions_managers/utils/enhanced_command_runner.py +0 -0
  38. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/cluster/sessions_managers/utils/load_balancer.py +0 -0
  39. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/cluster/sessions_managers/utils/load_balancer_helper.py +0 -0
  40. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/cluster/sessions_managers/wt_local.py +0 -0
  41. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/cluster/sessions_managers/wt_local_manager.py +0 -0
  42. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/cluster/sessions_managers/wt_remote.py +0 -0
  43. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/cluster/sessions_managers/wt_remote_manager.py +0 -0
  44. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/cluster/sessions_managers/wt_utils/layout_generator.py +0 -0
  45. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/cluster/sessions_managers/wt_utils/process_monitor.py +0 -0
  46. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/cluster/sessions_managers/wt_utils/remote_executor.py +0 -0
  47. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/cluster/sessions_managers/wt_utils/session_manager.py +0 -0
  48. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/cluster/sessions_managers/wt_utils/status_reporter.py +0 -0
  49. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/cluster/sessions_managers/zellij_local.py +0 -0
  50. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/cluster/sessions_managers/zellij_local_manager.py +0 -0
  51. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/cluster/sessions_managers/zellij_remote.py +0 -0
  52. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/cluster/sessions_managers/zellij_remote_manager.py +0 -0
  53. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/cluster/sessions_managers/zellij_utils/example_usage.py +0 -0
  54. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/cluster/sessions_managers/zellij_utils/layout_generator.py +0 -0
  55. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/cluster/sessions_managers/zellij_utils/monitoring_types.py +0 -0
  56. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/cluster/sessions_managers/zellij_utils/process_monitor.py +0 -0
  57. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/cluster/sessions_managers/zellij_utils/remote_executor.py +0 -0
  58. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/cluster/sessions_managers/zellij_utils/session_manager.py +0 -0
  59. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/cluster/sessions_managers/zellij_utils/status_reporter.py +0 -0
  60. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/cluster/templates/__init__.py +0 -0
  61. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/cluster/templates/cli_trogon.py +0 -0
  62. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/jobs/__init__.py +0 -0
  63. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/jobs/installer/__init__.py +0 -0
  64. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/jobs/installer/check_installations.py +0 -0
  65. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/jobs/installer/custom/gh.py +0 -0
  66. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/jobs/installer/custom/hx.py +0 -0
  67. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/jobs/installer/custom_dev/__init__.py +0 -0
  68. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/jobs/installer/custom_dev/alacritty.py +0 -0
  69. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/jobs/installer/custom_dev/brave.py +0 -0
  70. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/jobs/installer/custom_dev/bypass_paywall.py +0 -0
  71. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/jobs/installer/custom_dev/code.py +0 -0
  72. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/jobs/installer/custom_dev/cursor.py +0 -0
  73. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/jobs/installer/custom_dev/dubdb_adbc.py +0 -0
  74. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/jobs/installer/custom_dev/espanso.py +0 -0
  75. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/jobs/installer/custom_dev/goes.py +0 -0
  76. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/jobs/installer/custom_dev/lvim.py +0 -0
  77. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/jobs/installer/custom_dev/nerdfont.py +0 -0
  78. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/jobs/installer/custom_dev/nerfont_windows_helper.py +0 -0
  79. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/jobs/installer/custom_dev/redis.py +0 -0
  80. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/jobs/installer/custom_dev/wezterm.py +0 -0
  81. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/jobs/installer/custom_dev/winget.py +0 -0
  82. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/jobs/installer/installer_data.json +0 -0
  83. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/jobs/installer/linux_scripts/brave.sh +0 -0
  84. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/jobs/installer/linux_scripts/docker.sh +0 -0
  85. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/jobs/installer/linux_scripts/docker_start.sh +0 -0
  86. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/jobs/installer/linux_scripts/edge.sh +0 -0
  87. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/jobs/installer/linux_scripts/nerdfont.sh +0 -0
  88. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/jobs/installer/linux_scripts/ngrok.sh +0 -0
  89. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/jobs/installer/linux_scripts/pgsql.sh +0 -0
  90. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/jobs/installer/linux_scripts/q.sh +0 -0
  91. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/jobs/installer/linux_scripts/redis.sh +0 -0
  92. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/jobs/installer/linux_scripts/timescaledb.sh +0 -0
  93. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/jobs/installer/linux_scripts/vscode.sh +0 -0
  94. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/jobs/installer/linux_scripts/warp-cli.sh +0 -0
  95. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/jobs/installer/linux_scripts/wezterm.sh +0 -0
  96. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/jobs/installer/package_groups.py +0 -0
  97. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/jobs/installer/powershell_scripts/install_fonts.ps1 +0 -0
  98. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/jobs/linux/msc/cli_agents.sh +0 -0
  99. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/jobs/linux/msc/lid.sh +0 -0
  100. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/jobs/linux/msc/network.sh +0 -0
  101. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/jobs/python/__init__.py +0 -0
  102. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/jobs/python/python_ve_symlink.py +0 -0
  103. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/jobs/python/vscode/api.py +0 -0
  104. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/jobs/python/vscode/sync_code.py +0 -0
  105. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/jobs/windows/archive/archive_pygraphviz.ps1 +0 -0
  106. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/jobs/windows/archive/openssh-server_add_key.ps1 +0 -0
  107. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/jobs/windows/archive/openssh-server_copy-ssh-id.ps1 +0 -0
  108. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/jobs/windows/msc/cli_agents.bat +0 -0
  109. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/jobs/windows/msc/cli_agents.ps1 +0 -0
  110. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/logger.py +0 -0
  111. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/profile/__init__.py +0 -0
  112. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/profile/backup.toml +0 -0
  113. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/profile/bash_shell_profiles.md +0 -0
  114. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/profile/create_helper.py +0 -0
  115. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/profile/create_links.py +0 -0
  116. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/profile/create_links_export.py +0 -0
  117. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/profile/create_shell_profile.py +0 -0
  118. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/profile/mapper.toml +0 -0
  119. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/profile/records/generic/shares.toml +0 -0
  120. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/profile/records/linux/apps_summary_report.csv +0 -0
  121. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/profile/records/linux/apps_summary_report.md +0 -0
  122. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/profile/records/windows/apps_summary_report.csv +0 -0
  123. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/profile/records/windows/apps_summary_report.md +0 -0
  124. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/Restore-ThunderbirdProfile.ps1 +0 -0
  125. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/__init__.py +0 -0
  126. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/linux/fzf2g +0 -0
  127. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/linux/fzfag +0 -0
  128. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/linux/fzffg +0 -0
  129. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/linux/fzfg +0 -0
  130. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/linux/fzfrga +0 -0
  131. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/linux/other/share_cloud.sh +0 -0
  132. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/linux/other/share_nfs +0 -0
  133. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/linux/other/share_smb +0 -0
  134. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/linux/other/start_docker +0 -0
  135. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/linux/other/switch_ip +0 -0
  136. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/linux/skrg +0 -0
  137. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/linux/warp-cli.sh +0 -0
  138. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/linux/z_ls +0 -0
  139. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/__init__.py +0 -0
  140. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/agents.py +0 -0
  141. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/ai/__init__.py +0 -0
  142. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/ai/command_runner/command_runner.sh +0 -0
  143. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/ai/command_runner/prompt.txt +0 -0
  144. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/ai/generate_files.py +0 -0
  145. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/ai/initai.py +0 -0
  146. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/ai/scripts/lint_and_type_check.ps1 +0 -0
  147. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/ai/scripts/lint_and_type_check.sh +0 -0
  148. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/ai/solutions/__init__.py +0 -0
  149. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/ai/solutions/_shared.py +0 -0
  150. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/ai/solutions/claude/claude.py +0 -0
  151. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/ai/solutions/cline/cline.py +0 -0
  152. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/Thinking-Beast-Mode.chatmode.md +0 -0
  153. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/Ultimate-Transparent-Thinking-Beast-Mode.chatmode.md +0 -0
  154. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/deepResearch.chatmode.md +0 -0
  155. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/ai/solutions/copilot/github_copilot.py +0 -0
  156. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/ai/solutions/copilot/instructions/python/dev.instructions.md +0 -0
  157. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/ai/solutions/copilot/privacy.md +0 -0
  158. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/ai/solutions/copilot/prompts/pyright_fix.md +0 -0
  159. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/ai/solutions/copilot/prompts/research-report-skeleton.prompt.md +0 -0
  160. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/ai/solutions/crush/crush.json +0 -0
  161. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/ai/solutions/crush/crush.py +0 -0
  162. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/ai/solutions/crush/privacy.md +0 -0
  163. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/ai/solutions/cursor/cursors.py +0 -0
  164. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/ai/solutions/gemini/gemini.py +0 -0
  165. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/ai/solutions/gemini/settings.json +0 -0
  166. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/ai/solutions/generic.py +0 -0
  167. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/ai/solutions/kilocode/privacy.md +0 -0
  168. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/ai/solutions/opencode/opencode.json +0 -0
  169. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/ai/solutions/opencode/opencode.py +0 -0
  170. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/ai/vscode_tasks.py +0 -0
  171. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/cloud.py +0 -0
  172. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/cloud_helpers/__init__.py +0 -0
  173. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/cloud_helpers/cloud_copy.py +0 -0
  174. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/cloud_helpers/cloud_helpers.py +0 -0
  175. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/cloud_helpers/cloud_mount.py +0 -0
  176. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/cloud_helpers/cloud_sync.py +0 -0
  177. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/cloud_helpers/helpers2.py +0 -0
  178. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/cloud_helpers/helpers5.py +0 -0
  179. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/croshell.py +0 -0
  180. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/croshell_helpers/__init__.py +0 -0
  181. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/croshell_helpers/pomodoro.py +0 -0
  182. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/croshell_helpers/scheduler.py +0 -0
  183. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/croshell_helpers/start_slidev.py +0 -0
  184. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/croshell_helpers/viewer.py +0 -0
  185. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/croshell_helpers/viewer_template.py +0 -0
  186. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/devops_helpers/__init__.py +0 -0
  187. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/devops_helpers/cli_config.py +0 -0
  188. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/devops_helpers/cli_config_dotfile.py +0 -0
  189. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/devops_helpers/cli_data.py +0 -0
  190. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/devops_helpers/cli_repos.py +0 -0
  191. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/devops_helpers/cli_share_server.py +0 -0
  192. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/devops_helpers/cli_terminal.py +0 -0
  193. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/devops_helpers/devops_add_identity.py +0 -0
  194. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/devops_helpers/devops_add_ssh_key.py +0 -0
  195. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/devops_helpers/devops_backup_retrieve.py +0 -0
  196. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/devops_helpers/devops_status.py +0 -0
  197. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/devops_helpers/devops_update_repos.py +0 -0
  198. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/devops_helpers/themes/__init__.py +0 -0
  199. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/devops_helpers/themes/choose_pwsh_theme.ps1 +0 -0
  200. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/devops_helpers/themes/choose_wezterm_theme.py +0 -0
  201. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/devops_navigator.py +0 -0
  202. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/entry.py +0 -0
  203. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/env_manager/__init__.py +0 -0
  204. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/env_manager/path_manager_backend.py +0 -0
  205. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/env_manager/path_manager_tui.py +0 -0
  206. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/fire_jobs.py +0 -0
  207. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/ftpx.py +0 -0
  208. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/helper_navigator/__init__.py +0 -0
  209. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/helper_navigator/command_builder.py +0 -0
  210. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/helper_navigator/command_detail.py +0 -0
  211. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/helper_navigator/command_tree.py +0 -0
  212. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/helper_navigator/data_models.py +0 -0
  213. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/helper_navigator/main_app.py +0 -0
  214. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/helper_navigator/search_bar.py +0 -0
  215. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/helpers_fire/__init__.py +0 -0
  216. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/__init__.py +0 -0
  217. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_crush.json +0 -0
  218. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_crush.py +0 -0
  219. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_cursor_agents.py +0 -0
  220. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_gemini.py +0 -0
  221. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_qwen.py +0 -0
  222. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/helpers_fire/fire_agents_help_launch.py +0 -0
  223. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/helpers_fire/fire_agents_help_search.py +0 -0
  224. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/helpers_fire/fire_agents_helper_types.py +0 -0
  225. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/helpers_fire/fire_agents_load_balancer.py +0 -0
  226. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/helpers_fire/helpers4.py +0 -0
  227. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/helpers_fire/prompt.txt +0 -0
  228. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/helpers_fire/template.ps1 +0 -0
  229. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/helpers_fire/template.sh +0 -0
  230. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/helpers_fire_command/__init__.py +0 -0
  231. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/helpers_fire_command/cloud_manager.py +0 -0
  232. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/helpers_fire_command/fire_jobs_args_helper.py +0 -0
  233. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/helpers_fire_command/fire_jobs_route_helper.py +0 -0
  234. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/helpers_fire_command/fire_jobs_streamlit_helper.py +0 -0
  235. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/helpers_repos/__init__.py +0 -0
  236. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py +0 -0
  237. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/helpers_repos/grource.py +0 -0
  238. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/helpers_repos/secure_repo.py +0 -0
  239. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/interactive.py +0 -0
  240. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/nw/__init__.py +0 -0
  241. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/nw/mount_drive +0 -0
  242. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/nw/mount_nfs +0 -0
  243. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/nw/mount_nfs.py +0 -0
  244. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/nw/mount_nw_drive +0 -0
  245. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/nw/mount_nw_drive.py +0 -0
  246. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/nw/mount_smb +0 -0
  247. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/nw/mount_ssh.py +0 -0
  248. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/nw/onetimeshare.py +0 -0
  249. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/nw/wifi_conn.py +0 -0
  250. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/nw/wsl_windows_transfer.py +0 -0
  251. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/repos_helpers/action.py +0 -0
  252. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/repos_helpers/clone.py +0 -0
  253. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/repos_helpers/count_lines.py +0 -0
  254. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/repos_helpers/count_lines_frontend.py +0 -0
  255. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/repos_helpers/entrypoint.py +0 -0
  256. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/repos_helpers/record.py +0 -0
  257. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/repos_helpers/sync.py +0 -0
  258. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/repos_helpers/update.py +0 -0
  259. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/sessions.py +0 -0
  260. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/sessions_helpers/__init__.py +0 -0
  261. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/python/sessions_helpers/sessions_multiprocess.py +0 -0
  262. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/windows/fzfb.ps1 +0 -0
  263. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/windows/fzfg.ps1 +0 -0
  264. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/windows/fzfrga.bat +0 -0
  265. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/windows/mounts/mount_nfs.ps1 +0 -0
  266. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/windows/mounts/mount_nw.ps1 +0 -0
  267. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/windows/mounts/mount_smb.ps1 +0 -0
  268. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/windows/mounts/mount_ssh.ps1 +0 -0
  269. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/windows/mounts/share_cloud.cmd +0 -0
  270. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/windows/mounts/share_smb.ps1 +0 -0
  271. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/scripts/windows/mounts/unlock_bitlocker.ps1 +0 -0
  272. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/__init__.py +0 -0
  273. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/broot/br.sh +0 -0
  274. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/broot/brootcd.ps1 +0 -0
  275. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/broot/conf.toml +0 -0
  276. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/glow/glow.yml +0 -0
  277. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/gromit-mpx/gromit-mpx.cfg +0 -0
  278. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/helix/config.toml +0 -0
  279. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/helix/languages.toml +0 -0
  280. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/keras/keras.json +0 -0
  281. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/keyboard/espanso/config/default.yml +0 -0
  282. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/keyboard/espanso/match/base.yml +0 -0
  283. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/keyboard/kanata/kanata.kbd +0 -0
  284. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/lf/linux/autocall/delete.sh +0 -0
  285. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/lf/linux/autocall/on-cd.sh +0 -0
  286. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/lf/linux/autocall/on-quit.sh +0 -0
  287. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/lf/linux/autocall/open.sh +0 -0
  288. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/lf/linux/autocall/paste.sh +0 -0
  289. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/lf/linux/autocall/pre-cd.sh +0 -0
  290. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/lf/linux/autocall/rename.sh +0 -0
  291. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/lf/linux/colors +0 -0
  292. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/lf/linux/exe/cleaner.sh +0 -0
  293. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/lf/linux/exe/fzf_nano.sh +0 -0
  294. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/lf/linux/exe/leftpane_previewer.sh +0 -0
  295. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/lf/linux/exe/lfcd.sh +0 -0
  296. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/lf/linux/exe/previewer_archive.sh +0 -0
  297. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/lf/linux/icons +0 -0
  298. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/lf/windows/autocall/delete.ps1 +0 -0
  299. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/lf/windows/autocall/on-cd.ps1 +0 -0
  300. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/lf/windows/autocall/on-quit.ps1 +0 -0
  301. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/lf/windows/autocall/open.ps1 +0 -0
  302. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/lf/windows/autocall/paste.ps1 +0 -0
  303. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/lf/windows/autocall/pre-cd.ps1 +0 -0
  304. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/lf/windows/autocall/rename.ps1 +0 -0
  305. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/lf/windows/cd_tere.ps1 +0 -0
  306. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/lf/windows/cd_zoxide.ps1 +0 -0
  307. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/lf/windows/cd_zoxide2.ps1 +0 -0
  308. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/lf/windows/colors +0 -0
  309. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/lf/windows/fzf_edit.ps1 +0 -0
  310. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/lf/windows/icons +0 -0
  311. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/lf/windows/leftpane_previewer.ps1 +0 -0
  312. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/lf/windows/lfcd.ps1 +0 -0
  313. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/lf/windows/lfrc +0 -0
  314. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/lf/windows/mkdir.ps1 +0 -0
  315. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/lf/windows/mkfile.ps1 +0 -0
  316. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/lf/windows/previewer.ps1 +0 -0
  317. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/lf/windows/tst.ps1 +0 -0
  318. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/linters/.flake8 +0 -0
  319. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/linters/.mypy.ini +0 -0
  320. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/linters/.pylintrc +0 -0
  321. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/linters/.ruff.toml +0 -0
  322. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/lvim/linux/config.lua +0 -0
  323. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/lvim/windows/archive/config_additional.lua +0 -0
  324. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/lvim/windows/config.lua +0 -0
  325. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/lvim/windows/lua/user/custom_config.lua +0 -0
  326. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/mprocs/windows/mprocs.yaml +0 -0
  327. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/mprocs/windows/other +0 -0
  328. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/pistol/pistol.conf +0 -0
  329. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/presenterm/config.yaml +0 -0
  330. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/procs/.procs.toml +0 -0
  331. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/pudb/pudb.cfg +0 -0
  332. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/rofi/config.rasi +0 -0
  333. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/rofi/config_default.rasi +0 -0
  334. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/shells/alacritty/alacritty.toml +0 -0
  335. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/shells/alacritty/alacritty.yml +0 -0
  336. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/shells/bash/init.sh +0 -0
  337. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/shells/hyper/.hyper.js +0 -0
  338. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/shells/ipy/profiles/default/__init__.py +0 -0
  339. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/shells/ipy/profiles/default/startup/__init__.py +0 -0
  340. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/shells/ipy/profiles/default/startup/playext.py +0 -0
  341. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/shells/kitty/kitty.conf +0 -0
  342. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/shells/nushell/config.nu +0 -0
  343. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/shells/nushell/env.nu +0 -0
  344. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/shells/pwsh/init.ps1 +0 -0
  345. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/shells/pwsh/profile.ps1 +0 -0
  346. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/shells/starship/starship.toml +0 -0
  347. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/shells/vtm/settings.xml +0 -0
  348. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/shells/wezterm/wezterm.lua +0 -0
  349. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/shells/wt/settings.json +0 -0
  350. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/streamlit/config.toml +0 -0
  351. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/svim/linux/init.toml +0 -0
  352. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/svim/windows/init.toml +0 -0
  353. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/tere/terecd.ps1 +0 -0
  354. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/tere/terecd.sh +0 -0
  355. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/tmux/.tmate.conf +0 -0
  356. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/tmux/.tmux.conf +0 -0
  357. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/wsl/.wslconfig +0 -0
  358. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/yazi/keymap.toml +0 -0
  359. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/yazi/theme.toml +0 -0
  360. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/yazi/yazi.toml +0 -0
  361. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/zed/settings.json +0 -0
  362. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/zellij/commands/monitor +0 -0
  363. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/zellij/commands/standard_panes +0 -0
  364. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/zellij/config.kdl +0 -0
  365. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/zellij/config.orig.kdl +0 -0
  366. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/zellij/layouts/hist +0 -0
  367. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/zellij/layouts/panes.kdl +0 -0
  368. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/zellij/layouts/st.kdl +0 -0
  369. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/zellij/layouts/st2.kdl +0 -0
  370. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/settings/zellij/layouts/stacked_panes.kdl +0 -0
  371. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/setup_linux/__init__.py +0 -0
  372. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/setup_linux/apps.sh +0 -0
  373. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/setup_linux/apps_desktop.sh +0 -0
  374. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/setup_linux/apps_gui.sh +0 -0
  375. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/setup_linux/nix/cli_installation.sh +0 -0
  376. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/setup_linux/others/mint_keyboard_shortcuts.sh +0 -0
  377. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/setup_linux/ssh/openssh_all.sh +0 -0
  378. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/setup_linux/ssh/openssh_wsl.sh +0 -0
  379. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/setup_linux/web_shortcuts/android.sh +0 -0
  380. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/setup_linux/web_shortcuts/interactive.sh +0 -0
  381. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/setup_windows/__init__.py +0 -0
  382. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/setup_windows/apps.ps1 +0 -0
  383. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/setup_windows/others/docker.ps1 +0 -0
  384. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/setup_windows/others/obs.ps1 +0 -0
  385. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/setup_windows/others/power_options.ps1 +0 -0
  386. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/setup_windows/ssh/add-sshkey.ps1 +0 -0
  387. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/setup_windows/ssh/add_identity.ps1 +0 -0
  388. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/setup_windows/ssh/openssh-server.ps1 +0 -0
  389. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/setup_windows/web_shortcuts/interactive.ps1 +0 -0
  390. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/setup_windows/wt_and_pwsh/__init__.py +0 -0
  391. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py +0 -0
  392. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/utils/__init__.py +0 -0
  393. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/utils/accessories.py +0 -0
  394. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/utils/ai/__init__.py +0 -0
  395. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/utils/cloud/onedrive/README.md +0 -0
  396. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/utils/cloud/onedrive/setup_oauth.py +0 -0
  397. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/utils/cloud/onedrive/transaction.py +0 -0
  398. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/utils/code.py +0 -0
  399. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/utils/files/ascii_art.py +0 -0
  400. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/utils/files/dbms.py +0 -0
  401. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/utils/files/headers.py +0 -0
  402. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/utils/files/ouch/__init__.py +0 -0
  403. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/utils/files/ouch/decompress.py +0 -0
  404. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/utils/files/read.py +0 -0
  405. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/utils/installer.py +0 -0
  406. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/utils/installer_utils/__init__.py +0 -0
  407. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/utils/installer_utils/github_release_bulk.py +0 -0
  408. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/utils/installer_utils/installer.py +0 -0
  409. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/utils/installer_utils/installer_abc.py +0 -0
  410. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/utils/installer_utils/installer_class.py +0 -0
  411. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/utils/io.py +0 -0
  412. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/utils/links.py +0 -0
  413. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/utils/meta.py +0 -0
  414. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/utils/notifications.py +0 -0
  415. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/utils/options.py +0 -0
  416. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/utils/path_extended.py +0 -0
  417. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/utils/path_helper.py +0 -0
  418. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/utils/procs.py +0 -0
  419. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/utils/scheduler.py +0 -0
  420. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/utils/scheduling.py +0 -0
  421. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/utils/schemas/fire_agents/fire_agents_input.py +0 -0
  422. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/utils/schemas/installer/installer_types.py +0 -0
  423. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/utils/schemas/layouts/layout_types.py +0 -0
  424. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/utils/schemas/repos/repos_types.py +0 -0
  425. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/utils/source_of_truth.py +0 -0
  426. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/utils/ssh.py +0 -0
  427. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/utils/ssh_utils/utils.py +0 -0
  428. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/utils/terminal.py +0 -0
  429. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/utils/upgrade_packages.py +0 -0
  430. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig/utils/ve.py +0 -0
  431. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig.egg-info/dependency_links.txt +0 -0
  432. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig.egg-info/entry_points.txt +0 -0
  433. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig.egg-info/requires.txt +0 -0
  434. {machineconfig-5.76 → machineconfig-5.77}/src/machineconfig.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: machineconfig
3
- Version: 5.76
3
+ Version: 5.77
4
4
  Summary: Dotfiles management package
5
5
  Author-email: Alex Al-Saffar <programmer@usa.com>
6
6
  License: Apache 2.0
@@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta"
6
6
 
7
7
  [project]
8
8
  name = "machineconfig"
9
- version = "5.76"
9
+ version = "5.77"
10
10
  description = "Dotfiles management package"
11
11
  readme = "README.md"
12
12
  license = {text = "Apache 2.0"}
@@ -89,7 +89,7 @@ dev = [
89
89
  "build>=1.3.0",
90
90
  "cleanpy>=0.5.1",
91
91
  "cowsay>=6.1",
92
- "duckdb-engine>=0.17.0",
92
+ # "duckdb-engine>=0.17.0",
93
93
  "euporie>=2.8.14",
94
94
  "ipdb>=0.13.13",
95
95
  "ipykernel>=6.30.1",
@@ -99,7 +99,6 @@ dev = [
99
99
  "numpy>=2.3.3",
100
100
  "pandas>=2.3.3",
101
101
  "plotly>=6.3.0",
102
- "polars>=1.33.1",
103
102
  "pre-commit>=4.3.0",
104
103
  "pudb>=2025.1",
105
104
  "pylint>=3.3.8",
@@ -22,16 +22,20 @@ def get_app():
22
22
  _ = install
23
23
  app.command("install", no_args_is_help=True, help="🛠️ [i] Install essential packages")(install)
24
24
  app.command("i", no_args_is_help=True, help="Install essential packages", hidden=True)(install)
25
- app.add_typer(cli_repos.get_app(), name="repos")
26
- app.add_typer(cli_repos.get_app(), name="r", hidden=True)
27
- app.add_typer(cli_config.get_app(), name="config")
28
- app.add_typer(cli_config.get_app(), name="c", hidden=True)
25
+ app_repos = cli_repos.get_app()
26
+ app.add_typer(app_repos, name="repos")
27
+ app.add_typer(app_repos, name="r", hidden=True)
28
+ app_config = cli_config.get_app()
29
+ app.add_typer(app_config, name="config")
30
+ app.add_typer(app_config, name="c", hidden=True)
29
31
  app.add_typer(cli_data.app_data, name="data")
30
32
  app.add_typer(cli_data.app_data, name="d", hidden=True)
31
- app.add_typer(cli_self.get_app(), name="self")
32
- app.add_typer(cli_self.get_app(), name="s", hidden=True)
33
- app.add_typer(cli_network.get_app(), name="network")
34
- app.add_typer(cli_network.get_app(), name="n", hidden=True)
33
+ app_self = cli_self.get_app()
34
+ app.add_typer(app_self, name="self")
35
+ app.add_typer(app_self, name="s", hidden=True)
36
+ app_nw = cli_network.get_app()
37
+ app.add_typer(app_nw, name="network")
38
+ app.add_typer(app_nw, name="n", hidden=True)
35
39
  return app
36
40
 
37
41
  def main():
@@ -31,6 +31,17 @@ def add_ssh_identity():
31
31
  import machineconfig.scripts.python.devops_helpers.devops_add_identity as helper
32
32
  helper.main()
33
33
 
34
+
35
+ def show_address():
36
+ import socket
37
+ s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
38
+ s.connect(('8.8.8.8',80))
39
+ local_ip_v4 = s.getsockname()[0]
40
+ s.close()
41
+ print(f"This computer is @ {local_ip_v4}")
42
+
43
+
44
+
34
45
  def get_app():
35
46
  nw_apps = typer.Typer(help="🔐 [n] Network subcommands", no_args_is_help=True)
36
47
  nw_apps.command(name="share-terminal", help="📡 [t] Share terminal via web browser")(cli_terminal.main)
@@ -43,4 +54,6 @@ def get_app():
43
54
  nw_apps.command(name="k", help="Add SSH public key to this machine", hidden=True)(add_ssh_key)
44
55
  nw_apps.command(name="add-ssh-identity", help="🗝️ [a] Add SSH identity (private key) to this machine")(add_ssh_identity)
45
56
  nw_apps.command(name="a", help="Add SSH identity (private key) to this machine", hidden=True)(add_ssh_identity)
57
+ nw_apps.command(name="show-address", help="[A] Show this computer addresses on network")(show_address)
58
+ nw_apps.command(name="a", help="Show this computer addresses on network", hidden=True)(show_address)
46
59
  return nw_apps
@@ -53,6 +53,25 @@ def run_python(ip: str = typer.Argument(..., help="Python command to run in the
53
53
  import subprocess
54
54
  import sys
55
55
  subprocess.run([sys.executable, ip], cwd=machineconfig.__path__[0])
56
+ def readme():
57
+ from rich.console import Console
58
+ from rich.markdown import Markdown
59
+ import requests
60
+
61
+ # URL of the raw README.md file
62
+ url_readme = "https://raw.githubusercontent.com/thisismygitrepo/machineconfig/refs/heads/main/README.md"
63
+
64
+ # Fetch the content
65
+ response = requests.get(url_readme)
66
+ response.raise_for_status() # Raise an error for bad responses
67
+
68
+ # Parse markdown
69
+ md = Markdown(response.text)
70
+
71
+ # Render in terminal
72
+ console = Console()
73
+ console.print(md)
74
+
56
75
 
57
76
  def get_app():
58
77
  cli_app = typer.Typer(help="🔄 [s] self operations subcommands", no_args_is_help=True)
@@ -68,4 +87,6 @@ def get_app():
68
87
  cli_app.command("n", no_args_is_help=False, help="NAVIGATE command structure with TUI", hidden=True)(navigate)
69
88
  cli_app.command("python", no_args_is_help=False, help="🐍 [c] python command/file in the machineconfig environment")(run_python)
70
89
  cli_app.command("c", no_args_is_help=False, help="RUN python command/file in the machineconfig environment", hidden=True)(run_python)
90
+ cli_app.command("readme", no_args_is_help=False, help="📚 [r] render readme markdown in terminal.")(readme)
91
+ cli_app.command("r", no_args_is_help=False, hidden=True)(readme)
71
92
  return cli_app
@@ -0,0 +1,148 @@
1
+ """SSH"""
2
+
3
+ from platform import system
4
+ from machineconfig.utils.source_of_truth import LIBRARY_ROOT
5
+ from machineconfig.utils.path_extended import PathExtended
6
+ from rich.console import Console
7
+ from rich.panel import Panel
8
+ from rich import box # Import box
9
+ from typing import Optional
10
+ import typer
11
+
12
+
13
+ console = Console()
14
+
15
+
16
+ def get_add_ssh_key_script(path_to_key: PathExtended):
17
+ console.print(Panel("🔑 SSH KEY CONFIGURATION", title="[bold blue]SSH Setup[/bold blue]"))
18
+ if system() == "Linux" or system() == "Darwin":
19
+ authorized_keys = PathExtended.home().joinpath(".ssh/authorized_keys")
20
+ console.print(Panel(f"🐧 Linux SSH configuration\n📄 Authorized keys file: {authorized_keys}", title="[bold blue]System Info[/bold blue]"))
21
+ elif system() == "Windows":
22
+ authorized_keys = PathExtended("C:/ProgramData/ssh/administrators_authorized_keys")
23
+ console.print(Panel(f"🪟 Windows SSH configuration\n📄 Authorized keys file: {authorized_keys}", title="[bold blue]System Info[/bold blue]"))
24
+ else:
25
+ console.print(Panel("❌ ERROR: Unsupported operating system\nOnly Linux and Windows are supported", title="[bold red]Error[/bold red]"))
26
+ raise NotImplementedError
27
+
28
+ if authorized_keys.exists():
29
+ split = "\n"
30
+ keys_text = authorized_keys.read_text(encoding="utf-8").split(split)
31
+ key_count = len([k for k in keys_text if k.strip()])
32
+ console.print(Panel(f"🔍 Current SSH authorization status\n✅ Found {key_count} authorized key(s)", title="[bold blue]Status[/bold blue]"))
33
+ if path_to_key.read_text(encoding="utf-8") in authorized_keys.read_text(encoding="utf-8"):
34
+ console.print(Panel(f"⚠️ Key already authorized\nKey: {path_to_key.name}\nStatus: Already present in authorized_keys file\nNo action required", title="[bold yellow]Warning[/bold yellow]"))
35
+ program = ""
36
+ else:
37
+ console.print(Panel(f"➕ Adding new SSH key to authorized keys\n🔑 Key file: {path_to_key.name}", title="[bold blue]Action[/bold blue]"))
38
+ if system() == "Linux":
39
+ program = f"cat {path_to_key} >> ~/.ssh/authorized_keys"
40
+ elif system() == "Windows":
41
+ program_path = LIBRARY_ROOT.joinpath("setup_windows/add-sshkey.ps1")
42
+ program = program_path.expanduser().read_text(encoding="utf-8")
43
+ place_holder = r'$sshfile = "$env:USERPROFILE\.ssh\pubkey.pub"'
44
+ assert place_holder in program, f"This section performs string manipulation on the script {program_path} to add the key to the authorized_keys file. The script has changed and the string {place_holder} is not found."
45
+ program = program.replace(place_holder, f'$sshfile = "{path_to_key}"')
46
+ console.print(Panel("🔧 Configured PowerShell script for Windows\n📝 Replaced placeholder with actual key path", title="[bold blue]Configuration[/bold blue]"))
47
+ else:
48
+ raise NotImplementedError
49
+ else:
50
+ console.print(Panel(f"📝 Creating new authorized_keys file\n🔑 Using key: {path_to_key.name}", title="[bold blue]Action[/bold blue]"))
51
+ if system() == "Linux":
52
+ program = f"cat {path_to_key} > ~/.ssh/authorized_keys"
53
+ else:
54
+ program_path = LIBRARY_ROOT.joinpath("setup_windows/openssh-server_add-sshkey.ps1")
55
+ program = PathExtended(program_path).expanduser().read_text(encoding="utf-8").replace('$sshfile=""', f'$sshfile="{path_to_key}"')
56
+ console.print(Panel("🔧 Configured PowerShell script for Windows\n📝 Set key path in script", title="[bold blue]Configuration[/bold blue]"))
57
+
58
+ if system() == "Linux" or system() == "Darwin":
59
+ program += """
60
+ sudo chmod 700 ~/.ssh
61
+ sudo chmod 644 ~/.ssh/authorized_keys
62
+ sudo chmod 644 ~/.ssh/*.pub
63
+ sudo service ssh --full-restart
64
+ # from superuser.com/questions/215504/permissions-on-private-key-in-ssh-folder
65
+ """
66
+ return program
67
+
68
+
69
+
70
+ """
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
77
+ """
78
+
79
+
80
+ def main(pub_path: Optional[str] = typer.Argument(None, help="Path to the public key file"),
81
+ pub_choose: bool = typer.Option(False, "--choose", "-c", help="Choose from available public keys in ~/.ssh"),
82
+ pub_val: bool = typer.Option(False, "--paste", "-p", help="Paste the public key content manually"),
83
+ from_github: Optional[str] = typer.Option(None, "--from-github", "-g", help="Fetch public keys from a GitHub username")
84
+ ) -> None:
85
+ if pub_path:
86
+ key_path = PathExtended(pub_path).expanduser().absolute()
87
+ if not key_path.exists():
88
+ console.print(Panel(f"❌ ERROR: Provided key path does not exist\nPath: {key_path}", title="[bold red]Error[/bold red]"))
89
+ raise FileNotFoundError(f"Provided key path does not exist: {key_path}")
90
+ console.print(Panel(f"📄 Using provided public key file: {key_path}", title="[bold blue]Info[/bold blue]"))
91
+ program = get_add_ssh_key_script(key_path)
92
+ from machineconfig.utils.code import run_shell_script
93
+ run_shell_script(script=program)
94
+ console.print(Panel("✅ SSH KEY AUTHORIZATION COMPLETED", box=box.DOUBLE_EDGE, title_align="left"))
95
+ return
96
+ elif pub_choose:
97
+ console.print(Panel("🔐 SSH PUBLIC KEY AUTHORIZATION TOOL", box=box.DOUBLE_EDGE, title_align="left"))
98
+ console.print(Panel("🔍 Searching for public keys...", title="[bold blue]SSH Setup[/bold blue]", border_style="blue"))
99
+ pub_keys = PathExtended.home().joinpath(".ssh").search("*.pub")
100
+ if pub_keys:
101
+ console.print(Panel(f"✅ Found {len(pub_keys)} public key(s)", title="[bold green]Status[/bold green]", border_style="green"))
102
+ else:
103
+ console.print(Panel("⚠️ No public keys found", title="[bold yellow]Warning[/bold yellow]", border_style="yellow"))
104
+ return
105
+ console.print(Panel(f"🔄 Processing all {len(pub_keys)} public keys...", title="[bold blue]Processing[/bold blue]", border_style="blue"))
106
+ program = "\n\n\n".join([get_add_ssh_key_script(key) for key in pub_keys])
107
+
108
+ elif pub_val:
109
+ console.print(Panel("📋 Please provide a filename and paste the public key content", title="[bold blue]Input Required[/bold blue]", border_style="blue"))
110
+ key_filename = input("📝 File name (default: my_pasted_key.pub): ") or "my_pasted_key.pub"
111
+ key_path = PathExtended.home().joinpath(f".ssh/{key_filename}")
112
+ key_path.write_text(input("🔑 Paste the public key here: "), encoding="utf-8")
113
+ console.print(Panel(f"💾 Key saved to: {key_path}", title="[bold green]Success[/bold green]", border_style="green"))
114
+ program = get_add_ssh_key_script(key_path)
115
+ elif from_github:
116
+ console.print(Panel(f"🌐 Fetching public keys from GitHub user: {from_github}", title="[bold blue]GitHub Fetch[/bold blue]", border_style="blue"))
117
+ import requests
118
+ # $pubkey_url = 'https://github.com/thisismygitrepo.keys' # $pubkey_string = (Invoke-WebRequest $pubkey_url).Content
119
+ response = requests.get(f"https://api.github.com/users/{from_github}/keys")
120
+ if response.status_code != 200:
121
+ 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"))
122
+ raise RuntimeError(f"Failed to fetch keys from GitHub user {from_github}: Status Code {response.status_code}")
123
+ keys = response.json()
124
+ if not keys:
125
+ console.print(Panel(f"⚠️ No public keys found for GitHub user: {from_github}", title="[bold yellow]Warning[/bold yellow]", border_style="yellow"))
126
+ return
127
+ console.print(Panel(f"✅ Found {len(keys)} public key(s) for user: {from_github}", title="[bold green]Success[/bold green]", border_style="green"))
128
+ key_path = PathExtended.home().joinpath(f".ssh/{from_github}_github_keys.pub")
129
+ key_path.write_text("\n".join([key["key"] for key in keys]), encoding="utf-8")
130
+ console.print(Panel(f"💾 Keys saved to: {key_path}", title="[bold green]Success[/bold green]", border_style="green"))
131
+ program = get_add_ssh_key_script(key_path)
132
+ else:
133
+ console.print(Panel("❌ ERROR: No method provided to add SSH key\nUse --help for options", title="[bold red]Error[/bold red]", border_style="red"))
134
+ raise ValueError("No method provided to add SSH key. Use --help for options.")
135
+ console.print(Panel("🚀 SSH KEY AUTHORIZATION READY\nRun the generated script to apply changes", box=box.DOUBLE_EDGE, title_align="left"))
136
+ from machineconfig.utils.code import run_shell_script
137
+ run_shell_script(script=program)
138
+ import socket
139
+ s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
140
+ s.connect(('8.8.8.8',80))
141
+ local_ip_v4 = s.getsockname()[0]
142
+ s.close()
143
+ print(f"This computer is @ {local_ip_v4}")
144
+ console.print(Panel("✅ SSH KEY AUTHORIZATION COMPLETED", box=box.DOUBLE_EDGE, title_align="left"))
145
+
146
+
147
+ if __name__ == "__main__":
148
+ pass
@@ -0,0 +1,82 @@
1
+ """ID"""
2
+
3
+ # from platform import system
4
+ from machineconfig.utils.path_extended import PathExtended
5
+ from machineconfig.utils.options import choose_from_options
6
+ from rich.panel import Panel
7
+ from rich.text import Text
8
+
9
+ BOX_WIDTH = 150 # width for box drawing
10
+
11
+
12
+ def main() -> None:
13
+ title = "🔑 SSH IDENTITY MANAGEMENT"
14
+ print(Panel(Text(title, justify="center"), expand=False))
15
+ print(Panel("🔍 Searching for existing SSH keys...", expand=False))
16
+ private_keys = [x.with_name(x.stem) for x in PathExtended.home().joinpath(".ssh").search("*.pub")]
17
+ private_keys = [x for x in private_keys if x.exists()]
18
+ if private_keys:
19
+ print(Panel(f"✅ Found {len(private_keys)} SSH private key(s)", expand=False))
20
+ else:
21
+ print(Panel("⚠️ No SSH private keys found", expand=False))
22
+
23
+ choice = choose_from_options(msg="Path to private key to be used when ssh'ing: ", options=[str(x) for x in private_keys] + ["I have the path to the key file", "I want to paste the key itself"], multi=False)
24
+
25
+ if choice == "I have the path to the key file":
26
+ print(Panel("📄 Please enter the path to your private key file", expand=False))
27
+ path_to_key = PathExtended(input("📋 Input path here: ")).expanduser().absolute()
28
+ print(Panel(f"📂 Using key from custom path: {path_to_key}", expand=False))
29
+
30
+ elif choice == "I want to paste the key itself":
31
+ print(Panel("📋 Please provide a filename and paste the private key content", expand=False))
32
+ key_filename = input("📝 File name (default: my_pasted_key): ") or "my_pasted_key"
33
+ path_to_key = PathExtended.home().joinpath(f".ssh/{key_filename}")
34
+ path_to_key.parent.mkdir(parents=True, exist_ok=True)
35
+ path_to_key.write_text(input("🔑 Paste the private key here: "), encoding="utf-8")
36
+ print(Panel(f"💾 Key saved to: {path_to_key}", expand=False))
37
+
38
+ else:
39
+ path_to_key = PathExtended(choice)
40
+ print(Panel(f"🔑 Using selected key: {path_to_key.name}", expand=False))
41
+
42
+ txt = f"IdentityFile {path_to_key.collapseuser().as_posix()}" # adds this id for all connections, no host specified.
43
+ config_path = PathExtended.home().joinpath(".ssh/config")
44
+
45
+ print(Panel("📝 Updating SSH configuration...", expand=False))
46
+
47
+ # Inline the previous modify_text behavior (now deprecated):
48
+ # - If file doesn't exist, seed content with txt_search
49
+ # - Otherwise, replace a matching line or append if not found
50
+ if config_path.exists():
51
+ current = config_path.read_text(encoding="utf-8")
52
+ print(Panel("✏️ Updated existing SSH config file", expand=False))
53
+ else:
54
+ current = txt
55
+ print(Panel("📄 Created new SSH config file", expand=False))
56
+ lines = current.split("\n")
57
+ found = False
58
+ for i, line in enumerate(lines):
59
+ if txt in line:
60
+ lines[i] = txt
61
+ found = True
62
+ if not found:
63
+ lines.insert(0, txt)
64
+ new_content = "\n".join(lines)
65
+ config_path.write_text(new_content, encoding="utf-8")
66
+
67
+ panel_complete = Panel(Text("✅ SSH IDENTITY CONFIGURATION COMPLETE\nIdentity added to SSH config file\nConsider reloading the SSH config to apply changes", justify="center"), expand=False, border_style="green")
68
+ program = f"echo '{panel_complete}'"
69
+
70
+ success_message = f"🎉 CONFIGURATION SUCCESSFUL\nIdentity added: {path_to_key.name}\nConfig file: {config_path}"
71
+ print(Panel(Text(success_message, justify="center"), expand=False, border_style="green"))
72
+
73
+ import subprocess
74
+
75
+ # run program
76
+ subprocess.run(program, shell=True, check=True, text=True)
77
+ print(Panel("🔐 Identity added to SSH agent", expand=False, border_style="green"))
78
+ return None
79
+
80
+
81
+ if __name__ == "__main__":
82
+ pass
@@ -2,7 +2,8 @@
2
2
  # 🔍 File Preview Script for LF File Manager
3
3
  # Uses:
4
4
  # 🖼️ chafa, viu - Image preview
5
- # 📝 pistol - General file preview
5
+ # 📝 bat - Syntax-highlighted text/code preview
6
+ # 📄 pistol - General file preview
6
7
 
7
8
  file=$1
8
9
  width="$2"
@@ -30,6 +31,10 @@ case "$file" in
30
31
  fi
31
32
  exit 0
32
33
  ;;
34
+ # 📝 Text/Code Files - Use bat for syntax highlighting
35
+ *.py|*.json|*.js|*.ts|*.html|*.css|*.scss|*.less|*.xml|*.yml|*.yaml|*.toml|*.ini|*.cfg|*.conf|*.sh|*.bash|*.zsh|*.fish|*.ps1|*.rs|*.go|*.java|*.cpp|*.c|*.h|*.hpp|*.cs|*.php|*.rb|*.pl|*.pm|*.lua|*.vim|*.sql|*.md|*.txt|*.log|*.csv|*.tsv)
36
+ bat --color=always --style=plain --paging=never "$file"
37
+ ;;
33
38
  *)
34
39
  # 📄 Default file preview
35
40
  pistol "$file"