machineconfig 2.0__py3-none-any.whl → 2.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (235) hide show
  1. machineconfig/cluster/cloud_manager.py +0 -3
  2. machineconfig/cluster/data_transfer.py +0 -1
  3. machineconfig/cluster/file_manager.py +0 -1
  4. machineconfig/cluster/job_params.py +0 -3
  5. machineconfig/cluster/loader_runner.py +0 -3
  6. machineconfig/cluster/remote_machine.py +0 -1
  7. machineconfig/cluster/script_notify_upon_completion.py +0 -1
  8. machineconfig/cluster/sessions_managers/archive/create_zellij_template.py +3 -5
  9. machineconfig/cluster/sessions_managers/archive/session_managers.py +0 -1
  10. machineconfig/cluster/sessions_managers/enhanced_command_runner.py +17 -57
  11. machineconfig/cluster/sessions_managers/wt_local.py +36 -110
  12. machineconfig/cluster/sessions_managers/wt_local_manager.py +42 -112
  13. machineconfig/cluster/sessions_managers/wt_remote.py +23 -30
  14. machineconfig/cluster/sessions_managers/wt_remote_manager.py +20 -62
  15. machineconfig/cluster/sessions_managers/wt_utils/layout_generator.py +10 -15
  16. machineconfig/cluster/sessions_managers/wt_utils/process_monitor.py +27 -127
  17. machineconfig/cluster/sessions_managers/wt_utils/remote_executor.py +10 -43
  18. machineconfig/cluster/sessions_managers/wt_utils/session_manager.py +22 -101
  19. machineconfig/cluster/sessions_managers/wt_utils/status_reporter.py +11 -39
  20. machineconfig/cluster/sessions_managers/zellij_local.py +49 -102
  21. machineconfig/cluster/sessions_managers/zellij_local_manager.py +34 -78
  22. machineconfig/cluster/sessions_managers/zellij_remote.py +17 -24
  23. machineconfig/cluster/sessions_managers/zellij_remote_manager.py +7 -13
  24. machineconfig/cluster/sessions_managers/zellij_utils/example_usage.py +4 -2
  25. machineconfig/cluster/sessions_managers/zellij_utils/layout_generator.py +6 -6
  26. machineconfig/cluster/sessions_managers/zellij_utils/process_monitor.py +18 -88
  27. machineconfig/cluster/sessions_managers/zellij_utils/remote_executor.py +2 -6
  28. machineconfig/cluster/sessions_managers/zellij_utils/session_manager.py +12 -40
  29. machineconfig/cluster/sessions_managers/zellij_utils/status_reporter.py +3 -2
  30. machineconfig/cluster/templates/cli_click.py +0 -1
  31. machineconfig/cluster/templates/cli_gooey.py +0 -2
  32. machineconfig/cluster/templates/cli_trogon.py +0 -1
  33. machineconfig/cluster/templates/run_cloud.py +0 -1
  34. machineconfig/cluster/templates/run_cluster.py +0 -1
  35. machineconfig/cluster/templates/run_remote.py +0 -1
  36. machineconfig/cluster/templates/utils.py +26 -10
  37. machineconfig/jobs/__pycache__/__init__.cpython-313.pyc +0 -0
  38. machineconfig/jobs/linux/msc/cli_agents.sh +16 -0
  39. machineconfig/jobs/python/check_installations.py +1 -0
  40. machineconfig/jobs/python/create_bootable_media.py +0 -2
  41. machineconfig/jobs/python/python_ve_symlink.py +9 -11
  42. machineconfig/jobs/python/tasks.py +0 -1
  43. machineconfig/jobs/python/vscode/api.py +5 -5
  44. machineconfig/jobs/python/vscode/link_ve.py +13 -14
  45. machineconfig/jobs/python/vscode/select_interpreter.py +21 -22
  46. machineconfig/jobs/python/vscode/sync_code.py +9 -13
  47. machineconfig/jobs/python_custom_installers/__pycache__/__init__.cpython-313.pyc +0 -0
  48. machineconfig/jobs/python_custom_installers/archive/ngrok.py +13 -13
  49. machineconfig/jobs/python_custom_installers/dev/aider.py +7 -15
  50. machineconfig/jobs/python_custom_installers/dev/alacritty.py +9 -18
  51. machineconfig/jobs/python_custom_installers/dev/brave.py +10 -19
  52. machineconfig/jobs/python_custom_installers/dev/bypass_paywall.py +8 -15
  53. machineconfig/jobs/python_custom_installers/dev/code.py +14 -21
  54. machineconfig/jobs/python_custom_installers/dev/cursor.py +3 -14
  55. machineconfig/jobs/python_custom_installers/dev/docker_desktop.py +8 -7
  56. machineconfig/jobs/python_custom_installers/dev/espanso.py +15 -19
  57. machineconfig/jobs/python_custom_installers/dev/goes.py +5 -12
  58. machineconfig/jobs/python_custom_installers/dev/lvim.py +9 -17
  59. machineconfig/jobs/python_custom_installers/dev/nerdfont.py +12 -19
  60. machineconfig/jobs/python_custom_installers/dev/redis.py +12 -20
  61. machineconfig/jobs/python_custom_installers/dev/wezterm.py +12 -19
  62. machineconfig/jobs/python_custom_installers/dev/winget.py +5 -23
  63. machineconfig/jobs/python_custom_installers/docker.py +12 -21
  64. machineconfig/jobs/python_custom_installers/gh.py +11 -19
  65. machineconfig/jobs/python_custom_installers/hx.py +32 -16
  66. machineconfig/jobs/python_custom_installers/warp-cli.py +12 -20
  67. machineconfig/jobs/python_generic_installers/__pycache__/__init__.cpython-313.pyc +0 -0
  68. machineconfig/jobs/python_linux_installers/__pycache__/__init__.cpython-313.pyc +0 -0
  69. machineconfig/jobs/windows/archive/archive_pygraphviz.ps1 +1 -1
  70. machineconfig/jobs/windows/msc/cli_agents.bat +0 -0
  71. machineconfig/jobs/windows/msc/cli_agents.ps1 +0 -0
  72. machineconfig/jobs/windows/start_terminal.ps1 +1 -1
  73. machineconfig/profile/create.py +29 -22
  74. machineconfig/profile/create_hardlinks.py +26 -19
  75. machineconfig/profile/shell.py +51 -28
  76. machineconfig/scripts/__pycache__/__init__.cpython-313.pyc +0 -0
  77. machineconfig/scripts/cloud/init.sh +2 -2
  78. machineconfig/scripts/linux/checkout_versions +1 -1
  79. machineconfig/scripts/linux/choose_wezterm_theme +1 -1
  80. machineconfig/scripts/linux/cloud_copy +1 -1
  81. machineconfig/scripts/linux/cloud_manager +1 -1
  82. machineconfig/scripts/linux/cloud_mount +1 -1
  83. machineconfig/scripts/linux/cloud_repo_sync +1 -1
  84. machineconfig/scripts/linux/cloud_sync +1 -1
  85. machineconfig/scripts/linux/croshell +1 -1
  86. machineconfig/scripts/linux/devops +4 -6
  87. machineconfig/scripts/linux/fire +1 -1
  88. machineconfig/scripts/linux/fire_agents +3 -2
  89. machineconfig/scripts/linux/ftpx +1 -1
  90. machineconfig/scripts/linux/gh_models +1 -1
  91. machineconfig/scripts/linux/kill_process +1 -1
  92. machineconfig/scripts/linux/mcinit +1 -1
  93. machineconfig/scripts/linux/repos +1 -1
  94. machineconfig/scripts/linux/scheduler +1 -1
  95. machineconfig/scripts/linux/start_slidev +1 -1
  96. machineconfig/scripts/linux/start_terminals +1 -1
  97. machineconfig/scripts/linux/url2md +1 -1
  98. machineconfig/scripts/linux/warp-cli.sh +122 -0
  99. machineconfig/scripts/linux/wifi_conn +1 -1
  100. machineconfig/scripts/python/__pycache__/__init__.cpython-313.pyc +0 -0
  101. machineconfig/scripts/python/__pycache__/croshell.cpython-313.pyc +0 -0
  102. machineconfig/scripts/python/__pycache__/devops.cpython-313.pyc +0 -0
  103. machineconfig/scripts/python/__pycache__/devops_devapps_install.cpython-313.pyc +0 -0
  104. machineconfig/scripts/python/__pycache__/devops_update_repos.cpython-313.pyc +0 -0
  105. machineconfig/scripts/python/__pycache__/fire_jobs.cpython-313.pyc +0 -0
  106. machineconfig/scripts/python/ai/__init__.py +0 -0
  107. machineconfig/scripts/python/ai/__pycache__/__init__.cpython-313.pyc +0 -0
  108. machineconfig/scripts/python/ai/__pycache__/generate_files.cpython-313.pyc +0 -0
  109. machineconfig/scripts/python/ai/__pycache__/mcinit.cpython-313.pyc +0 -0
  110. machineconfig/scripts/python/ai/generate_files.py +84 -0
  111. machineconfig/scripts/python/ai/instructions/python/dev.instructions.md +2 -2
  112. machineconfig/scripts/python/ai/mcinit.py +7 -3
  113. machineconfig/scripts/python/ai/scripts/lint_and_type_check.sh +10 -5
  114. machineconfig/scripts/python/cloud_copy.py +1 -1
  115. machineconfig/scripts/python/cloud_mount.py +1 -1
  116. machineconfig/scripts/python/cloud_repo_sync.py +4 -4
  117. machineconfig/scripts/python/croshell.py +5 -3
  118. machineconfig/scripts/python/devops_add_identity.py +1 -1
  119. machineconfig/scripts/python/devops_add_ssh_key.py +1 -1
  120. machineconfig/scripts/python/devops_backup_retrieve.py +1 -1
  121. machineconfig/scripts/python/devops_update_repos.py +140 -52
  122. machineconfig/scripts/python/dotfile.py +1 -1
  123. machineconfig/scripts/python/fire_agents.py +28 -9
  124. machineconfig/scripts/python/fire_jobs.py +3 -4
  125. machineconfig/scripts/python/ftpx.py +2 -1
  126. machineconfig/scripts/python/helpers/__pycache__/__init__.cpython-313.pyc +0 -0
  127. machineconfig/scripts/python/helpers/__pycache__/helpers4.cpython-313.pyc +0 -0
  128. machineconfig/scripts/python/helpers/helpers2.py +2 -2
  129. machineconfig/scripts/python/helpers/helpers4.py +1 -2
  130. machineconfig/scripts/python/helpers/repo_sync_helpers.py +1 -1
  131. machineconfig/scripts/python/mount_nfs.py +1 -1
  132. machineconfig/scripts/python/mount_ssh.py +1 -1
  133. machineconfig/scripts/python/repos.py +1 -1
  134. machineconfig/scripts/python/start_slidev.py +1 -1
  135. machineconfig/scripts/python/wsl_windows_transfer.py +1 -1
  136. machineconfig/scripts/windows/checkout_version.ps1 +1 -3
  137. machineconfig/scripts/windows/choose_wezterm_theme.ps1 +1 -3
  138. machineconfig/scripts/windows/cloud_copy.ps1 +2 -6
  139. machineconfig/scripts/windows/cloud_manager.ps1 +1 -1
  140. machineconfig/scripts/windows/cloud_repo_sync.ps1 +1 -2
  141. machineconfig/scripts/windows/cloud_sync.ps1 +2 -2
  142. machineconfig/scripts/windows/croshell.ps1 +2 -2
  143. machineconfig/scripts/windows/devops.ps1 +1 -4
  144. machineconfig/scripts/windows/dotfile.ps1 +1 -3
  145. machineconfig/scripts/windows/fire.ps1 +1 -1
  146. machineconfig/scripts/windows/ftpx.ps1 +2 -2
  147. machineconfig/scripts/windows/gpt.ps1 +1 -1
  148. machineconfig/scripts/windows/kill_process.ps1 +1 -2
  149. machineconfig/scripts/windows/mcinit.ps1 +1 -1
  150. machineconfig/scripts/windows/mount_nfs.ps1 +1 -1
  151. machineconfig/scripts/windows/mount_ssh.ps1 +1 -1
  152. machineconfig/scripts/windows/pomodoro.ps1 +1 -1
  153. machineconfig/scripts/windows/py2exe.ps1 +1 -3
  154. machineconfig/scripts/windows/repos.ps1 +1 -1
  155. machineconfig/scripts/windows/scheduler.ps1 +1 -1
  156. machineconfig/scripts/windows/snapshot.ps1 +2 -2
  157. machineconfig/scripts/windows/start_slidev.ps1 +1 -1
  158. machineconfig/scripts/windows/start_terminals.ps1 +1 -1
  159. machineconfig/scripts/windows/wifi_conn.ps1 +1 -1
  160. machineconfig/scripts/windows/wsl_windows_transfer.ps1 +1 -3
  161. machineconfig/settings/lf/linux/lfrc +1 -1
  162. machineconfig/settings/linters/.ruff_cache/.gitignore +2 -0
  163. machineconfig/settings/linters/.ruff_cache/CACHEDIR.TAG +1 -0
  164. machineconfig/settings/lvim/windows/archive/config_additional.lua +1 -1
  165. machineconfig/settings/svim/linux/init.toml +1 -1
  166. machineconfig/settings/svim/windows/init.toml +1 -1
  167. machineconfig/setup_linux/web_shortcuts/croshell.sh +0 -54
  168. machineconfig/setup_linux/web_shortcuts/interactive.sh +6 -6
  169. machineconfig/setup_windows/web_shortcuts/all.ps1 +2 -2
  170. machineconfig/setup_windows/web_shortcuts/ascii_art.ps1 +1 -1
  171. machineconfig/setup_windows/web_shortcuts/croshell.ps1 +1 -1
  172. machineconfig/setup_windows/web_shortcuts/interactive.ps1 +5 -5
  173. machineconfig/setup_windows/wt_and_pwsh/install_fonts.ps1 +51 -15
  174. machineconfig/setup_windows/wt_and_pwsh/set_pwsh_theme.py +66 -12
  175. machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py +44 -36
  176. machineconfig/utils/ai/generate_file_checklist.py +8 -10
  177. machineconfig/utils/ai/url2md.py +4 -2
  178. machineconfig/utils/cloud/onedrive/setup_oauth.py +1 -0
  179. machineconfig/utils/cloud/onedrive/transaction.py +63 -98
  180. machineconfig/utils/code.py +60 -39
  181. machineconfig/utils/installer.py +27 -33
  182. machineconfig/utils/installer_utils/installer_abc.py +8 -7
  183. machineconfig/utils/installer_utils/installer_class.py +149 -70
  184. machineconfig/utils/links.py +22 -11
  185. machineconfig/utils/notifications.py +197 -0
  186. machineconfig/utils/options.py +29 -23
  187. machineconfig/utils/path.py +13 -6
  188. machineconfig/utils/path_reduced.py +485 -216
  189. machineconfig/utils/procs.py +47 -41
  190. machineconfig/utils/scheduling.py +0 -1
  191. machineconfig/utils/ssh.py +157 -76
  192. machineconfig/utils/terminal.py +82 -37
  193. machineconfig/utils/utils.py +12 -10
  194. machineconfig/utils/utils2.py +38 -48
  195. machineconfig/utils/utils5.py +183 -116
  196. machineconfig/utils/ve.py +9 -4
  197. {machineconfig-2.0.dist-info → machineconfig-2.1.dist-info}/METADATA +3 -2
  198. {machineconfig-2.0.dist-info → machineconfig-2.1.dist-info}/RECORD +200 -217
  199. machineconfig/jobs/__pycache__/__init__.cpython-311.pyc +0 -0
  200. machineconfig/jobs/python/__pycache__/__init__.cpython-311.pyc +0 -0
  201. machineconfig/jobs/python/__pycache__/python_ve_symlink.cpython-311.pyc +0 -0
  202. machineconfig/jobs/python/archive/python_tools.txt +0 -12
  203. machineconfig/jobs/python/vscode/__pycache__/select_interpreter.cpython-311.pyc +0 -0
  204. machineconfig/jobs/python_custom_installers/__pycache__/__init__.cpython-311.pyc +0 -0
  205. machineconfig/jobs/python_generic_installers/__pycache__/__init__.cpython-311.pyc +0 -0
  206. machineconfig/jobs/python_generic_installers/update.py +0 -3
  207. machineconfig/jobs/python_linux_installers/__pycache__/__init__.cpython-311.pyc +0 -0
  208. machineconfig/profile/__pycache__/__init__.cpython-311.pyc +0 -0
  209. machineconfig/profile/__pycache__/create.cpython-311.pyc +0 -0
  210. machineconfig/profile/__pycache__/shell.cpython-311.pyc +0 -0
  211. machineconfig/scripts/__pycache__/__init__.cpython-311.pyc +0 -0
  212. machineconfig/scripts/linux/activate_ve +0 -87
  213. machineconfig/scripts/python/__pycache__/__init__.cpython-311.pyc +0 -0
  214. machineconfig/scripts/python/__pycache__/cloud_copy.cpython-311.pyc +0 -0
  215. machineconfig/scripts/python/__pycache__/cloud_mount.cpython-311.pyc +0 -0
  216. machineconfig/scripts/python/__pycache__/cloud_sync.cpython-311.pyc +0 -0
  217. machineconfig/scripts/python/__pycache__/croshell.cpython-311.pyc +0 -0
  218. machineconfig/scripts/python/__pycache__/devops.cpython-311.pyc +0 -0
  219. machineconfig/scripts/python/__pycache__/devops_backup_retrieve.cpython-311.pyc +0 -0
  220. machineconfig/scripts/python/__pycache__/devops_devapps_install.cpython-311.pyc +0 -0
  221. machineconfig/scripts/python/__pycache__/devops_update_repos.cpython-311.pyc +0 -0
  222. machineconfig/scripts/python/__pycache__/fire_agents.cpython-311.pyc +0 -0
  223. machineconfig/scripts/python/__pycache__/fire_jobs.cpython-311.pyc +0 -0
  224. machineconfig/scripts/python/__pycache__/get_zellij_cmd.cpython-311.pyc +0 -0
  225. machineconfig/scripts/python/__pycache__/repos.cpython-311.pyc +0 -0
  226. machineconfig/scripts/python/ai/__pycache__/init.cpython-311.pyc +0 -0
  227. machineconfig/scripts/python/ai/__pycache__/mcinit.cpython-311.pyc +0 -0
  228. machineconfig/scripts/python/helpers/__pycache__/__init__.cpython-311.pyc +0 -0
  229. machineconfig/scripts/python/helpers/__pycache__/cloud_helpers.cpython-311.pyc +0 -0
  230. machineconfig/scripts/python/helpers/__pycache__/helpers2.cpython-311.pyc +0 -0
  231. machineconfig/scripts/python/helpers/__pycache__/helpers4.cpython-311.pyc +0 -0
  232. machineconfig/scripts/python/helpers/__pycache__/repo_sync_helpers.cpython-311.pyc +0 -0
  233. machineconfig/scripts/windows/activate_ve.ps1 +0 -54
  234. {machineconfig-2.0.dist-info → machineconfig-2.1.dist-info}/WHEEL +0 -0
  235. {machineconfig-2.0.dist-info → machineconfig-2.1.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,4 @@
1
1
 
2
- # . $HOME/scripts/activate_ve 've'
3
- . "$HOME\scripts\activate_ve.ps1" ve
4
-
2
+ . "$HOME\code\machineconfig\.venv\Scripts\activate.ps1"
5
3
  python -m fire machineconfig.jobs.python.checkout_version main
6
4
  deactivate
@@ -8,9 +8,7 @@ else {
8
8
  $name = $args[0]
9
9
  }
10
10
 
11
- #~/venvs/ve/Scripts/Activate.ps1
12
- # . $PSScriptRoot/activate_ve.ps1 ve
13
- . "$HOME\scripts\activate_ve.ps1" ve
11
+ . "$HOME\code\machineconfig\.venv\Scripts\activate.ps1"
14
12
 
15
13
  python -m fire machineconfig.scripts.python.choose_wezterm_theme main2 $args[0]
16
14
  .$profile # reload the profile
@@ -1,14 +1,10 @@
1
1
 
2
- #~/venvs/ve/Scripts/Activate.ps1
2
+ #~/code/machineconfig/.venv/Scripts/Activate.ps1
3
3
  # . $PSScriptRoot/activate_ve.ps1
4
4
  # python -m machineconfig.scripts.python.cloud_copy $args
5
5
  # deactivate -ErrorAction SilentlyContinue
6
6
  try {
7
- if (Test-Path "$PSScriptRoot/activate_ve.ps1") {
8
- . "$PSScriptRoot/activate_ve.ps1" ve
9
- } else {
10
- . "$HOME/activate_ve.ps1" ve
11
- }
7
+ . "$HOME\code\machineconfig\.venv\Scripts\activate.ps1"
12
8
  python -m machineconfig.scripts.python.cloud_copy $args
13
9
  } catch {
14
10
  Write-Error $_.Exception.Message
@@ -1,6 +1,6 @@
1
1
 
2
2
  # . $PSScriptRoot/activate_ve.ps1 ve # use the default ve.
3
- . "$HOME\scripts\activate_ve.ps1" ve
3
+ . "$HOME\code\machineconfig\.venv\Scripts\activate.ps1"
4
4
 
5
5
  # python -i $PSScriptRoot/../python/cloud_manager.py $args
6
6
  python -i -m machineconfig.scripts.python.cloud_manager $args
@@ -1,6 +1,5 @@
1
1
 
2
- # . $PSScriptRoot/activate_ve.ps1 ve
3
- . "$HOME\scripts\activate_ve.ps1" ve
2
+ . "$HOME\code\machineconfig\.venv\Scripts\activate.ps1"
4
3
 
5
4
  # python $PSScriptRoot/../python/cloud_repo_sync.py $args
6
5
  python -m machineconfig.scripts.python.cloud_repo_sync $args
@@ -5,8 +5,8 @@ if (Test-Path $op_script ) {
5
5
  Remove-Item $op_script
6
6
  }
7
7
 
8
- # . $PSScriptRoot/activate_ve.ps1 ve
9
- . "$HOME\scripts\activate_ve.ps1" ve
8
+ . "$HOME\code\machineconfig\.venv\Scripts\activate.ps1"
9
+
10
10
  # python $PSScriptRoot/../python/cloud_sync.py $args
11
11
  python -m machineconfig.scripts.python.cloud_sync $args
12
12
 
@@ -5,7 +5,7 @@ if (Test-Path $op_script ) {
5
5
  }
6
6
 
7
7
  $ErrorActionPreference = "Stop"
8
- #~/venvs/ve/Scripts/Activate.ps1 # fixed ve
8
+ #~/code/machineconfig/.venv/Scripts/Activate.ps1 # fixed ve
9
9
 
10
10
  # Locate the python script to run relative to the current directory (which might be a symlink)
11
11
  # $script_root = (Get-Item $PSScriptRoot).Target # resolves symlink if any
@@ -18,7 +18,7 @@ $ErrorActionPreference = "Stop"
18
18
  # }
19
19
 
20
20
  $script_root = $MyInvocation.MyCommand.Path
21
- . "$HOME\scripts\activate_ve.ps1" ve
21
+ . "$HOME\code\machineconfig\.venv\Scripts\activate.ps1"
22
22
 
23
23
  #. "$script_root\..\activate_ve.ps1" # dynamic v
24
24
 
@@ -6,10 +6,7 @@ if (Test-Path $op_script ) {
6
6
  }
7
7
 
8
8
 
9
- # choose ve to use
10
- # . $PSScriptRoot/activate_ve.ps1 've'
11
- # . "$HOME\scripts\activate_ve.ps1" ve
12
- . "$HOME\venvs\ve\Scripts\activate.ps1"
9
+ . "$HOME\code\machineconfig\.venv\Scripts\activate.ps1"
13
10
 
14
11
  # Locate the python script to run relative to the current directory (which might be a symlink)
15
12
  $script_root = (Get-Item $PSScriptRoot).Target # resolves symlink if any
@@ -1,7 +1,5 @@
1
1
 
2
- # . $PSScriptRoot/activate_ve.ps1 've'
3
- #~/venvs/ve/Scripts/Activate.ps1
4
- . "$HOME\scripts\activate_ve.ps1" ve
2
+ . "$HOME\code\machineconfig\.venv\Scripts\activate.ps1"
5
3
 
6
4
  # python $PSScriptRoot/../python/dotfile.py $args
7
5
  python -m machineconfig.scripts.python.dotfile $args
@@ -30,7 +30,7 @@ if (-not (Test-Path $script_dir)) {
30
30
  # }
31
31
 
32
32
 
33
- . "$HOME\scripts\activate_ve.ps1" ve
33
+ . "$HOME\code\machineconfig\.venv\Scripts\activate.ps1"
34
34
  python -m machineconfig.scripts.python.fire_jobs $args
35
35
 
36
36
 
@@ -1,5 +1,5 @@
1
1
 
2
- #~/venvs/ve/Scripts/Activate.ps1
3
- . $PSScriptRoot/activate_ve.ps1 ve
2
+ #~/code/machineconfig/.venv/Scripts/Activate.ps1
3
+ . "$HOME\code\machineconfig\.venv\Scripts\activate.ps1"
4
4
  python $PSScriptRoot/../python/ftpx.py $args
5
5
  deactivate -ErrorAction SilentlyContinue
@@ -1,6 +1,6 @@
1
1
 
2
2
 
3
- . $HOME/scripts/activate_ve 've'
3
+ . "$HOME\code\machineconfig\.venv\Scripts\activate.ps1"
4
4
 
5
5
  $op_script = "~/tmp_results/shells/python_return_command.ps1"
6
6
  if (Test-Path $op_script ) {
@@ -1,7 +1,6 @@
1
1
 
2
2
 
3
- # . $HOME/scripts/activate_ve 've'
4
- . $HOME/venvs/ve/Scripts/activate.ps1
3
+ . "$HOME\code\machineconfig\.venv\Scripts\activate.ps1"
5
4
 
6
5
  python -c "from machineconfig.utils.procs import ProcessManager; ProcessManager().choose_and_kill()"
7
6
  deactivate
@@ -1,4 +1,4 @@
1
1
 
2
- . "$HOME\scripts\activate_ve.ps1" ve
2
+ . "$HOME\code\machineconfig\.venv\Scripts\activate.ps1"
3
3
  python -m machineconfig.scripts.python.ai.mcinit $args
4
4
  deactivate -ErrorAction SilentlyContinue
@@ -18,7 +18,7 @@ $driveLetter=''
18
18
  $options = "rw,sec=sys,no_subtree_check"
19
19
 
20
20
  # . activate_ve
21
- . $HOME/venvs/ve/Scripts/activate.ps1
21
+ . $HOME/code/machineconfig/.venv/Scripts/activate.ps1
22
22
 
23
23
  python -m machineconfig.scripts.python.mount_nfs
24
24
  . $HOME/tmp_results/shells/python_return_command.ps1
@@ -8,7 +8,7 @@ $sharePath = ''
8
8
  $driveLetter = ''
9
9
 
10
10
  # . activate_ve
11
- . $HOME/venvs/ve/Scripts/activate.ps1
11
+ . $HOME/code/machineconfig/.venv/Scripts/activate.ps1
12
12
 
13
13
  python -m machineconfig.scripts.python.mount_ssh
14
14
  . $HOME/tmp_results/shells/python_return_command.ps1
@@ -1,6 +1,6 @@
1
1
 
2
2
  # . $PSScriptRoot/activate_ve.ps1
3
- ~/venvs/ve/Scripts/Activate.ps1
3
+ . "$HOME\code\machineconfig\.venv\Scripts\activate.ps1"
4
4
 
5
5
  # python -m fire $PSScriptRoot/../python/pomodoro.py pomodoro $args
6
6
  python -m fire machineconfig.scripts.python.pomodoro pomodoro $args
@@ -1,7 +1,5 @@
1
1
 
2
- #activate_ve
3
- # . $PSScriptRoot/activate_ve.ps1
4
- . $HOME/venvs/ve/Scripts/activate.ps1
2
+ . "$HOME\code\machineconfig\.venv\Scripts\activate.ps1"
5
3
 
6
4
  croshell -c "import_n_install('pyinstaller')"
7
5
  $destination = $(croshell -c "print(P.tmpdir())")
@@ -12,7 +12,7 @@ if (Test-Path $op_script ) {
12
12
  # if ( $script_root -eq $null) { # this does happen if a virtual enviroment is activated before running this script (don't know why)
13
13
  # $script_root = $PSScriptRoot
14
14
  # }
15
- . ~/venvs/ve/Scripts/activate.ps1
15
+ . "$HOME\code\machineconfig\.venv\Scripts\activate.ps1"
16
16
 
17
17
  # python $script_root/../python/repos.py $args
18
18
  python -m machineconfig.scripts.python.repos $args
@@ -1,5 +1,5 @@
1
1
 
2
- . "$HOME\scripts\activate_ve.ps1" ve
2
+ . "$HOME\code\machineconfig\.venv\Scripts\activate.ps1"
3
3
 
4
4
  python -m machineconfig.scripts.python.scheduler $Args
5
5
 
@@ -1,5 +1,5 @@
1
1
 
2
- #~/venvs/ve/Scripts/Activate.ps1
3
- . $PSScriptRoot/activate_ve.ps1
2
+ . "$HOME\code\machineconfig\.venv\Scripts\activate.ps1"
3
+
4
4
  python $PSScriptRoot/../python/snapshot.py $args
5
5
  deactivate -ErrorAction SilentlyContinue
@@ -5,7 +5,7 @@ if (Test-Path $op_script ) {
5
5
  Remove-Item $op_script
6
6
  }
7
7
 
8
- . "$HOME\scripts\activate_ve.ps1" ve
8
+ . "$HOME\code\machineconfig\.venv\Scripts\activate.ps1"
9
9
 
10
10
  python -m machineconfig.scripts.python.start_slidev $args
11
11
 
@@ -6,7 +6,7 @@ if (Test-Path $op_script ) {
6
6
  }
7
7
 
8
8
 
9
- . $HOME/scripts/activate_ve.ps1
9
+ . "$HOME\code\machineconfig\.venv\Scripts\activate.ps1"
10
10
  python -m machineconfig.scripts.python.start_terminals $args
11
11
 
12
12
 
@@ -1,6 +1,6 @@
1
1
 
2
2
  $pyparser=Resolve-Path("$PSScriptRoot/../python/wifi_conn.py")
3
- . $PSScriptRoot/activate_ve.ps1 ve
3
+ . "$HOME\code\machineconfig\.venv\Scripts\activate.ps1"
4
4
  echo "Running $pyparser"
5
5
  python $pyparser $args
6
6
  deactivate -ErrorAction SilentlyContinue
@@ -1,7 +1,5 @@
1
1
 
2
- #~/venvs/ve/Scripts/Activate.ps1
3
- . $PSScriptRoot/activate_ve.ps1 've'
4
- # python $PSScriptRoot/../python/wsl_windows_transfer.py $args
2
+ . "$HOME\code\machineconfig\.venv\Scripts\activate.ps1"
5
3
  python -m machineconfig.scripts.python.wsl_windows_transfer $args
6
4
  deactivate -ErrorAction SilentlyContinue
7
5
 
@@ -70,7 +70,7 @@ map <c-u> # half-up
70
70
  # e edit
71
71
  map e # edit modal key.
72
72
  map eh $hx $f
73
- map eH !~/scripts/activate_ve;hx $f
73
+ map eH !source ~/code/machineconfig/.venv/bin/activate;hx $f
74
74
  map en $nano $f
75
75
  map el $lvim $f
76
76
  map ev $nvim $f
@@ -0,0 +1,2 @@
1
+ # Automatically created by ruff.
2
+ *
@@ -0,0 +1 @@
1
+ Signature: 8a477f597d28d172789f06886806bc55
@@ -33,7 +33,7 @@ require('dap').configurations.python = { {
33
33
  local dap = require('dap')
34
34
  dap.adapters.python = {
35
35
  type = 'executable';
36
- command = "C:/Users/alex/venvs/ve/Scripts/python.exe";
36
+ command = "C:/Users/alex/code/machineconfig/.venv/Scripts/python.exe";
37
37
  args = {"-i" };
38
38
  }
39
39
 
@@ -37,7 +37,7 @@ default_height = 30
37
37
 
38
38
  [[layers]]
39
39
  name = "lang#python"
40
- python_interpreter = 'C:/Users/alex/venvs/ve/Scripts/python.exe'
40
+ python_interpreter = 'C:/Users/alex/code/machineconfig/.venv/Scripts/python.exe'
41
41
 
42
42
  [[layers]]
43
43
  name = "colorscheme"
@@ -37,7 +37,7 @@ default_height = 30
37
37
 
38
38
  [[layers]]
39
39
  name = "lang#python"
40
- python_interpreter = '~/venvs/ve/Scripts/python.exe'
40
+ python_interpreter = '~/code/machineconfig/.venv/Scripts/python.exe'
41
41
 
42
42
  [[layers]]
43
43
  name = "colorscheme"
@@ -1,60 +1,6 @@
1
1
  #!/usr/bin/bash
2
- #=======================================================================
3
- # 🐊 CROCODILE SHELL SETUP SCRIPT
4
- #=======================================================================
5
- # This script sets up the crocodile shell environment with all dependencies
6
2
 
7
- echo """#=======================================================================
8
- 🚀 ENVIRONMENT SETUP | Quick installation via URL shorteners
9
- #=======================================================================
10
- """
11
-
12
- echo """#=======================================================================
13
- 🐍 PYTHON ENVIRONMENT | Setting up Python virtual environment
14
- #=======================================================================
15
-
16
- Setting up Python virtual environment via bit.ly shortlink...
17
- """
18
- # Alternative URL: curl https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_linux/ve.sh | bash
19
3
  curl bit.ly/cfgvelinux -L | bash
20
-
21
- echo """#=======================================================================
22
- 📦 CODE REPOSITORIES | Cloning project repositories
23
- #=======================================================================
24
-
25
- Cloning essential repositories via bit.ly shortlink...
26
- """
27
- # Alternative URL: curl https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_linux/repos.sh | bash
28
4
  curl bit.ly/cfgreposlinux -L | bash
29
-
30
- echo """#=======================================================================
31
- 🔗 CONFIGURATION SETUP | Creating symbolic links
32
- #=======================================================================
33
-
34
- Setting up configuration symlinks...
35
- Note: This may require sudo permissions for .ssh permissions
36
- """
37
5
  source $HOME/code/machineconfig/src/machineconfig/setup_linux/symlinks.sh
38
-
39
- echo """#=======================================================================
40
- 🔄 SHELL RELOADING | Refreshing shell configuration
41
- #=======================================================================
42
-
43
- Reloading bash configuration...
44
- """
45
6
  . ~/.bashrc
46
-
47
- echo """#=======================================================================
48
- ⚙️ DEVELOPMENT TOOLS | Developer applications
49
- #=======================================================================
50
-
51
- # To install development applications, run:
52
- # source <(sudo cat ~/code/machineconfig/src/machineconfig/setup_linux/devapps.sh)
53
-
54
- #=======================================================================
55
- ✅ SETUP COMPLETE | CroShell environment setup finished
56
- #=======================================================================
57
-
58
- 🚀 Your CroShell development environment is ready to use!
59
- """
60
-
@@ -37,8 +37,8 @@ echo """#=======================================================================
37
37
  🐍 PYTHON ENVIRONMENT | Virtual environment setup
38
38
  #=======================================================================
39
39
  """
40
- read -p "🐍 Install Python virtual environment 've' [y]/n? " choice
41
- export ve_name="ve"
40
+ read -p "🐍 Install Python virtual environment '.venv' [y]/n? " choice
41
+ export ve_name=".venv"
42
42
  if [[ "$choice" == "y" || "$choice" == "Y" ]]; then
43
43
  echo """ 🔧 Setting up Python environment...
44
44
  """
@@ -102,7 +102,7 @@ choice=${choice:-y}
102
102
  if [[ "$choice" == "y" || "$choice" == "Y" ]]; then
103
103
  echo """ 🔧 Creating symlinks and setting permissions...
104
104
  """
105
- source $HOME/venvs/ve/bin/activate
105
+ source $HOME/code/machineconfig/.venv/bin/activate
106
106
  python -m fire machineconfig.profile.create main --choice=all
107
107
  sudo chmod 600 $HOME/.ssh/*
108
108
  sudo chmod 700 $HOME/.ssh
@@ -120,7 +120,7 @@ choice=${choice:-y}
120
120
  if [[ "$choice" == "y" || "$choice" == "Y" ]]; then
121
121
  echo """ 🔧 Installing CLI applications...
122
122
  """
123
- . $HOME/venvs/ve/bin/activate
123
+ . $HOME/code/machineconfig/.venv/bin/activate
124
124
  python -m fire machineconfig.scripts.python.devops_devapps_install main --which=AllEssentials
125
125
  . $HOME/.bashrc
126
126
  else
@@ -137,7 +137,7 @@ choice=${choice:-y}
137
137
  if [[ "$choice" == "y" || "$choice" == "Y" ]]; then
138
138
  echo """ 🔧 Installing development tools...
139
139
  """
140
- . $HOME/venvs/ve/bin/activate
140
+ . $HOME/code/machineconfig/.venv/bin/activate
141
141
  (curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh) || true
142
142
  sudo nala install libssl-dev -y
143
143
  sudo nala install ffmpeg -y
@@ -171,7 +171,7 @@ choice=${choice:-y}
171
171
  if [[ "$choice" == "y" || "$choice" == "Y" ]]; then
172
172
  echo """ 🔄 Retrieving data...
173
173
  """
174
- . $HOME/venvs/ve/bin/activate
174
+ . $HOME/code/machineconfig/.venv/bin/activate
175
175
  python -m fire machineconfig.scripts.python.devops_backup_retrieve main --direction=RETRIEVE
176
176
  else
177
177
  echo """ ⏭️ Skipping data retrieval
@@ -6,11 +6,11 @@
6
6
  (iwr bit.ly/cfgvewindows).Content | iex
7
7
 
8
8
  # pwsh profile
9
- $machineconfig = (& "$HOME\venvs\ve\Scripts\python.exe" -c "print(__import__('machineconfig').__file__[:-12])")
9
+ $machineconfig = (& "$HOME\code\machineconfig\.venv\Scripts\python.exe" -c "print(__import__('machineconfig').__file__[:-12])")
10
10
  # . $machineconfig/setup_windows/wt_and_pwsh.ps1 # experimental
11
11
  # OR: python -c "from machineconfig.setup_windows.wt_and_pwsh.setup_pwsh_theme import install_nerd_fonts; install_nerd_fonts()"
12
12
 
13
- # & "$HOME\venvs\ve\Scripts\activate.ps1"
13
+ # & "$HOME\code\machineconfig\.venv\Scripts\activate.ps1"
14
14
  # python -m fire machineconfig.profile.create_hardlinks main --choice=all
15
15
  # deactivate
16
16
 
@@ -30,7 +30,7 @@ if (Test-Path -Path "~/AppData/Roaming/npm/figlet") { # may be ensure that util
30
30
  if (Test-Path -Path "~/AppData/Local/Microsoft/WindowsApps/boxes.exe") { # may be ensure that utility.cmd is available
31
31
  Write-Output "boxes already installed ✅"
32
32
  } else {
33
- ~/scripts/activate_ve
33
+ . "$env:USERPROFILE\code\machineconfig\.venv\Scripts\Activate.ps1"
34
34
  python -m fire machineconfig.jobs.python_windows_installers.boxes main
35
35
  deactivate
36
36
  }
@@ -10,7 +10,7 @@
10
10
  (iwr bit.ly/cfgreposwindows).Content | iex
11
11
 
12
12
  # symlinks
13
- . ~/code/machineconfig/src/machineconfig/setup_windows/symlinks.ps1
13
+ . $HOME/code/machineconfig/src/machineconfig/setup_windows/symlinks.ps1
14
14
 
15
15
  # windows terminal and powershell
16
16
  (iwr bit.ly/cfgwt).Content | iex
@@ -8,7 +8,7 @@ Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser"
8
8
  Write-Host "💡 To accept all prompts automatically, run: `$yesAll = `$true`n"
9
9
 
10
10
  # Set environment variable and execute scripts
11
- $ve_name = "ve"
11
+ $ve_name = ".venv"
12
12
 
13
13
  Write-Host "🔄 Setting up Python environment..."
14
14
  Invoke-WebRequest -Uri "https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_windows/ve.ps1" -OutFile "ve.ps1"
@@ -92,7 +92,7 @@ if ($createLinksChoice -eq "y" -or $createLinksChoice -eq "Y") {
92
92
  $linkTypeChoice = "h"
93
93
  }
94
94
 
95
- . ~\venvs\ve\Scripts\Activate.ps1
95
+ . ~\code\machineconfig\.venv\Scripts\Activate.ps1
96
96
 
97
97
  if ($linkTypeChoice -eq "s" -or $linkTypeChoice -eq "S") {
98
98
  python -m fire machineconfig.profile.create main --choice=all
@@ -119,7 +119,7 @@ if (-not $yesAll) {
119
119
  }
120
120
 
121
121
  } else {
122
- . $HOME\venvs\ve\Scripts\activate.ps1
122
+ . $HOME\code\machineconfig\.venv\Scripts\activate.ps1
123
123
  python -m fire machineconfig.scripts.python.devops_devapps_install main --which=AllEssentials
124
124
  deactivate
125
125
  }
@@ -146,7 +146,7 @@ if (-not $yesAll) {
146
146
  }
147
147
  if ([string]::IsNullOrEmpty($choice)) { $choice = "y" }
148
148
  if ($choice -eq "y" -or $choice -eq "Y") {
149
- . ~\venvs\ve\Scripts\Activate.ps1
149
+ . ~\code\machineconfig\.venv\Scripts\Activate.ps1
150
150
  python -m fire machineconfig.scripts.python.devops_backup_retrieve main --direction=RETRIEVE
151
151
  } else {
152
152
  Write-Host "Installation aborted."
@@ -170,7 +170,7 @@ if ($choice -eq "y" -or $choice -eq "Y") {
170
170
  python -m fire machineconfig.setup_windows.wt_and_pwsh.set_wt_settings main
171
171
  winget install --no-upgrade --name "Brave" --Id "Brave.Brave" --source winget --scope user --accept-package-agreements --accept-source-agreements
172
172
  winget install --no-upgrade --name "Microsoft Visual Studio Code" --Id "Microsoft.VisualStudioCode" --source winget --scope user --accept-package-agreements --accept-source-agreements
173
- . $HOME\venvs\ve\Scripts\Activate.ps1
173
+ . $HOME\code\machineconfig\.venv\Scripts\Activate.ps1
174
174
  python -m fire machineconfig.setup_windows.wt_and_pwsh.set_pwsh_theme install_nerd_fonts
175
175
  python -m fire machineconfig.setup_windows.wt_and_pwsh.set_wt_settings main
176
176
 
@@ -4,24 +4,60 @@ $FONTS = 0x14
4
4
  $Path = ".\fonts-to-be-installed"
5
5
  $objShell = New-Object -ComObject Shell.Application
6
6
  $objFolder = $objShell.Namespace($FONTS)
7
- $Fontdir = dir $Path
7
+ $Fontdir = Get-ChildItem -Path $Path -File
8
+
9
+ # Normalization helper: remove spaces, underscores, hyphens, 'nerd', 'font', and collapse 'nf' for broad matching
10
+ function Normalize-FontName {
11
+ param([string]$Name)
12
+ $n = $Name.ToLower()
13
+ $n = $n -replace '[ _-]', ''
14
+ $n = $n -replace 'nerd', ''
15
+ $n = $n -replace 'font', ''
16
+ $n = $n -replace 'nf', ''
17
+ return $n
18
+ }
19
+
20
+ # Cache installed font basenames once (raw + normalized map)
21
+ $installedFontFiles = Get-ChildItem C:\Windows\Fonts -File
22
+ $installedFonts = @{}
23
+ foreach ($f in $installedFontFiles) { $installedFonts[(Normalize-FontName $f.BaseName)] = 1 }
24
+
25
+ Write-Host "Existing related fonts detected:" ($installedFonts.Keys | Where-Object { $_ -match 'caskaydiacove|cascadiacode' } | Sort-Object | Get-Unique) -ForegroundColor DarkGray
8
26
 
9
27
  foreach ($File in $Fontdir) {
10
- if (!($file.name -match "pfb$")) {
11
- $try = $true
12
- $installedFonts = @(Get-ChildItem c:\windows\fonts | Where-Object {$_.PSIsContainer -eq $false} | Select-Object basename)
13
- $name = $File.baseName
14
-
15
- foreach ($font in $installedFonts) {
16
- $font = $font -replace "_", ""
17
- $name = $name -replace "_", ""
18
- if ($font -match $name) {
19
- $try = $false
28
+ if ($File.Name -notmatch 'pfb$') {
29
+ $candidateRaw = $File.BaseName
30
+ $candidateNorm = Normalize-FontName $candidateRaw
31
+
32
+ # 1. Exact file existence check (handles .ttf/.otf pairs) before invoking Shell CopyHere.
33
+ $destFile = Join-Path -Path 'C:\Windows\Fonts' -ChildPath $File.Name
34
+ if (Test-Path -LiteralPath $destFile) { Write-Host "Skip (file exists) $($File.Name)" -ForegroundColor Green; continue }
35
+
36
+ # 2. Registry check: Fonts are registered under HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts
37
+ try {
38
+ $fontReg = Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts' -ErrorAction Stop
39
+ $regMatch = $false
40
+ foreach ($prop in $fontReg.PSObject.Properties) {
41
+ $val = ($prop.Value | Out-String).Trim()
42
+ $nm = ($prop.Name | Out-String).Trim()
43
+ $valNorm = Normalize-FontName ( [System.IO.Path]::GetFileNameWithoutExtension($val) )
44
+ $nmNorm = Normalize-FontName $nm
45
+ if ($valNorm -eq $candidateNorm -or $nmNorm -eq $candidateNorm -or $nmNorm -match [Regex]::Escape($candidateNorm)) { $regMatch = $true; break }
46
+ }
47
+ if ($regMatch) {
48
+ Write-Host "Skip (registry) $($File.Name)" -ForegroundColor Green
49
+ continue
20
50
  }
51
+ } catch {
52
+ Write-Host "Registry font query failed: $($_.Exception.Message) (continuing)" -ForegroundColor DarkYellow
21
53
  }
22
54
 
23
- if ($try) {
24
- $objFolder.CopyHere($File.fullname)
25
- }
55
+ # 3. Original heuristic set: in-memory list
56
+ if ($installedFonts.ContainsKey($candidateNorm)) { Write-Host "Skip (norm map) $($File.Name)" -ForegroundColor Green; continue }
57
+ if ($installedFonts.Keys | Where-Object { $_ -match [Regex]::Escape($candidateNorm) }) { Write-Host "Skip (norm regex) $($File.Name)" -ForegroundColor Green; continue }
58
+
59
+ Write-Host "Installing font (no matches) $($File.Name) | norm=$candidateNorm" -ForegroundColor Yellow
60
+ $objFolder.CopyHere($File.FullName)
26
61
  }
27
- }
62
+ }
63
+ Write-Host "Font installation script completed." -ForegroundColor Cyan