machineconfig 5.38__tar.gz → 5.40__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 (420) hide show
  1. {machineconfig-5.38/src/machineconfig.egg-info → machineconfig-5.40}/PKG-INFO +2 -1
  2. {machineconfig-5.38 → machineconfig-5.40}/pyproject.toml +4 -1
  3. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/cluster/sessions_managers/zellij_utils/process_monitor.py +2 -2
  4. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/jobs/installer/check_installations.py +2 -2
  5. machineconfig-5.40/src/machineconfig/profile/create_helper.py +26 -0
  6. machineconfig-5.38/src/machineconfig/profile/create.py → machineconfig-5.40/src/machineconfig/profile/create_links.py +6 -6
  7. machineconfig-5.38/src/machineconfig/profile/create_frontend.py → machineconfig-5.40/src/machineconfig/profile/create_links_export.py +6 -10
  8. machineconfig-5.38/src/machineconfig/profile/shell.py → machineconfig-5.40/src/machineconfig/profile/create_shell_profile.py +12 -37
  9. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/linux/z_ls +2 -2
  10. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/agents.py +0 -1
  11. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/ai/initai.py +3 -4
  12. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/ai/scripts/lint_and_type_check.ps1 +0 -1
  13. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/ai/scripts/lint_and_type_check.sh +0 -1
  14. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/croshell.py +8 -1
  15. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/croshell_helpers/start_slidev.py +2 -2
  16. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/devops.py +2 -2
  17. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/devops_helpers/cli_config.py +9 -10
  18. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/devops_helpers/cli_config_dotfile.py +3 -3
  19. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/devops_helpers/cli_self.py +17 -4
  20. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/devops_helpers/devops_status.py +7 -80
  21. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/devops_helpers/devops_update_repos.py +1 -1
  22. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/fire_jobs.py +4 -1
  23. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/ftpx.py +0 -1
  24. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/helpers_fire/template.ps1 +1 -1
  25. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/helpers_fire/template.sh +1 -1
  26. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py +3 -3
  27. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/interactive.py +2 -2
  28. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/nw/mount_nfs +1 -1
  29. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/repos_helpers/count_lines_frontend.py +1 -1
  30. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/repos_helpers/entrypoint.py +2 -2
  31. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/repos_helpers/record.py +2 -2
  32. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/sessions_helpers/sessions_multiprocess.py +3 -1
  33. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/windows/mounts/mount_nfs.ps1 +1 -3
  34. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/windows/mounts/mount_ssh.ps1 +1 -1
  35. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/lf/linux/lfrc +4 -5
  36. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/lf/windows/lfrc +4 -18
  37. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/lvim/windows/archive/config_additional.lua +0 -6
  38. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/pistol/pistol.conf +1 -1
  39. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/shells/bash/init.sh +7 -11
  40. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/shells/pwsh/init.ps1 +8 -6
  41. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/svim/linux/init.toml +0 -4
  42. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/svim/windows/init.toml +0 -3
  43. machineconfig-5.40/src/machineconfig/setup_linux/web_shortcuts/interactive.sh +28 -0
  44. machineconfig-5.38/src/machineconfig/settings/shells/pwsh/commands.ps1 → machineconfig-5.40/src/machineconfig/setup_windows/web_shortcuts/interactive.ps1 +14 -7
  45. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/utils/source_of_truth.py +2 -4
  46. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/utils/ssh.py +1 -1
  47. {machineconfig-5.38 → machineconfig-5.40/src/machineconfig.egg-info}/PKG-INFO +2 -1
  48. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig.egg-info/SOURCES.txt +4 -11
  49. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig.egg-info/requires.txt +1 -0
  50. machineconfig-5.38/src/machineconfig/scripts/windows/mounts/pomodoro.ps1 +0 -1
  51. machineconfig-5.38/src/machineconfig/scripts/windows/mounts/reload_path.ps1 +0 -3
  52. machineconfig-5.38/src/machineconfig/scripts/windows/mounts/share_nfs.ps1 +0 -0
  53. machineconfig-5.38/src/machineconfig/scripts/windows/start_slidev.ps1 +0 -1
  54. machineconfig-5.38/src/machineconfig/settings/shells/bash/commands.sh +0 -24
  55. machineconfig-5.38/src/machineconfig/setup_linux/machineconfig.sh +0 -20
  56. machineconfig-5.38/src/machineconfig/setup_linux/web_shortcuts/interactive.sh +0 -6
  57. machineconfig-5.38/src/machineconfig/setup_windows/machineconfig.ps1 +0 -29
  58. machineconfig-5.38/src/machineconfig/setup_windows/web_shortcuts/interactive.ps1 +0 -7
  59. {machineconfig-5.38 → machineconfig-5.40}/MANIFEST.in +0 -0
  60. {machineconfig-5.38 → machineconfig-5.40}/README.md +0 -0
  61. {machineconfig-5.38 → machineconfig-5.40}/setup.cfg +0 -0
  62. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/__init__.py +0 -0
  63. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/cluster/__init__.py +0 -0
  64. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/cluster/remote/cloud_manager.py +0 -0
  65. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/cluster/remote/data_transfer.py +0 -0
  66. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/cluster/remote/distribute.py +0 -0
  67. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/cluster/remote/file_manager.py +0 -0
  68. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/cluster/remote/job_params.py +0 -0
  69. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/cluster/remote/loader_runner.py +0 -0
  70. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/cluster/remote/remote_machine.py +0 -0
  71. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/cluster/remote/run_cloud.py +0 -0
  72. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/cluster/remote/run_cluster.py +0 -0
  73. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/cluster/remote/run_remote.py +0 -0
  74. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/cluster/remote/script_execution.py +0 -0
  75. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/cluster/remote/script_notify_upon_completion.py +0 -0
  76. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/cluster/sessions_managers/__init__.py +0 -0
  77. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/cluster/sessions_managers/helpers/zellij_local_helper.py +0 -0
  78. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/cluster/sessions_managers/helpers/zellij_local_helper_restart.py +0 -0
  79. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/cluster/sessions_managers/helpers/zellij_local_helper_with_panes.py +0 -0
  80. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/cluster/sessions_managers/helpers/zellij_local_manager_helper.py +0 -0
  81. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/cluster/sessions_managers/utils/enhanced_command_runner.py +0 -0
  82. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/cluster/sessions_managers/utils/load_balancer.py +0 -0
  83. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/cluster/sessions_managers/utils/load_balancer_helper.py +0 -0
  84. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/cluster/sessions_managers/wt_local.py +0 -0
  85. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/cluster/sessions_managers/wt_local_manager.py +0 -0
  86. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/cluster/sessions_managers/wt_remote.py +0 -0
  87. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/cluster/sessions_managers/wt_remote_manager.py +0 -0
  88. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/cluster/sessions_managers/wt_utils/layout_generator.py +0 -0
  89. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/cluster/sessions_managers/wt_utils/process_monitor.py +0 -0
  90. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/cluster/sessions_managers/wt_utils/remote_executor.py +0 -0
  91. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/cluster/sessions_managers/wt_utils/session_manager.py +0 -0
  92. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/cluster/sessions_managers/wt_utils/status_reporter.py +0 -0
  93. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/cluster/sessions_managers/zellij_local.py +0 -0
  94. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/cluster/sessions_managers/zellij_local_manager.py +0 -0
  95. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/cluster/sessions_managers/zellij_remote.py +0 -0
  96. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/cluster/sessions_managers/zellij_remote_manager.py +0 -0
  97. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/cluster/sessions_managers/zellij_utils/example_usage.py +0 -0
  98. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/cluster/sessions_managers/zellij_utils/layout_generator.py +0 -0
  99. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/cluster/sessions_managers/zellij_utils/monitoring_types.py +0 -0
  100. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/cluster/sessions_managers/zellij_utils/remote_executor.py +0 -0
  101. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/cluster/sessions_managers/zellij_utils/session_manager.py +0 -0
  102. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/cluster/sessions_managers/zellij_utils/status_reporter.py +0 -0
  103. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/cluster/templates/__init__.py +0 -0
  104. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/cluster/templates/cli_trogon.py +0 -0
  105. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/jobs/__init__.py +0 -0
  106. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/jobs/installer/__init__.py +0 -0
  107. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/jobs/installer/custom/gh.py +0 -0
  108. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/jobs/installer/custom/hx.py +0 -0
  109. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/jobs/installer/custom_dev/__init__.py +0 -0
  110. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/jobs/installer/custom_dev/alacritty.py +0 -0
  111. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/jobs/installer/custom_dev/brave.py +0 -0
  112. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/jobs/installer/custom_dev/bypass_paywall.py +0 -0
  113. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/jobs/installer/custom_dev/code.py +0 -0
  114. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/jobs/installer/custom_dev/cursor.py +0 -0
  115. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/jobs/installer/custom_dev/dubdb_adbc.py +0 -0
  116. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/jobs/installer/custom_dev/espanso.py +0 -0
  117. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/jobs/installer/custom_dev/goes.py +0 -0
  118. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/jobs/installer/custom_dev/lvim.py +0 -0
  119. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/jobs/installer/custom_dev/nerdfont.py +0 -0
  120. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/jobs/installer/custom_dev/nerfont_windows_helper.py +0 -0
  121. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/jobs/installer/custom_dev/redis.py +0 -0
  122. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/jobs/installer/custom_dev/wezterm.py +0 -0
  123. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/jobs/installer/custom_dev/winget.py +0 -0
  124. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/jobs/installer/installer_data.json +0 -0
  125. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/jobs/installer/linux_scripts/brave.sh +0 -0
  126. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/jobs/installer/linux_scripts/docker.sh +0 -0
  127. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/jobs/installer/linux_scripts/docker_start.sh +0 -0
  128. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/jobs/installer/linux_scripts/edge.sh +0 -0
  129. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/jobs/installer/linux_scripts/nerdfont.sh +0 -0
  130. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/jobs/installer/linux_scripts/ngrok.sh +0 -0
  131. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/jobs/installer/linux_scripts/pgsql.sh +0 -0
  132. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/jobs/installer/linux_scripts/q.sh +0 -0
  133. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/jobs/installer/linux_scripts/redis.sh +0 -0
  134. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/jobs/installer/linux_scripts/timescaledb.sh +0 -0
  135. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/jobs/installer/linux_scripts/vscode.sh +0 -0
  136. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/jobs/installer/linux_scripts/warp-cli.sh +0 -0
  137. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/jobs/installer/linux_scripts/wezterm.sh +0 -0
  138. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/jobs/installer/package_groups.py +0 -0
  139. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/jobs/installer/powershell_scripts/install_fonts.ps1 +0 -0
  140. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/jobs/linux/msc/cli_agents.sh +0 -0
  141. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/jobs/linux/msc/lid.sh +0 -0
  142. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/jobs/linux/msc/network.sh +0 -0
  143. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/jobs/python/__init__.py +0 -0
  144. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/jobs/python/python_ve_symlink.py +0 -0
  145. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/jobs/python/vscode/api.py +0 -0
  146. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/jobs/python/vscode/sync_code.py +0 -0
  147. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/jobs/windows/archive/archive_pygraphviz.ps1 +0 -0
  148. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/jobs/windows/archive/openssh-server_add_key.ps1 +0 -0
  149. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/jobs/windows/archive/openssh-server_copy-ssh-id.ps1 +0 -0
  150. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/jobs/windows/msc/cli_agents.bat +0 -0
  151. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/jobs/windows/msc/cli_agents.ps1 +0 -0
  152. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/logger.py +0 -0
  153. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/profile/__init__.py +0 -0
  154. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/profile/records/generic/shares.toml +0 -0
  155. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/profile/records/linux/apps_summary_report.csv +0 -0
  156. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/profile/records/linux/apps_summary_report.md +0 -0
  157. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/profile/records/windows/apps_summary_report.csv +0 -0
  158. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/profile/records/windows/apps_summary_report.md +0 -0
  159. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/__init__.py +0 -0
  160. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/linux/fzf2g +0 -0
  161. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/linux/fzfag +0 -0
  162. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/linux/fzffg +0 -0
  163. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/linux/fzfg +0 -0
  164. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/linux/fzfrga +0 -0
  165. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/linux/other/share_cloud.sh +0 -0
  166. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/linux/other/share_nfs +0 -0
  167. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/linux/other/share_smb +0 -0
  168. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/linux/other/start_docker +0 -0
  169. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/linux/other/switch_ip +0 -0
  170. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/linux/skrg +0 -0
  171. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/linux/warp-cli.sh +0 -0
  172. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/__init__.py +0 -0
  173. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/ai/__init__.py +0 -0
  174. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/ai/generate_files.py +0 -0
  175. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/ai/solutions/__init__.py +0 -0
  176. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/ai/solutions/_shared.py +0 -0
  177. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/ai/solutions/claude/claude.py +0 -0
  178. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/ai/solutions/cline/cline.py +0 -0
  179. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/Thinking-Beast-Mode.chatmode.md +0 -0
  180. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/Ultimate-Transparent-Thinking-Beast-Mode.chatmode.md +0 -0
  181. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/deepResearch.chatmode.md +0 -0
  182. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/ai/solutions/copilot/github_copilot.py +0 -0
  183. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/ai/solutions/copilot/instructions/python/dev.instructions.md +0 -0
  184. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/ai/solutions/copilot/privacy.md +0 -0
  185. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/ai/solutions/copilot/prompts/pyright_fix.md +0 -0
  186. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/ai/solutions/copilot/prompts/research-report-skeleton.prompt.md +0 -0
  187. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/ai/solutions/crush/crush.json +0 -0
  188. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/ai/solutions/crush/crush.py +0 -0
  189. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/ai/solutions/crush/privacy.md +0 -0
  190. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/ai/solutions/cursor/cursors.py +0 -0
  191. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/ai/solutions/gemini/gemini.py +0 -0
  192. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/ai/solutions/gemini/settings.json +0 -0
  193. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/ai/solutions/generic.py +0 -0
  194. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/ai/solutions/kilocode/privacy.md +0 -0
  195. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/ai/solutions/opencode/opencode.json +0 -0
  196. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/ai/solutions/opencode/opencode.py +0 -0
  197. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/cloud.py +0 -0
  198. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/cloud_helpers/__init__.py +0 -0
  199. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/cloud_helpers/cloud_copy.py +0 -0
  200. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/cloud_helpers/cloud_helpers.py +0 -0
  201. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/cloud_helpers/cloud_mount.py +0 -0
  202. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/cloud_helpers/cloud_sync.py +0 -0
  203. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/cloud_helpers/helpers2.py +0 -0
  204. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/cloud_helpers/helpers5.py +0 -0
  205. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/croshell_helpers/__init__.py +0 -0
  206. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/croshell_helpers/pomodoro.py +0 -0
  207. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/croshell_helpers/scheduler.py +0 -0
  208. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/croshell_helpers/viewer.py +0 -0
  209. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/croshell_helpers/viewer_template.py +0 -0
  210. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/devops_helpers/__init__.py +0 -0
  211. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/devops_helpers/cli_data.py +0 -0
  212. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/devops_helpers/cli_nw.py +0 -0
  213. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/devops_helpers/cli_repos.py +0 -0
  214. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/devops_helpers/cli_share_server.py +0 -0
  215. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/devops_helpers/cli_terminal.py +0 -0
  216. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/devops_helpers/devops_add_identity.py +0 -0
  217. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/devops_helpers/devops_add_ssh_key.py +0 -0
  218. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/devops_helpers/devops_backup_retrieve.py +0 -0
  219. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/devops_helpers/themes/__init__.py +0 -0
  220. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/devops_helpers/themes/choose_pwsh_theme.ps1 +0 -0
  221. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/devops_helpers/themes/choose_wezterm_theme.py +0 -0
  222. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/devops_navigator.py +0 -0
  223. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/helpers_fire/__init__.py +0 -0
  224. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/__init__.py +0 -0
  225. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_crush.json +0 -0
  226. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_crush.py +0 -0
  227. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_cursor_agents.py +0 -0
  228. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_gemini.py +0 -0
  229. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_qwen.py +0 -0
  230. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/helpers_fire/fire_agents_help_launch.py +0 -0
  231. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/helpers_fire/fire_agents_help_search.py +0 -0
  232. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/helpers_fire/fire_agents_helper_types.py +0 -0
  233. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/helpers_fire/fire_agents_load_balancer.py +0 -0
  234. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/helpers_fire/helpers4.py +0 -0
  235. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/helpers_fire/prompt.txt +0 -0
  236. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/helpers_fire_command/__init__.py +0 -0
  237. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/helpers_fire_command/cloud_manager.py +0 -0
  238. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/helpers_fire_command/fire_jobs_args_helper.py +0 -0
  239. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/helpers_fire_command/fire_jobs_route_helper.py +0 -0
  240. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/helpers_fire_command/fire_jobs_streamlit_helper.py +0 -0
  241. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/helpers_repos/__init__.py +0 -0
  242. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/helpers_repos/grource.py +0 -0
  243. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/helpers_repos/secure_repo.py +0 -0
  244. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/nw/__init__.py +0 -0
  245. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/nw/mount_drive +0 -0
  246. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/nw/mount_nfs.py +0 -0
  247. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/nw/mount_nw_drive +0 -0
  248. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/nw/mount_nw_drive.py +0 -0
  249. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/nw/mount_smb +0 -0
  250. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/nw/mount_ssh.py +0 -0
  251. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/nw/onetimeshare.py +0 -0
  252. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/nw/wifi_conn.py +0 -0
  253. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/nw/wsl_windows_transfer.py +0 -0
  254. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/repos_helpers/action.py +0 -0
  255. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/repos_helpers/clone.py +0 -0
  256. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/repos_helpers/count_lines.py +0 -0
  257. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/repos_helpers/sync.py +0 -0
  258. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/repos_helpers/update.py +0 -0
  259. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/sessions.py +0 -0
  260. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/python/sessions_helpers/__init__.py +0 -0
  261. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/windows/fzfb.ps1 +0 -0
  262. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/windows/fzfg.ps1 +0 -0
  263. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/windows/fzfrga.bat +0 -0
  264. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/windows/mounts/mount_nw.ps1 +0 -0
  265. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/windows/mounts/mount_smb.ps1 +0 -0
  266. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/windows/mounts/share_cloud.cmd +0 -0
  267. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/windows/mounts/share_smb.ps1 +0 -0
  268. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/scripts/windows/mounts/unlock_bitlocker.ps1 +0 -0
  269. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/__init__.py +0 -0
  270. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/broot/br.sh +0 -0
  271. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/broot/brootcd.ps1 +0 -0
  272. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/broot/conf.toml +0 -0
  273. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/glow/glow.yml +0 -0
  274. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/gromit-mpx/gromit-mpx.cfg +0 -0
  275. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/helix/config.toml +0 -0
  276. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/helix/languages.toml +0 -0
  277. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/keras/keras.json +0 -0
  278. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/keyboard/espanso/config/default.yml +0 -0
  279. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/keyboard/espanso/match/base.yml +0 -0
  280. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/keyboard/kanata/kanata.kbd +0 -0
  281. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/lf/linux/autocall/delete.sh +0 -0
  282. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/lf/linux/autocall/on-cd.sh +0 -0
  283. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/lf/linux/autocall/on-quit.sh +0 -0
  284. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/lf/linux/autocall/open.sh +0 -0
  285. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/lf/linux/autocall/paste.sh +0 -0
  286. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/lf/linux/autocall/pre-cd.sh +0 -0
  287. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/lf/linux/autocall/rename.sh +0 -0
  288. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/lf/linux/colors +0 -0
  289. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/lf/linux/exe/cleaner.sh +0 -0
  290. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/lf/linux/exe/fzf_nano.sh +0 -0
  291. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/lf/linux/exe/leftpane_previewer.sh +0 -0
  292. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/lf/linux/exe/lfcd.sh +0 -0
  293. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/lf/linux/exe/previewer.sh +0 -0
  294. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/lf/linux/exe/previewer_archive.sh +0 -0
  295. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/lf/linux/icons +0 -0
  296. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/lf/windows/autocall/delete.ps1 +0 -0
  297. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/lf/windows/autocall/on-cd.ps1 +0 -0
  298. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/lf/windows/autocall/on-quit.ps1 +0 -0
  299. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/lf/windows/autocall/open.ps1 +0 -0
  300. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/lf/windows/autocall/paste.ps1 +0 -0
  301. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/lf/windows/autocall/pre-cd.ps1 +0 -0
  302. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/lf/windows/autocall/rename.ps1 +0 -0
  303. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/lf/windows/cd_tere.ps1 +0 -0
  304. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/lf/windows/cd_zoxide.ps1 +0 -0
  305. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/lf/windows/cd_zoxide2.ps1 +0 -0
  306. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/lf/windows/colors +0 -0
  307. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/lf/windows/fzf_edit.ps1 +0 -0
  308. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/lf/windows/icons +0 -0
  309. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/lf/windows/leftpane_previewer.ps1 +0 -0
  310. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/lf/windows/lfcd.ps1 +0 -0
  311. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/lf/windows/mkdir.ps1 +0 -0
  312. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/lf/windows/mkfile.ps1 +0 -0
  313. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/lf/windows/previewer.ps1 +0 -0
  314. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/lf/windows/tst.ps1 +0 -0
  315. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/linters/.flake8 +0 -0
  316. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/linters/.mypy.ini +0 -0
  317. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/linters/.pylintrc +0 -0
  318. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/linters/.ruff.toml +0 -0
  319. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/lvim/linux/config.lua +0 -0
  320. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/lvim/windows/config.lua +0 -0
  321. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/lvim/windows/lua/user/custom_config.lua +0 -0
  322. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/mprocs/windows/mprocs.yaml +0 -0
  323. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/mprocs/windows/other +0 -0
  324. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/presenterm/config.yaml +0 -0
  325. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/procs/.procs.toml +0 -0
  326. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/pudb/pudb.cfg +0 -0
  327. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/rofi/config.rasi +0 -0
  328. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/rofi/config_default.rasi +0 -0
  329. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/shells/alacritty/alacritty.toml +0 -0
  330. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/shells/alacritty/alacritty.yml +0 -0
  331. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/shells/hyper/.hyper.js +0 -0
  332. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/shells/ipy/profiles/default/__init__.py +0 -0
  333. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/shells/ipy/profiles/default/startup/__init__.py +0 -0
  334. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/shells/ipy/profiles/default/startup/playext.py +0 -0
  335. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/shells/kitty/kitty.conf +0 -0
  336. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/shells/nushell/config.nu +0 -0
  337. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/shells/nushell/env.nu +0 -0
  338. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/shells/pwsh/profile.ps1 +0 -0
  339. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/shells/starship/starship.toml +0 -0
  340. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/shells/vtm/settings.xml +0 -0
  341. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/shells/wezterm/wezterm.lua +0 -0
  342. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/shells/wt/settings.json +0 -0
  343. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/streamlit/config.toml +0 -0
  344. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/tere/terecd.ps1 +0 -0
  345. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/tere/terecd.sh +0 -0
  346. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/tmux/.tmate.conf +0 -0
  347. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/tmux/.tmux.conf +0 -0
  348. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/wsl/.wslconfig +0 -0
  349. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/yazi/keymap.toml +0 -0
  350. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/yazi/theme.toml +0 -0
  351. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/yazi/yazi.toml +0 -0
  352. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/zed/settings.json +0 -0
  353. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/zellij/commands/monitor +0 -0
  354. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/zellij/commands/standard_panes +0 -0
  355. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/zellij/config.kdl +0 -0
  356. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/zellij/config.orig.kdl +0 -0
  357. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/zellij/layouts/hist +0 -0
  358. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/zellij/layouts/panes.kdl +0 -0
  359. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/zellij/layouts/st.kdl +0 -0
  360. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/zellij/layouts/st2.kdl +0 -0
  361. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/settings/zellij/layouts/stacked_panes.kdl +0 -0
  362. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/setup_linux/__init__.py +0 -0
  363. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/setup_linux/apps.sh +0 -0
  364. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/setup_linux/apps_desktop.sh +0 -0
  365. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/setup_linux/apps_gui.sh +0 -0
  366. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/setup_linux/nix/cli_installation.sh +0 -0
  367. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/setup_linux/others/mint_keyboard_shortcuts.sh +0 -0
  368. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/setup_linux/ssh/openssh_all.sh +0 -0
  369. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/setup_linux/ssh/openssh_wsl.sh +0 -0
  370. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/setup_linux/uv.sh +0 -0
  371. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/setup_linux/web_shortcuts/android.sh +0 -0
  372. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/setup_windows/__init__.py +0 -0
  373. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/setup_windows/apps.ps1 +0 -0
  374. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/setup_windows/others/docker.ps1 +0 -0
  375. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/setup_windows/others/obs.ps1 +0 -0
  376. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/setup_windows/others/power_options.ps1 +0 -0
  377. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/setup_windows/ssh/add-sshkey.ps1 +0 -0
  378. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/setup_windows/ssh/add_identity.ps1 +0 -0
  379. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/setup_windows/ssh/openssh-server.ps1 +0 -0
  380. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/setup_windows/uv.ps1 +0 -0
  381. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/setup_windows/wt_and_pwsh/__init__.py +0 -0
  382. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py +0 -0
  383. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/utils/__init__.py +0 -0
  384. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/utils/accessories.py +0 -0
  385. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/utils/ai/__init__.py +0 -0
  386. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/utils/ai/generate_file_checklist.py +0 -0
  387. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/utils/cloud/onedrive/setup_oauth.py +0 -0
  388. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/utils/cloud/onedrive/transaction.py +0 -0
  389. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/utils/code.py +0 -0
  390. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/utils/files/ascii_art.py +0 -0
  391. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/utils/files/dbms.py +0 -0
  392. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/utils/files/headers.py +0 -0
  393. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/utils/files/ouch/__init__.py +0 -0
  394. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/utils/files/ouch/decompress.py +0 -0
  395. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/utils/files/read.py +0 -0
  396. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/utils/installer.py +0 -0
  397. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/utils/installer_utils/__init__.py +0 -0
  398. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/utils/installer_utils/github_release_bulk.py +0 -0
  399. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/utils/installer_utils/installer.py +0 -0
  400. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/utils/installer_utils/installer_abc.py +0 -0
  401. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/utils/installer_utils/installer_class.py +0 -0
  402. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/utils/io.py +0 -0
  403. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/utils/links.py +0 -0
  404. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/utils/notifications.py +0 -0
  405. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/utils/options.py +0 -0
  406. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/utils/path_extended.py +0 -0
  407. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/utils/path_helper.py +0 -0
  408. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/utils/procs.py +0 -0
  409. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/utils/scheduler.py +0 -0
  410. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/utils/scheduling.py +0 -0
  411. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/utils/schemas/fire_agents/fire_agents_input.py +0 -0
  412. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/utils/schemas/installer/installer_types.py +0 -0
  413. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/utils/schemas/layouts/layout_types.py +0 -0
  414. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/utils/schemas/repos/repos_types.py +0 -0
  415. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/utils/terminal.py +0 -0
  416. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/utils/upgrade_packages.py +0 -0
  417. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig/utils/ve.py +0 -0
  418. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig.egg-info/dependency_links.txt +0 -0
  419. {machineconfig-5.38 → machineconfig-5.40}/src/machineconfig.egg-info/entry_points.txt +0 -0
  420. {machineconfig-5.38 → machineconfig-5.40}/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.38
3
+ Version: 5.40
4
4
  Summary: Dotfiles management package
5
5
  Author-email: Alex Al-Saffar <programmer@usa.com>
6
6
  License: Apache 2.0
@@ -26,6 +26,7 @@ Requires-Dist: rclone-python>=0.1.23
26
26
  Requires-Dist: pyjson5>=1.6.9
27
27
  Requires-Dist: questionary>=2.1.1
28
28
  Requires-Dist: typer-slim>=0.19.2
29
+ Requires-Dist: euporie>=2.8.14
29
30
  Provides-Extra: windows
30
31
  Requires-Dist: pywin32; extra == "windows"
31
32
  Provides-Extra: plot
@@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta"
6
6
 
7
7
  [project]
8
8
  name = "machineconfig"
9
- version = "5.38"
9
+ version = "5.40"
10
10
  description = "Dotfiles management package"
11
11
  readme = "README.md"
12
12
  license = {text = "Apache 2.0"}
@@ -35,6 +35,7 @@ dependencies = [
35
35
  "pyjson5>=1.6.9",
36
36
  "questionary>=2.1.1",
37
37
  "typer-slim>=0.19.2",
38
+ "euporie>=2.8.14",
38
39
  ]
39
40
 
40
41
  [project.optional-dependencies]
@@ -92,10 +93,12 @@ dev = [
92
93
  "ipdb>=0.13.13",
93
94
  "ipykernel>=6.30.1",
94
95
  "ipython>=9.5.0",
96
+ "marimo>=0.16.5",
95
97
  "matplotlib>=3.10.6",
96
98
  "mypy>=1.18.2",
97
99
  "nuitka>=2.7.16",
98
100
  "numpy>=2.3.3",
101
+ "pandas>=2.3.3",
99
102
  "plotly>=6.3.0",
100
103
  "polars>=1.33.1",
101
104
  "pre-commit>=4.3.0",
@@ -53,7 +53,7 @@ class ProcessMonitor:
53
53
  command = tab_config["command"]
54
54
  try:
55
55
  check_script = self._create_process_check_script(command)
56
- remote_cmd = f"$HOME/code/machineconfig/.venv/bin/python -c {shlex.quote(check_script)}"
56
+ remote_cmd = f"$HOME/.local/bin devops self run-python -c {shlex.quote(check_script)}"
57
57
  result = self.remote_executor.run_command(remote_cmd, timeout=15)
58
58
  if result.returncode == 0:
59
59
  try:
@@ -143,7 +143,7 @@ if __name__ == "__main__":
143
143
  check_timestamp = timestamp_result.stdout.strip() if timestamp_result.returncode == 0 else "unknown"
144
144
 
145
145
  check_script = self._create_fresh_check_script(command)
146
- remote_cmd = f"$HOME/code/machineconfig/.venv/bin/python -c {shlex.quote(check_script)}"
146
+ remote_cmd = f"$HOME/.local/bin/devops self run-python -c {shlex.quote(check_script)}"
147
147
  result = self.remote_executor.run_command(remote_cmd, timeout=15)
148
148
 
149
149
  if result.returncode == 0:
@@ -1,9 +1,9 @@
1
1
 
2
2
  import platform
3
- from machineconfig.utils.source_of_truth import LIBRARY_ROOT
3
+ from machineconfig.utils.source_of_truth import CONFIG_ROOT
4
4
 
5
5
 
6
- APP_SUMMARY_PATH = LIBRARY_ROOT.joinpath(f"profile/records/{platform.system().lower()}/apps_summary_report.csv")
6
+ APP_SUMMARY_PATH = CONFIG_ROOT.joinpath(f"profile/records/{platform.system().lower()}/apps_summary_report.csv")
7
7
  # CLOUD: str = "gdw" # Read.ini(DEFAULTS_PATH)['general']['rclone_config_name']
8
8
  # # my onedrive doesn't allow sharing.
9
9
 
@@ -0,0 +1,26 @@
1
+
2
+ from typing import Literal
3
+ from machineconfig.utils.source_of_truth import LIBRARY_ROOT, CONFIG_ROOT
4
+
5
+
6
+ def copy_assets_to_machine(which: Literal["scripts", "settings"]):
7
+ # callers, symlink public, shell profile adder (requires init.ps1 and scripts dir to be present on machine)
8
+ import platform
9
+ if platform.system().lower() == "windows":
10
+ system = "windows"
11
+ elif platform.system().lower() == "linux" or platform.system().lower() == "darwin":
12
+ system = "linux"
13
+ else:
14
+ raise NotImplementedError(f"System {platform.system().lower()} not supported")
15
+ match which:
16
+ case "scripts":
17
+ source = LIBRARY_ROOT.joinpath("scripts", system)
18
+ target = CONFIG_ROOT.joinpath("scripts", system)
19
+ case "settings":
20
+ source = LIBRARY_ROOT.joinpath("settings", system)
21
+ target = CONFIG_ROOT.joinpath("settings", system)
22
+ from machineconfig.utils.path_extended import PathExtended
23
+ PathExtended(source).copy(folder=target.parent, overwrite=True)
24
+ PathExtended(source).copy(folder=target.parent, overwrite=True)
25
+
26
+
@@ -13,7 +13,7 @@ from rich.table import Table
13
13
 
14
14
  from machineconfig.utils.path_extended import PathExtended
15
15
  from machineconfig.utils.links import symlink_map, copy_map
16
- from machineconfig.utils.source_of_truth import LIBRARY_ROOT, CONFIG_PATH
16
+ from machineconfig.utils.source_of_truth import LIBRARY_ROOT, CONFIG_ROOT
17
17
 
18
18
  import platform
19
19
  import subprocess
@@ -63,7 +63,7 @@ def read_mapper() -> MapperFileData:
63
63
  "contents": file_base.get("contents"),
64
64
  "copy": file_base.get("copy"),
65
65
  }
66
- if "LIBRARY_ROOT" in file_map["self_managed_config_file_path"]:
66
+ if "CONFIG_ROOT" in file_map["self_managed_config_file_path"]:
67
67
  if program_key not in public:
68
68
  public[program_key] = []
69
69
  public[program_key].append(file_map)
@@ -107,7 +107,7 @@ def apply_mapper(mapper_data: dict[str, list[ConfigMapper]],
107
107
  console.rule(f"🔄 Processing [bold]{program_name}[/] symlinks", style="cyan")
108
108
  for a_mapper in program_files:
109
109
  config_file_default_path = PathExtended(a_mapper["config_file_default_path"])
110
- self_managed_config_file_path = PathExtended(a_mapper["self_managed_config_file_path"].replace("LIBRARY_ROOT", LIBRARY_ROOT.as_posix()))
110
+ self_managed_config_file_path = PathExtended(a_mapper["self_managed_config_file_path"].replace("CONFIG_ROOT", CONFIG_ROOT.as_posix()))
111
111
 
112
112
  # Determine whether to use copy or symlink
113
113
  use_copy = method == "copy" or a_mapper.get("copy", False)
@@ -215,7 +215,7 @@ def apply_mapper(mapper_data: dict[str, list[ConfigMapper]],
215
215
 
216
216
  if system == "Linux":
217
217
  console.print("\n[bold]📜 Setting executable permissions for scripts...[/bold]")
218
- subprocess.run(f"chmod +x {LIBRARY_ROOT.joinpath(f'scripts/{system.lower()}')} -R", shell=True, capture_output=True, text=True)
218
+ subprocess.run(f"chmod +x {CONFIG_ROOT.joinpath(f'scripts/{system.lower()}')} -R", shell=True, capture_output=True, text=True)
219
219
  console.print("[green]✅ Script permissions updated[/green]")
220
220
 
221
221
  # Display operation summary table
@@ -250,8 +250,8 @@ def apply_mapper(mapper_data: dict[str, list[ConfigMapper]],
250
250
  # Export operation records to CSV
251
251
  import csv
252
252
  from datetime import datetime
253
-
254
- csv_dir = PathExtended(CONFIG_PATH).joinpath("symlink_operations")
253
+
254
+ csv_dir = PathExtended(CONFIG_ROOT).joinpath("symlink_operations")
255
255
  csv_dir.mkdir(parents=True, exist_ok=True)
256
256
 
257
257
  timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
@@ -1,7 +1,6 @@
1
1
 
2
2
  import typer
3
3
  from typing import Optional, Literal
4
- from pathlib import Path
5
4
 
6
5
 
7
6
  def main_public_from_parser(method: Literal["symlink", "copy"] = typer.Option(..., help="Method to use for setting up the config file."),
@@ -12,12 +11,7 @@ def main_public_from_parser(method: Literal["symlink", "copy"] = typer.Option(..
12
11
  SOURCE = Self-Managed-Config-File-Path
13
12
  TARGET = Config-File-Default-Path
14
13
  For public config files, the source always exists, because we know it comes from machineconfig repo."""
15
- from machineconfig.profile.create import ConfigMapper, read_mapper
16
- if method == "symlink":
17
- machineconfig_repo_path = Path.home().joinpath("code/machineconfig")
18
- if not machineconfig_repo_path.exists() or not machineconfig_repo_path.is_dir():
19
- raise FileNotFoundError(f"machineconfig repo not found at {machineconfig_repo_path}. Cannot create symlinks to non-existing source files.")
20
-
14
+ from machineconfig.profile.create_links import ConfigMapper, read_mapper
21
15
  mapper_full = read_mapper()["public"]
22
16
  if which is None:
23
17
  assert interactive is True
@@ -31,7 +25,9 @@ def main_public_from_parser(method: Literal["symlink", "copy"] = typer.Option(..
31
25
  items_chosen = which.split(",")
32
26
  items_objections: dict[str, list[ConfigMapper]] = {item: mapper_full[item] for item in items_chosen if item in mapper_full}
33
27
 
34
- from machineconfig.profile.create import apply_mapper
28
+ from machineconfig.profile.create_links import apply_mapper
29
+ from machineconfig.profile.create_helper import copy_assets_to_machine
30
+ copy_assets_to_machine(which="settings") # config files live here and will be linked to.
35
31
  apply_mapper(mapper_data=items_objections, on_conflict=on_conflict, method=method)
36
32
 
37
33
 
@@ -39,7 +35,7 @@ def main_private_from_parser(method: Literal["symlink", "copy"] = typer.Option(.
39
35
  on_conflict: Literal["throwError", "overwriteSelfManaged", "backupSelfManaged", "overwriteDefaultPath", "backupDefaultPath"] = typer.Option("throwError", help="Action to take on conflict"),
40
36
  which: Optional[str] = typer.Option(None, help="Specific items to process"),
41
37
  interactive: bool = typer.Option(False, help="Run in interactive mode")):
42
- from machineconfig.profile.create import ConfigMapper, read_mapper
38
+ from machineconfig.profile.create_links import ConfigMapper, read_mapper
43
39
 
44
40
  mapper_full = read_mapper()["private"]
45
41
  if which is None:
@@ -54,5 +50,5 @@ def main_private_from_parser(method: Literal["symlink", "copy"] = typer.Option(.
54
50
  items_chosen = which.split(",")
55
51
  items_objections: dict[str, list[ConfigMapper]] = {item: mapper_full[item] for item in items_chosen if item in mapper_full}
56
52
 
57
- from machineconfig.profile.create import apply_mapper
53
+ from machineconfig.profile.create_links import apply_mapper
58
54
  apply_mapper(mapper_data=items_objections, on_conflict=on_conflict, method=method)
@@ -1,8 +1,7 @@
1
1
  """shell"""
2
2
 
3
- from typing import Literal
4
3
  from machineconfig.utils.path_extended import PathExtended
5
- from machineconfig.utils.source_of_truth import LIBRARY_ROOT, CONFIG_PATH
4
+ from machineconfig.utils.source_of_truth import CONFIG_ROOT
6
5
 
7
6
  import platform
8
7
  import os
@@ -36,51 +35,27 @@ def get_shell_profile_path() -> PathExtended:
36
35
  return profile_path
37
36
 
38
37
 
39
- def create_default_shell_profile(method: Literal["copy", "reference"]) -> None:
40
- if method == "reference":
41
- machineconfig_repo_path = PathExtended.home().joinpath("code/machineconfig")
42
- if not machineconfig_repo_path.exists() or not machineconfig_repo_path.is_dir():
43
- raise FileNotFoundError(f"machineconfig repo not found at {machineconfig_repo_path}. Cannot create symlinks to non-existing source files.")
44
-
38
+ def create_default_shell_profile() -> None:
45
39
  shell_profile_path = get_shell_profile_path()
46
40
  shell_profile = shell_profile_path.read_text(encoding="utf-8")
47
41
 
48
- if system == "Windows":
49
- init_script = PathExtended(LIBRARY_ROOT).joinpath("settings/shells/pwsh/init.ps1")
50
-
51
- init_script_copy_path = PathExtended(CONFIG_PATH).joinpath("profile/init.ps1").collapseuser()
52
- init_script_copy_path.parent.mkdir(parents=True, exist_ok=True)
53
- init_script.copy(path=init_script_copy_path, overwrite=True)
42
+ from machineconfig.profile.create_helper import copy_assets_to_machine
43
+ copy_assets_to_machine("settings") # init.ps1 or init.sh live here
44
+ copy_assets_to_machine("scripts") # init scripts are going to reference those scripts.
54
45
 
55
- source_using_copy = f""". {str(init_script_copy_path).replace("~", "$HOME")}"""
56
- source_using_reference = f""". {str(init_script.collapseuser()).replace("~", "$HOME")}"""
46
+ if system == "Windows":
47
+ init_script = PathExtended(CONFIG_ROOT).joinpath("settings/shells/pwsh/init.ps1")
48
+ source_line = f""". {str(init_script.collapseuser()).replace("~", "$HOME")}"""
57
49
  else:
58
- init_script = PathExtended(LIBRARY_ROOT).joinpath("settings/shells/bash/init.sh")
59
- init_script_copy_path = PathExtended(CONFIG_PATH).joinpath("profile/init.sh").collapseuser()
60
- init_script_copy_path.parent.mkdir(parents=True, exist_ok=True)
61
- init_script.copy(path=init_script_copy_path, overwrite=True)
62
-
63
- source_using_reference = f"""source {str(init_script.collapseuser()).replace("~", "$HOME")}"""
64
- source_using_copy = f"""source {str(init_script_copy_path).replace("~", "$HOME")}"""
65
-
66
- match method:
67
- case "copy":
68
- line_of_interest = source_using_copy
69
- line_other = source_using_reference
70
- case "reference":
71
- line_of_interest = source_using_reference
72
- line_other = source_using_copy
50
+ init_script = PathExtended(CONFIG_ROOT).joinpath("settings/shells/bash/init.sh")
51
+ source_line = f"""source {str(init_script).replace("~", "$HOME")}"""
73
52
 
74
53
  was_shell_updated = False
75
- if line_other in shell_profile: # always remove this irrelevant line
76
- shell_profile = shell_profile.replace(line_other, "")
77
- was_shell_updated = True
78
-
79
- if line_of_interest in shell_profile:
54
+ if source_line in shell_profile:
80
55
  console.print(Panel("🔄 PROFILE | Skipping init script sourcing - already present in profile", title="[bold blue]Profile[/bold blue]", border_style="blue"))
81
56
  else:
82
57
  console.print(Panel("📝 PROFILE | Adding init script sourcing to profile", title="[bold blue]Profile[/bold blue]", border_style="blue"))
83
- shell_profile += "\n" + line_of_interest + "\n"
58
+ shell_profile += "\n" + source_line + "\n"
84
59
  if system == "Linux":
85
60
  result = subprocess.run(["cat", "/proc/version"], stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True, check=False)
86
61
  if result.returncode == 0 and result.stdout:
@@ -40,11 +40,11 @@ fi
40
40
  if [[ "${ZJ_SESSIONS}" == *"(current)"* ]]; then
41
41
  # if so, then we are in a zellijsession
42
42
  echo "already inside a session, existing."
43
- COMMANDS=$(ls $HOME/code/machineconfig/src/machineconfig/settings/zellij/commands)
43
+ COMMANDS=$(ls $HOME/.config/machineconfig/settings/zellij/commands)
44
44
  # fzf the results
45
45
  res="$(echo -e "${COMMANDS}" | fzf --ansi)"
46
46
  # run the bash fiZJ_SESSIONSle chosen
47
- bash $HOME/code/machineconfig/src/machineconfig/settings/zellij/commands/$res
47
+ bash $HOME/.config/machineconfig/settings/zellij/commands/$res
48
48
 
49
49
  else # ==> we are not in a zellijsession
50
50
  if [ "${NO_SESSIONS}" -ge 1 ]; then # sessions do exist
@@ -103,7 +103,6 @@ def create(
103
103
  layoutfile = get_agents_launch_layout(session_root=agents_dir)
104
104
  regenerate_py_code = f"""
105
105
  #!/usr/bin/env uv run --python 3.13 --with machineconfig
106
- #!/usr/bin/env uv run --no-dev --project $HOME/code/machineconfig
107
106
  fire_agents create --context-path "{prompt_material_path}" \\
108
107
  --{search_strategy} "{context_path or keyword_search or filename_pattern}" \\
109
108
  --prompt-path "{prompt_path or ''}" \\
@@ -23,12 +23,11 @@ uv init --python 3.13
23
23
  uv venv
24
24
  uv add --upgrade-package pylint pyright mypy pyrefly ty --dev # linters and type checkers
25
25
  uv add --upgrade-package pytest --dev
26
- # uv add typer --dev
26
+ uv add typer --dev
27
27
 
28
28
  """
29
- import subprocess
30
-
31
- subprocess.run(command_to_run, shell=True, check=True)
29
+ from machineconfig.utils.code import run_shell_script
30
+ run_shell_script(command_to_run)
32
31
  else:
33
32
  print("Terminating initai ...")
34
33
  return
@@ -66,7 +66,6 @@ uv run -m cleanpy .
66
66
  uv run -m ruff clean
67
67
  # uv run -m ruff format .
68
68
  uv run -m ruff check . --fix
69
- uv run --no-dev --project $HOME/code/machineconfig -m machineconfig.scripts.python.ai.generate_files
70
69
 
71
70
  New-Item -ItemType Directory -Force -Path .ai/linters | Out-Null
72
71
 
@@ -70,7 +70,6 @@ uv run -m cleanpy .
70
70
  uv run -m ruff clean
71
71
  # uv run -m ruff format .
72
72
  uv run -m ruff check . --fix
73
- uv run --no-dev --project $HOME/code/machineconfig -m machineconfig.scripts.python.ai.generate_files
74
73
 
75
74
  mkdir .ai/linters
76
75
 
@@ -142,7 +142,14 @@ from pathlib import Path
142
142
  else:
143
143
  if interpreter == "ipython": profile = f" --profile {ipython_profile} --no-banner"
144
144
  else: profile = ""
145
- if local: ve_line = "--project $HOME/code/machineconfig"
145
+ if local:
146
+ from machineconfig.utils.source_of_truth import LIBRARY_ROOT
147
+ repo_root = LIBRARY_ROOT.parent.parent
148
+ if repo_root.parent.name == "code" and repo_root.name == "machineconfig" and repo_root.exists() and repo_root.is_dir():
149
+ ve_line = f"--project {str(repo_root)}"
150
+ else:
151
+ console.print(Panel("❌ Could not determine the local machineconfig repo root. Please ensure the `REPO_ROOT` in `source_of_truth.py` is correctly set to the local path of the machineconfig repo, or do not use the `--local` flag.", title="Error", border_style="red"))
152
+ return
146
153
  else: ve_line = "--with machineconfig[plot]"
147
154
  fire_line = f"uv run --python 3.13 {ve_line} {interpreter} {interactivity} {profile} {str(pyfile)}"
148
155
 
@@ -2,7 +2,7 @@
2
2
  slidev
3
3
  """
4
4
 
5
- from machineconfig.utils.source_of_truth import CONFIG_PATH
5
+ from machineconfig.utils.source_of_truth import CONFIG_ROOT
6
6
  from machineconfig.utils.code import print_code
7
7
  from machineconfig.utils.path_extended import PathExtended
8
8
  from machineconfig.utils.terminal import Response
@@ -13,7 +13,7 @@ import platform
13
13
 
14
14
  PORT_DEFAULT = 3030
15
15
 
16
- SLIDEV_REPO = PathExtended(CONFIG_PATH).joinpath(".cache/slidev")
16
+ SLIDEV_REPO = PathExtended(CONFIG_ROOT).joinpath(".cache/slidev")
17
17
  if not SLIDEV_REPO.joinpath("components").exists():
18
18
  print("📦 Initializing Slidev repository...")
19
19
  subprocess.run(f"cd {SLIDEV_REPO.parent};npm init slidev@latest", check=False, shell=True, text=True)
@@ -5,7 +5,7 @@ from typing import Optional
5
5
 
6
6
  import machineconfig.scripts.python.devops_helpers.cli_repos as cli_repos
7
7
  import machineconfig.scripts.python.devops_helpers.cli_config as cli_config
8
- from machineconfig.scripts.python.devops_helpers.cli_self import cli_app as cli_app
8
+ import machineconfig.scripts.python.devops_helpers.cli_self as cli_self
9
9
  import machineconfig.scripts.python.devops_helpers.cli_data as cli_data
10
10
  import machineconfig.scripts.python.devops_helpers.cli_nw as cli_network
11
11
 
@@ -24,7 +24,7 @@ def install( which: Optional[str] = typer.Option(None, "--which", "-w", help="Co
24
24
  app.add_typer(cli_repos.app, name="repos")
25
25
  app.add_typer(cli_config.config_apps, name="config")
26
26
  app.add_typer(cli_data.app_data, name="data")
27
- app.add_typer(cli_app, name="self")
27
+ app.add_typer(cli_self.cli_app, name="self")
28
28
  app.add_typer(cli_network.nw_apps, name="network")
29
29
 
30
30
 
@@ -13,8 +13,8 @@ def private(method: Literal["symlink", "copy"] = typer.Option(..., "--method", "
13
13
  which: Optional[str] = typer.Option(None, "--which", "-w", help="Specific items to process"),
14
14
  interactive: bool = typer.Option(False, "--interactive", "-ia", help="Run in interactive mode")):
15
15
  """🔗 Manage private configuration files."""
16
- import machineconfig.profile.create_frontend as create_frontend
17
- create_frontend.main_private_from_parser(method=method, on_conflict=on_conflict, which=which, interactive=interactive)
16
+ import machineconfig.profile.create_links_export as create_links_export
17
+ create_links_export.main_private_from_parser(method=method, on_conflict=on_conflict, which=which, interactive=interactive)
18
18
 
19
19
  @config_apps.command(no_args_is_help=True)
20
20
  def public(method: Literal["symlink", "copy"] = typer.Option(..., "--method", "-m", help="Method to use for setting up the config file."),
@@ -22,8 +22,8 @@ def public(method: Literal["symlink", "copy"] = typer.Option(..., "--method", "-
22
22
  which: Optional[str] = typer.Option(None, "--which", "-w", help="Specific items to process"),
23
23
  interactive: bool = typer.Option(False, "--interactive", "-ia", help="Run in interactive mode")):
24
24
  """🔗 Manage public configuration files."""
25
- import machineconfig.profile.create_frontend as create_frontend
26
- create_frontend.main_public_from_parser(method=method, on_conflict=on_conflict, which=which, interactive=interactive)
25
+ import machineconfig.profile.create_links_export as create_links_export
26
+ create_links_export.main_public_from_parser(method=method, on_conflict=on_conflict, which=which, interactive=interactive)
27
27
 
28
28
  @config_apps.command(no_args_is_help=True)
29
29
  def dotfile(file: Annotated[str, typer.Argument(help="file/folder path.")],
@@ -35,18 +35,17 @@ def dotfile(file: Annotated[str, typer.Argument(help="file/folder path.")],
35
35
  dotfile_module.main(file=file, overwrite=overwrite, dest=dest)
36
36
 
37
37
 
38
- @config_apps.command(no_args_is_help=True)
39
- def shell(method: Annotated[Literal["copy", "reference"], typer.Argument(help="Choose the method to configure the shell profile: 'copy' copies the init script directly, 'reference' references machineconfig for dynamic updates.")]):
38
+ @config_apps.command(no_args_is_help=False)
39
+ def shell():
40
40
  """🔗 Configure your shell profile."""
41
- from machineconfig.profile.shell import create_default_shell_profile
42
- create_default_shell_profile(method=method)
41
+ from machineconfig.profile.create_shell_profile import create_default_shell_profile
42
+ create_default_shell_profile()
43
43
 
44
44
 
45
45
  @config_apps.command(no_args_is_help=False)
46
46
  def pwsh_theme():
47
- """🔗 Configure your shell profile."""
47
+ """🔗 Select powershell prompt theme."""
48
48
  import machineconfig.scripts.python.devops_helpers.themes as themes
49
49
  file = Path(themes.__file__).parent / "choose_pwsh_theme.ps1"
50
50
  import subprocess
51
- # subprocess.run(["pwsh", "-File", str(file)])
52
51
  subprocess.run(["pwsh", "-File", str(file)])
@@ -23,7 +23,7 @@ def main(
23
23
 
24
24
  from machineconfig.utils.links import symlink_map
25
25
  from machineconfig.utils.path_extended import PathExtended
26
- from machineconfig.utils.source_of_truth import LIBRARY_ROOT, REPO_ROOT
26
+ from machineconfig.utils.source_of_truth import CONFIG_ROOT
27
27
  console = Console()
28
28
  orig_path = PathExtended(file).expanduser().absolute()
29
29
  if dest == "":
@@ -35,7 +35,7 @@ def main(
35
35
  junction = orig_path.split(at=".config", sep=-1)[1]
36
36
  else:
37
37
  junction = orig_path.rel2home()
38
- new_path = PathExtended(REPO_ROOT).joinpath(junction)
38
+ new_path = PathExtended(CONFIG_ROOT).parent.parent.joinpath(junction)
39
39
  else:
40
40
  dest_path = PathExtended(dest).expanduser().absolute()
41
41
  dest_path.mkdir(parents=True, exist_ok=True)
@@ -59,7 +59,7 @@ def main(
59
59
 
60
60
  mapper_snippet = "\n".join(
61
61
  [
62
- f"[bold]📝 Edit configuration file:[/] [cyan]nano {PathExtended(LIBRARY_ROOT)}/symlinks/mapper.toml[/cyan]",
62
+ f"[bold]📝 Edit configuration file:[/] [cyan]nano {PathExtended(CONFIG_ROOT)}/symlinks/mapper.toml[/cyan]",
63
63
  "",
64
64
  f"[{new_path.parent.name}]",
65
65
  f"{orig_path.name.split('.')[0]} = {{ this = '{orig_path.collapseuser().as_posix()}', to_this = '{new_path.collapseuser().as_posix()}' }}",
@@ -1,4 +1,5 @@
1
1
 
2
+ from git import Optional
2
3
  import typer
3
4
 
4
5
  cli_app = typer.Typer(help="🔄 SELF operations subcommands", no_args_is_help=True)
@@ -24,18 +25,30 @@ def clone():
24
25
  """📋 CLONE machienconfig locally and incorporate to shell profile for faster execution and nightly updates."""
25
26
  import platform
26
27
  from machineconfig.utils.code import run_shell_script
27
- from machineconfig.profile.shell import create_default_shell_profile
28
+ from machineconfig.profile.create_shell_profile import create_default_shell_profile
28
29
  if platform.system() == "Windows":
29
30
  from machineconfig.setup_windows import MACHINECONFIG
30
- create_default_shell_profile(method="copy")
31
+ create_default_shell_profile()
31
32
  else:
32
33
  from machineconfig.setup_linux import MACHINECONFIG
33
- create_default_shell_profile(method="reference")
34
+ create_default_shell_profile()
34
35
  run_shell_script(MACHINECONFIG.read_text(encoding="utf-8"))
35
36
 
36
- @cli_app.command()
37
+ @cli_app.command(no_args_is_help=False)
37
38
  def navigate():
38
39
  """📚 NAVIGATE command structure with TUI"""
39
40
  from machineconfig.scripts.python.devops_navigator import main
40
41
  main()
41
42
 
43
+
44
+ @cli_app.command(no_args_is_help=True)
45
+ def run_python(ip: str = typer.Argument(..., help="Python command to run in the machineconfig environment"),
46
+ command: Optional[bool] = typer.Option(False, "--command", "-c", help="Run as command")):
47
+ """🐍 RUN python command/file in the machineconfig environment"""
48
+ if command:
49
+ exec(ip)
50
+ return
51
+ import machineconfig
52
+ import subprocess
53
+ import sys
54
+ subprocess.run([sys.executable, ip], cwd=machineconfig.__path__[0])
@@ -11,7 +11,7 @@ from rich.table import Table
11
11
  from rich.text import Text
12
12
 
13
13
  from machineconfig.utils.path_extended import PathExtended
14
- from machineconfig.utils.source_of_truth import CONFIG_PATH, DEFAULTS_PATH, LIBRARY_ROOT
14
+ from machineconfig.utils.source_of_truth import CONFIG_ROOT, DEFAULTS_PATH, LIBRARY_ROOT
15
15
 
16
16
 
17
17
  console = Console()
@@ -36,7 +36,7 @@ def _check_system_info() -> dict[str, str]:
36
36
 
37
37
  def _check_shell_profile_status() -> dict[str, Any]:
38
38
  """Check shell profile configuration status."""
39
- from machineconfig.profile.shell import get_shell_profile_path
39
+ from machineconfig.profile.create_shell_profile import get_shell_profile_path
40
40
 
41
41
  try:
42
42
  profile_path = get_shell_profile_path()
@@ -46,13 +46,13 @@ def _check_shell_profile_status() -> dict[str, Any]:
46
46
  profile_content = profile_path.read_text(encoding="utf-8")
47
47
  system_name = platform.system()
48
48
  if system_name == "Windows":
49
- init_script = PathExtended(LIBRARY_ROOT).joinpath("settings/shells/pwsh/init.ps1")
50
- init_script_copy = PathExtended(CONFIG_PATH).joinpath("profile/init.ps1").collapseuser()
49
+ init_script = PathExtended(CONFIG_ROOT).joinpath("settings/shells/pwsh/init.ps1")
50
+ init_script_copy = PathExtended(CONFIG_ROOT).joinpath("profile/init.ps1").collapseuser()
51
51
  source_reference = f". {str(init_script.collapseuser()).replace('~', '$HOME')}"
52
52
  source_copy = f". {str(init_script_copy).replace('~', '$HOME')}"
53
53
  else:
54
- init_script = PathExtended(LIBRARY_ROOT).joinpath("settings/shells/bash/init.sh")
55
- init_script_copy = PathExtended(CONFIG_PATH).joinpath("profile/init.sh").collapseuser()
54
+ init_script = PathExtended(CONFIG_ROOT).joinpath("settings/shells/bash/init.sh")
55
+ init_script_copy = PathExtended(CONFIG_ROOT).joinpath("profile/init.sh").collapseuser()
56
56
  source_reference = f"source {str(init_script.collapseuser()).replace('~', '$HOME')}"
57
57
  source_copy = f"source {str(init_script_copy).replace('~', '$HOME')}"
58
58
 
@@ -79,34 +79,6 @@ def _check_shell_profile_status() -> dict[str, Any]:
79
79
  }
80
80
 
81
81
 
82
- def _check_machineconfig_repo() -> dict[str, Any]:
83
- """Check machineconfig repository status."""
84
- repo_path = Path.home().joinpath("code/machineconfig")
85
- if not repo_path.exists():
86
- return {"exists": False, "is_repo": False, "clean": False, "branch": "N/A", "commit": "N/A", "remotes": []}
87
-
88
- try:
89
- import git
90
-
91
- repo = git.Repo(str(repo_path))
92
- is_dirty = repo.is_dirty(untracked_files=True)
93
- current_branch = repo.active_branch.name if not repo.head.is_detached else "DETACHED"
94
- current_commit = repo.head.commit.hexsha[:8]
95
- remotes = [remote.name for remote in repo.remotes]
96
-
97
- return {
98
- "exists": True,
99
- "is_repo": True,
100
- "clean": not is_dirty,
101
- "branch": current_branch,
102
- "commit": current_commit,
103
- "remotes": remotes,
104
- "path": str(repo_path),
105
- }
106
- except Exception as ex:
107
- return {"exists": True, "is_repo": False, "clean": False, "branch": "Error", "commit": "N/A", "remotes": [], "error": str(ex)}
108
-
109
-
110
82
  def _check_repos_status() -> dict[str, Any]:
111
83
  """Check configured repositories status."""
112
84
  from machineconfig.utils.io import read_ini
@@ -178,7 +150,7 @@ def _check_ssh_status() -> dict[str, Any]:
178
150
 
179
151
  def _check_config_files_status() -> dict[str, Any]:
180
152
  """Check public and private configuration files status."""
181
- from machineconfig.profile.create import read_mapper
153
+ from machineconfig.profile.create_links import read_mapper
182
154
 
183
155
  try:
184
156
  mapper = read_mapper()
@@ -320,48 +292,6 @@ def _display_shell_status(status: dict[str, Any]) -> None:
320
292
  )
321
293
 
322
294
 
323
- def _display_machineconfig_repo(info: dict[str, Any]) -> None:
324
- """Display machineconfig repository status."""
325
- console.rule("[bold magenta]📦 Machineconfig Repository[/bold magenta]")
326
-
327
- if not info["exists"]:
328
- console.print(
329
- Panel(
330
- "❌ Machineconfig repository not found at ~/code/machineconfig",
331
- title="Repository Status",
332
- border_style="red",
333
- padding=(1, 2),
334
- expand=False,
335
- )
336
- )
337
- return
338
-
339
- if not info["is_repo"]:
340
- console.print(
341
- Panel(
342
- f"❌ Directory exists but is not a git repository\n{info.get('error', 'Unknown error')}",
343
- title="Repository Status",
344
- border_style="red",
345
- padding=(1, 2),
346
- expand=False,
347
- )
348
- )
349
- return
350
-
351
- table = Table(show_header=False, box=None, padding=(0, 1), expand=False)
352
- table.add_column("Property", style="cyan", no_wrap=True)
353
- table.add_column("Value", style="white")
354
-
355
- table.add_row("📁 Path", info["path"])
356
- table.add_row("🌿 Branch", info["branch"])
357
- table.add_row("🔖 Commit", info["commit"])
358
- table.add_row(f"{'✅' if info['clean'] else '⚠️'} Status", "Clean" if info["clean"] else "Uncommitted changes")
359
- table.add_row("📡 Remotes", ", ".join(info["remotes"]) if info["remotes"] else "None")
360
-
361
- border_style = "green" if info["clean"] else "yellow"
362
- console.print(Panel(table, title="Machineconfig Repository", border_style=border_style, padding=(1, 2), expand=False))
363
-
364
-
365
295
  def _display_repos_status(status: dict[str, Any]) -> None:
366
296
  """Display configured repositories status."""
367
297
  console.rule("[bold cyan]📚 Configured Repositories[/bold cyan]")
@@ -557,9 +487,6 @@ def main() -> None:
557
487
  shell_status = _check_shell_profile_status()
558
488
  _display_shell_status(shell_status)
559
489
 
560
- machineconfig_repo = _check_machineconfig_repo()
561
- _display_machineconfig_repo(machineconfig_repo)
562
-
563
490
  repos_status = _check_repos_status()
564
491
  _display_repos_status(repos_status)
565
492