machineconfig 3.99__py3-none-any.whl → 7.66__py3-none-any.whl

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

Potentially problematic release.


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

Files changed (418) hide show
  1. machineconfig/__init__.py +0 -28
  2. machineconfig/cluster/remote/distribute.py +0 -1
  3. machineconfig/cluster/remote/file_manager.py +0 -2
  4. machineconfig/cluster/remote/script_execution.py +1 -2
  5. machineconfig/cluster/sessions_managers/{enhanced_command_runner.py → helpers/enhanced_command_runner.py} +4 -6
  6. machineconfig/cluster/sessions_managers/helpers/load_balancer_helper.py +145 -0
  7. machineconfig/cluster/sessions_managers/utils/load_balancer.py +53 -0
  8. machineconfig/cluster/sessions_managers/utils/maker.py +69 -0
  9. machineconfig/cluster/sessions_managers/wt_local.py +128 -330
  10. machineconfig/cluster/sessions_managers/wt_local_manager.py +53 -187
  11. machineconfig/cluster/sessions_managers/wt_remote.py +51 -43
  12. machineconfig/cluster/sessions_managers/wt_remote_manager.py +49 -197
  13. machineconfig/cluster/sessions_managers/wt_utils/layout_generator.py +6 -19
  14. machineconfig/cluster/sessions_managers/wt_utils/manager_persistence.py +52 -0
  15. machineconfig/cluster/sessions_managers/wt_utils/monitoring_helpers.py +50 -0
  16. machineconfig/cluster/sessions_managers/wt_utils/status_reporter.py +4 -2
  17. machineconfig/cluster/sessions_managers/wt_utils/status_reporting.py +76 -0
  18. machineconfig/cluster/sessions_managers/wt_utils/wt_helpers.py +199 -0
  19. machineconfig/cluster/sessions_managers/zellij_local.py +81 -375
  20. machineconfig/cluster/sessions_managers/zellij_local_manager.py +22 -172
  21. machineconfig/cluster/sessions_managers/zellij_remote.py +40 -41
  22. machineconfig/cluster/sessions_managers/zellij_remote_manager.py +13 -10
  23. machineconfig/cluster/sessions_managers/zellij_utils/example_usage.py +4 -8
  24. machineconfig/cluster/sessions_managers/zellij_utils/layout_generator.py +5 -20
  25. machineconfig/cluster/sessions_managers/zellij_utils/process_monitor.py +3 -9
  26. machineconfig/cluster/sessions_managers/zellij_utils/status_reporter.py +3 -1
  27. machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_helper.py +298 -0
  28. machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_helper_restart.py +77 -0
  29. machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_helper_with_panes.py +228 -0
  30. machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_manager_helper.py +165 -0
  31. machineconfig/jobs/{python → installer}/check_installations.py +2 -16
  32. machineconfig/jobs/installer/custom/boxes.py +61 -0
  33. machineconfig/jobs/installer/custom/gh.py +69 -53
  34. machineconfig/jobs/installer/custom/hx.py +77 -20
  35. machineconfig/jobs/installer/custom_dev/alacritty.py +45 -30
  36. machineconfig/jobs/installer/custom_dev/brave.py +43 -35
  37. machineconfig/jobs/installer/custom_dev/bypass_paywall.py +31 -20
  38. machineconfig/jobs/installer/custom_dev/cloudflare_warp_cli.py +23 -0
  39. machineconfig/jobs/installer/custom_dev/code.py +33 -21
  40. machineconfig/jobs/installer/custom_dev/dubdb_adbc.py +30 -0
  41. machineconfig/jobs/installer/custom_dev/espanso.py +64 -41
  42. machineconfig/jobs/installer/custom_dev/goes.py +41 -36
  43. machineconfig/jobs/installer/custom_dev/lvim.py +49 -33
  44. machineconfig/jobs/installer/custom_dev/nerdfont.py +71 -47
  45. machineconfig/jobs/installer/custom_dev/nerfont_windows_helper.py +32 -26
  46. machineconfig/jobs/installer/custom_dev/redis.py +51 -33
  47. machineconfig/jobs/installer/custom_dev/sysabc.py +119 -0
  48. machineconfig/jobs/installer/custom_dev/wezterm.py +55 -39
  49. machineconfig/jobs/installer/custom_dev/winget.py +1 -0
  50. machineconfig/jobs/installer/installer_data.json +3406 -0
  51. machineconfig/jobs/installer/linux_scripts/brave.sh +4 -14
  52. machineconfig/jobs/installer/linux_scripts/{warp-cli.sh → cloudflare_warp_cli.sh} +5 -17
  53. machineconfig/jobs/installer/linux_scripts/docker.sh +5 -17
  54. machineconfig/jobs/installer/linux_scripts/docker_start.sh +6 -14
  55. machineconfig/jobs/installer/linux_scripts/edge.sh +3 -11
  56. machineconfig/jobs/{linux/msc → installer/linux_scripts}/lid.sh +2 -8
  57. machineconfig/jobs/installer/linux_scripts/nerdfont.sh +5 -17
  58. machineconfig/jobs/{linux/msc → installer/linux_scripts}/network.sh +2 -8
  59. machineconfig/jobs/installer/linux_scripts/ngrok.sh +6 -0
  60. machineconfig/jobs/installer/linux_scripts/q.sh +9 -0
  61. machineconfig/jobs/installer/linux_scripts/redis.sh +6 -17
  62. machineconfig/jobs/installer/linux_scripts/vscode.sh +5 -17
  63. machineconfig/jobs/installer/linux_scripts/wezterm.sh +4 -12
  64. machineconfig/jobs/installer/package_groups.py +255 -0
  65. machineconfig/logger.py +0 -1
  66. machineconfig/profile/backup.toml +49 -0
  67. machineconfig/profile/bash_shell_profiles.md +11 -0
  68. machineconfig/profile/create_helper.py +74 -0
  69. machineconfig/profile/create_links.py +288 -0
  70. machineconfig/profile/create_links_export.py +100 -0
  71. machineconfig/profile/create_shell_profile.py +136 -0
  72. machineconfig/profile/mapper.toml +258 -0
  73. machineconfig/scripts/Restore-ThunderbirdProfile.ps1 +92 -0
  74. machineconfig/scripts/__init__.py +0 -4
  75. machineconfig/scripts/linux/{share_cloud.sh → other/share_cloud.sh} +14 -25
  76. machineconfig/scripts/linux/wrap_mcfg +47 -0
  77. machineconfig/scripts/nu/wrap_mcfg.nu +69 -0
  78. machineconfig/scripts/python/agents.py +198 -0
  79. machineconfig/scripts/python/ai/command_runner/command_runner.sh +9 -0
  80. machineconfig/scripts/python/ai/command_runner/prompt.txt +9 -0
  81. machineconfig/scripts/python/ai/generate_files.py +307 -42
  82. machineconfig/scripts/python/ai/initai.py +3 -28
  83. machineconfig/scripts/python/ai/scripts/lint_and_type_check.ps1 +17 -18
  84. machineconfig/scripts/python/ai/scripts/lint_and_type_check.sh +17 -18
  85. machineconfig/scripts/python/ai/solutions/_shared.py +9 -1
  86. machineconfig/scripts/python/ai/solutions/copilot/instructions/python/dev.instructions.md +1 -1
  87. machineconfig/scripts/python/ai/solutions/copilot/prompts/pyright_fix.md +16 -0
  88. machineconfig/scripts/python/ai/solutions/generic.py +27 -4
  89. machineconfig/scripts/python/ai/vscode_tasks.py +37 -0
  90. machineconfig/scripts/python/cloud.py +29 -0
  91. machineconfig/scripts/python/croshell.py +117 -181
  92. machineconfig/scripts/python/define.py +31 -0
  93. machineconfig/scripts/python/devops.py +44 -124
  94. machineconfig/scripts/python/devops_navigator.py +10 -0
  95. machineconfig/scripts/python/env_manager/__init__.py +1 -0
  96. machineconfig/scripts/python/env_manager/path_manager_backend.py +47 -0
  97. machineconfig/scripts/python/env_manager/path_manager_tui.py +228 -0
  98. machineconfig/scripts/python/explore.py +49 -0
  99. machineconfig/scripts/python/fire_jobs.py +106 -244
  100. machineconfig/scripts/python/ftpx.py +125 -68
  101. machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_crush.json +14 -0
  102. machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_crush.py +37 -0
  103. machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_cursor_agents.py +22 -0
  104. machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_gemini.py +42 -0
  105. machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_qwen.py +30 -0
  106. machineconfig/scripts/python/helpers_agents/fire_agents_help_launch.py +110 -0
  107. machineconfig/scripts/python/helpers_agents/fire_agents_helper_types.py +34 -0
  108. machineconfig/scripts/python/helpers_agents/fire_agents_load_balancer.py +22 -0
  109. machineconfig/scripts/python/helpers_agents/templates/prompt.txt +6 -0
  110. machineconfig/scripts/python/helpers_agents/templates/template.ps1 +14 -0
  111. machineconfig/scripts/python/helpers_agents/templates/template.sh +24 -0
  112. machineconfig/scripts/python/{cloud_copy.py → helpers_cloud/cloud_copy.py} +30 -23
  113. machineconfig/scripts/python/{cloud_mount.py → helpers_cloud/cloud_mount.py} +11 -19
  114. machineconfig/scripts/python/{cloud_sync.py → helpers_cloud/cloud_sync.py} +12 -18
  115. machineconfig/scripts/python/{helpers → helpers_cloud}/helpers2.py +3 -3
  116. machineconfig/scripts/python/helpers_croshell/crosh.py +39 -0
  117. machineconfig/scripts/python/{start_slidev.py → helpers_croshell/start_slidev.py} +17 -7
  118. machineconfig/scripts/python/helpers_devops/cli_config.py +95 -0
  119. machineconfig/scripts/python/helpers_devops/cli_config_dotfile.py +89 -0
  120. machineconfig/scripts/python/helpers_devops/cli_data.py +25 -0
  121. machineconfig/scripts/python/helpers_devops/cli_nw.py +134 -0
  122. machineconfig/scripts/python/helpers_devops/cli_repos.py +182 -0
  123. machineconfig/scripts/python/helpers_devops/cli_self.py +134 -0
  124. machineconfig/scripts/python/helpers_devops/cli_share_file.py +137 -0
  125. machineconfig/scripts/python/helpers_devops/cli_share_server.py +141 -0
  126. machineconfig/scripts/python/helpers_devops/cli_terminal.py +156 -0
  127. machineconfig/scripts/python/helpers_devops/cli_utils.py +96 -0
  128. machineconfig/scripts/python/{devops_backup_retrieve.py → helpers_devops/devops_backup_retrieve.py} +7 -10
  129. machineconfig/scripts/python/helpers_devops/devops_status.py +511 -0
  130. machineconfig/scripts/python/helpers_devops/devops_update_repos.py +269 -0
  131. machineconfig/scripts/python/helpers_devops/themes/choose_pwsh_theme.ps1 +81 -0
  132. machineconfig/scripts/python/helpers_devops/themes/choose_starship_theme.bash +3 -0
  133. machineconfig/scripts/python/{choose_wezterm_theme.py → helpers_devops/themes/choose_wezterm_theme.py} +2 -2
  134. machineconfig/scripts/python/helpers_fire_command/__init__.py +0 -0
  135. machineconfig/scripts/python/{helpers/helpers4.py → helpers_fire_command/file_wrangler.py} +57 -87
  136. machineconfig/scripts/python/helpers_fire_command/fire_jobs_args_helper.py +145 -0
  137. machineconfig/scripts/python/helpers_fire_command/fire_jobs_route_helper.py +110 -0
  138. machineconfig/scripts/python/helpers_fire_command/fire_jobs_streamlit_helper.py +0 -0
  139. machineconfig/scripts/python/helpers_msearch/__init__.py +5 -0
  140. machineconfig/scripts/{linux → python/helpers_msearch/scripts_linux}/fzfag +1 -1
  141. machineconfig/scripts/{linux → python/helpers_msearch/scripts_linux}/fzfg +1 -1
  142. machineconfig/scripts/{linux → python/helpers_msearch/scripts_linux}/fzfrga +1 -1
  143. machineconfig/scripts/python/helpers_navigator/__init__.py +20 -0
  144. machineconfig/scripts/python/helpers_navigator/command_builder.py +111 -0
  145. machineconfig/scripts/python/helpers_navigator/command_detail.py +44 -0
  146. machineconfig/scripts/python/helpers_navigator/command_tree.py +588 -0
  147. machineconfig/scripts/python/helpers_navigator/data_models.py +28 -0
  148. machineconfig/scripts/python/helpers_navigator/main_app.py +272 -0
  149. machineconfig/scripts/python/helpers_navigator/search_bar.py +15 -0
  150. machineconfig/scripts/python/helpers_repos/action.py +209 -0
  151. machineconfig/scripts/python/helpers_repos/action_helper.py +150 -0
  152. machineconfig/scripts/python/{repos_helper_clone.py → helpers_repos/clone.py} +6 -7
  153. machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py +218 -0
  154. machineconfig/scripts/python/helpers_repos/count_lines.py +348 -0
  155. machineconfig/scripts/python/helpers_repos/count_lines_frontend.py +17 -0
  156. machineconfig/scripts/python/helpers_repos/entrypoint.py +77 -0
  157. machineconfig/scripts/python/helpers_repos/grource.py +340 -0
  158. machineconfig/scripts/python/{repos_helper_record.py → helpers_repos/record.py} +7 -4
  159. machineconfig/scripts/python/helpers_repos/sync.py +66 -0
  160. machineconfig/scripts/python/{repos_helper_update.py → helpers_repos/update.py} +3 -3
  161. machineconfig/scripts/python/helpers_sessions/__init__.py +0 -0
  162. machineconfig/scripts/python/helpers_sessions/sessions_multiprocess.py +58 -0
  163. machineconfig/scripts/python/helpers_utils/download.py +152 -0
  164. machineconfig/scripts/python/helpers_utils/path.py +108 -0
  165. machineconfig/scripts/python/interactive.py +79 -160
  166. machineconfig/scripts/python/machineconfig.py +63 -0
  167. machineconfig/scripts/python/msearch.py +21 -0
  168. machineconfig/scripts/python/nw/__init__.py +0 -0
  169. machineconfig/scripts/python/{devops_add_identity.py → nw/devops_add_identity.py} +1 -3
  170. machineconfig/scripts/python/{devops_add_ssh_key.py → nw/devops_add_ssh_key.py} +74 -44
  171. machineconfig/scripts/{linux → python/nw}/mount_nfs +1 -1
  172. machineconfig/scripts/python/{mount_nfs.py → nw/mount_nfs.py} +19 -16
  173. machineconfig/scripts/{linux → python/nw}/mount_nw_drive +1 -2
  174. machineconfig/scripts/python/{mount_ssh.py → nw/mount_ssh.py} +7 -8
  175. machineconfig/scripts/python/{onetimeshare.py → nw/onetimeshare.py} +0 -1
  176. machineconfig/scripts/python/nw/ssh_debug_linux.py +391 -0
  177. machineconfig/scripts/python/nw/ssh_debug_windows.py +338 -0
  178. machineconfig/scripts/python/{wifi_conn.py → nw/wifi_conn.py} +1 -53
  179. machineconfig/scripts/python/{wsl_windows_transfer.py → nw/wsl_windows_transfer.py} +6 -5
  180. machineconfig/scripts/python/sessions.py +167 -0
  181. machineconfig/scripts/python/terminal.py +127 -0
  182. machineconfig/scripts/python/utils.py +66 -0
  183. machineconfig/scripts/windows/{mount_nfs.ps1 → mounts/mount_nfs.ps1} +1 -3
  184. machineconfig/scripts/windows/{mount_ssh.ps1 → mounts/mount_ssh.ps1} +1 -1
  185. machineconfig/scripts/windows/{share_smb.ps1 → mounts/share_smb.ps1} +0 -6
  186. machineconfig/scripts/windows/wrap_mcfg.ps1 +60 -0
  187. machineconfig/settings/broot/br.sh +0 -4
  188. machineconfig/settings/broot/conf.toml +1 -1
  189. machineconfig/settings/helix/config.toml +16 -0
  190. machineconfig/settings/helix/languages.toml +13 -4
  191. machineconfig/settings/helix/yazi-picker.sh +12 -0
  192. machineconfig/settings/lf/linux/exe/lfcd.sh +1 -0
  193. machineconfig/settings/lf/linux/exe/previewer.sh +9 -3
  194. machineconfig/settings/lf/linux/lfrc +10 -12
  195. machineconfig/settings/lf/windows/fzf_edit.ps1 +2 -2
  196. machineconfig/settings/lf/windows/lfrc +18 -38
  197. machineconfig/settings/lf/windows/mkfile.ps1 +1 -1
  198. machineconfig/settings/linters/.ruff.toml +1 -1
  199. machineconfig/settings/lvim/windows/archive/config_additional.lua +0 -6
  200. machineconfig/settings/marimo/marimo.toml +80 -0
  201. machineconfig/settings/marimo/snippets/globalize.py +34 -0
  202. machineconfig/settings/pistol/pistol.conf +1 -1
  203. machineconfig/settings/shells/bash/init.sh +55 -31
  204. machineconfig/settings/shells/nushell/config.nu +1 -34
  205. machineconfig/settings/shells/nushell/init.nu +127 -0
  206. machineconfig/settings/shells/pwsh/init.ps1 +60 -43
  207. machineconfig/settings/shells/starship/starship.toml +16 -0
  208. machineconfig/settings/shells/wezterm/wezterm.lua +2 -0
  209. machineconfig/settings/shells/wt/settings.json +32 -17
  210. machineconfig/settings/shells/zsh/init.sh +89 -0
  211. machineconfig/settings/svim/linux/init.toml +0 -4
  212. machineconfig/settings/svim/windows/init.toml +0 -3
  213. machineconfig/settings/yazi/init.lua +57 -0
  214. machineconfig/settings/yazi/keymap_linux.toml +79 -0
  215. machineconfig/settings/yazi/keymap_windows.toml +78 -0
  216. machineconfig/settings/yazi/shell/yazi_cd.ps1 +33 -0
  217. machineconfig/settings/yazi/shell/yazi_cd.sh +8 -0
  218. machineconfig/settings/yazi/yazi.toml +13 -0
  219. machineconfig/setup_linux/__init__.py +10 -0
  220. machineconfig/setup_linux/apps_desktop.sh +89 -0
  221. machineconfig/setup_linux/apps_gui.sh +64 -0
  222. machineconfig/setup_linux/{nix → others}/cli_installation.sh +9 -29
  223. machineconfig/setup_linux/ssh/openssh_all.sh +25 -0
  224. machineconfig/setup_linux/ssh/openssh_wsl.sh +38 -0
  225. machineconfig/setup_linux/uv.sh +15 -0
  226. machineconfig/setup_linux/web_shortcuts/interactive.sh +26 -6
  227. machineconfig/setup_mac/__init__.py +16 -0
  228. machineconfig/setup_mac/apps_gui.sh +248 -0
  229. machineconfig/setup_mac/ssh/openssh_setup.sh +114 -0
  230. machineconfig/setup_mac/uv.sh +36 -0
  231. machineconfig/setup_windows/__init__.py +8 -0
  232. machineconfig/setup_windows/others/power_options.ps1 +7 -0
  233. machineconfig/setup_windows/ssh/add-sshkey.ps1 +29 -0
  234. machineconfig/setup_windows/ssh/add_identity.ps1 +11 -0
  235. machineconfig/setup_windows/ssh/openssh-server.ps1 +37 -0
  236. machineconfig/setup_windows/uv.ps1 +10 -0
  237. machineconfig/setup_windows/web_shortcuts/interactive.ps1 +27 -9
  238. machineconfig/setup_windows/web_shortcuts/quick_init.ps1 +16 -0
  239. machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py +37 -23
  240. machineconfig/utils/accessories.py +7 -5
  241. machineconfig/utils/cloud/onedrive/README.md +139 -0
  242. machineconfig/utils/code.py +140 -93
  243. machineconfig/utils/files/art/fat_croco.txt +10 -0
  244. machineconfig/utils/files/art/halfwit_croco.txt +9 -0
  245. machineconfig/utils/files/art/happy_croco.txt +22 -0
  246. machineconfig/utils/files/art/water_croco.txt +11 -0
  247. machineconfig/utils/files/ascii_art.py +118 -0
  248. machineconfig/utils/files/dbms.py +257 -0
  249. machineconfig/utils/files/headers.py +68 -0
  250. machineconfig/utils/files/ouch/__init__.py +0 -0
  251. machineconfig/utils/files/ouch/decompress.py +45 -0
  252. machineconfig/utils/files/read.py +95 -0
  253. machineconfig/utils/installer_utils/github_release_bulk.py +2 -12
  254. machineconfig/utils/installer_utils/installer_class.py +68 -126
  255. machineconfig/utils/installer_utils/installer_cli.py +181 -0
  256. machineconfig/utils/installer_utils/{installer_abc.py → installer_locator_utils.py} +38 -85
  257. machineconfig/utils/{installer.py → installer_utils/installer_runner.py} +69 -69
  258. machineconfig/utils/io.py +77 -23
  259. machineconfig/utils/links.py +309 -100
  260. machineconfig/utils/meta.py +255 -0
  261. machineconfig/utils/notifications.py +1 -1
  262. machineconfig/utils/options.py +10 -25
  263. machineconfig/utils/path_extended.py +94 -104
  264. machineconfig/utils/path_helper.py +75 -22
  265. machineconfig/utils/procs.py +50 -74
  266. machineconfig/utils/scheduler.py +94 -97
  267. machineconfig/utils/scheduling.py +0 -3
  268. machineconfig/utils/schemas/fire_agents/fire_agents_input.py +5 -17
  269. machineconfig/utils/schemas/installer/installer_types.py +0 -1
  270. machineconfig/utils/schemas/layouts/layout_types.py +2 -1
  271. machineconfig/utils/source_of_truth.py +3 -6
  272. machineconfig/utils/ssh.py +742 -254
  273. machineconfig/utils/ssh_utils/utils.py +0 -0
  274. machineconfig/utils/terminal.py +3 -140
  275. machineconfig/utils/tst.py +20 -0
  276. machineconfig/utils/upgrade_packages.py +109 -28
  277. machineconfig/utils/ve.py +13 -5
  278. machineconfig-7.66.dist-info/METADATA +124 -0
  279. machineconfig-7.66.dist-info/RECORD +451 -0
  280. machineconfig-7.66.dist-info/entry_points.txt +15 -0
  281. machineconfig/cluster/templates/utils.py +0 -51
  282. machineconfig/jobs/installer/linux_scripts/pgsql.sh +0 -49
  283. machineconfig/jobs/installer/linux_scripts/timescaledb.sh +0 -85
  284. machineconfig/jobs/installer/packages_custom_dev.json +0 -226
  285. machineconfig/jobs/installer/packages_custom_essential.json +0 -39
  286. machineconfig/jobs/installer/packages_github_dev.json +0 -1110
  287. machineconfig/jobs/installer/packages_github_essential.json +0 -804
  288. machineconfig/jobs/linux/msc/cli_agents.sh +0 -37
  289. machineconfig/jobs/python/create_bootable_media.py +0 -16
  290. machineconfig/jobs/python/python_cargo_build_share.py +0 -59
  291. machineconfig/jobs/python/python_ve_symlink.py +0 -29
  292. machineconfig/jobs/python/tasks.py +0 -3
  293. machineconfig/jobs/python/vscode/api.py +0 -49
  294. machineconfig/jobs/python/vscode/sync_code.py +0 -58
  295. machineconfig/jobs/windows/archive/archive_pygraphviz.ps1 +0 -14
  296. machineconfig/jobs/windows/start_terminal.ps1 +0 -6
  297. machineconfig/jobs/windows/startup_file.cmd +0 -2
  298. machineconfig/profile/create.py +0 -170
  299. machineconfig/profile/shell.py +0 -176
  300. machineconfig/scripts/cloud/init.sh +0 -119
  301. machineconfig/scripts/linux/choose_wezterm_theme +0 -3
  302. machineconfig/scripts/linux/cloud_copy +0 -2
  303. machineconfig/scripts/linux/cloud_mount +0 -2
  304. machineconfig/scripts/linux/cloud_repo_sync +0 -2
  305. machineconfig/scripts/linux/cloud_sync +0 -2
  306. machineconfig/scripts/linux/croshell +0 -3
  307. machineconfig/scripts/linux/devops +0 -2
  308. machineconfig/scripts/linux/fire +0 -2
  309. machineconfig/scripts/linux/fire_agents +0 -2
  310. machineconfig/scripts/linux/ftpx +0 -2
  311. machineconfig/scripts/linux/fzf2g +0 -21
  312. machineconfig/scripts/linux/fzffg +0 -25
  313. machineconfig/scripts/linux/gh_models +0 -2
  314. machineconfig/scripts/linux/initai +0 -2
  315. machineconfig/scripts/linux/kill_process +0 -2
  316. machineconfig/scripts/linux/programs +0 -21
  317. machineconfig/scripts/linux/repos +0 -2
  318. machineconfig/scripts/linux/scheduler +0 -2
  319. machineconfig/scripts/linux/share_smb +0 -1
  320. machineconfig/scripts/linux/start_slidev +0 -2
  321. machineconfig/scripts/linux/start_terminals +0 -3
  322. machineconfig/scripts/linux/warp-cli.sh +0 -122
  323. machineconfig/scripts/linux/wifi_conn +0 -2
  324. machineconfig/scripts/linux/z_ls +0 -104
  325. machineconfig/scripts/python/ai/solutions/copilot/prompts/allLintersAndTypeCheckers.prompt.md +0 -5
  326. machineconfig/scripts/python/cloud_repo_sync.py +0 -186
  327. machineconfig/scripts/python/devops_devapps_install.py +0 -159
  328. machineconfig/scripts/python/devops_update_repos.py +0 -180
  329. machineconfig/scripts/python/dotfile.py +0 -52
  330. machineconfig/scripts/python/fire_agents.py +0 -175
  331. machineconfig/scripts/python/fire_agents_help_launch.py +0 -143
  332. machineconfig/scripts/python/fire_agents_load_balancer.py +0 -50
  333. machineconfig/scripts/python/fire_jobs_args_helper.py +0 -75
  334. machineconfig/scripts/python/fire_jobs_layout_helper.py +0 -74
  335. machineconfig/scripts/python/get_zellij_cmd.py +0 -15
  336. machineconfig/scripts/python/gh_models.py +0 -104
  337. machineconfig/scripts/python/helpers/repo_sync_helpers.py +0 -114
  338. machineconfig/scripts/python/repos.py +0 -80
  339. machineconfig/scripts/python/repos_helper_action.py +0 -335
  340. machineconfig/scripts/python/share_terminal.py +0 -104
  341. machineconfig/scripts/python/snapshot.py +0 -25
  342. machineconfig/scripts/python/start_terminals.py +0 -121
  343. machineconfig/scripts/python/t4.py +0 -17
  344. machineconfig/scripts/windows/choose_wezterm_theme.ps1 +0 -1
  345. machineconfig/scripts/windows/cloud_copy.ps1 +0 -1
  346. machineconfig/scripts/windows/cloud_mount.ps1 +0 -1
  347. machineconfig/scripts/windows/cloud_repo_sync.ps1 +0 -1
  348. machineconfig/scripts/windows/cloud_sync.ps1 +0 -1
  349. machineconfig/scripts/windows/croshell.ps1 +0 -1
  350. machineconfig/scripts/windows/devops.ps1 +0 -1
  351. machineconfig/scripts/windows/dotfile.ps1 +0 -1
  352. machineconfig/scripts/windows/fire.ps1 +0 -1
  353. machineconfig/scripts/windows/ftpx.ps1 +0 -1
  354. machineconfig/scripts/windows/gpt.ps1 +0 -1
  355. machineconfig/scripts/windows/grep.ps1 +0 -2
  356. machineconfig/scripts/windows/initai.ps1 +0 -1
  357. machineconfig/scripts/windows/kill_process.ps1 +0 -1
  358. machineconfig/scripts/windows/nano.ps1 +0 -3
  359. machineconfig/scripts/windows/pomodoro.ps1 +0 -1
  360. machineconfig/scripts/windows/reload_path.ps1 +0 -3
  361. machineconfig/scripts/windows/repos.ps1 +0 -1
  362. machineconfig/scripts/windows/scheduler.ps1 +0 -1
  363. machineconfig/scripts/windows/snapshot.ps1 +0 -1
  364. machineconfig/scripts/windows/start_slidev.ps1 +0 -1
  365. machineconfig/scripts/windows/start_terminals.ps1 +0 -1
  366. machineconfig/scripts/windows/wifi_conn.ps1 +0 -2
  367. machineconfig/scripts/windows/wsl_rdp_windows_port_forwarding.ps1 +0 -46
  368. machineconfig/scripts/windows/wsl_ssh_windows_port_forwarding.ps1 +0 -76
  369. machineconfig/settings/lf/linux/exe/fzf_nano.sh +0 -16
  370. machineconfig/setup_linux/others/openssh-server_add_pub_key.sh +0 -57
  371. machineconfig/setup_linux/web_shortcuts/ascii_art.sh +0 -93
  372. machineconfig/setup_linux/web_shortcuts/croshell.sh +0 -11
  373. machineconfig/setup_linux/web_shortcuts/ssh.sh +0 -52
  374. machineconfig/setup_windows/web_shortcuts/all.ps1 +0 -18
  375. machineconfig/setup_windows/web_shortcuts/ascii_art.ps1 +0 -36
  376. machineconfig/setup_windows/web_shortcuts/croshell.ps1 +0 -16
  377. machineconfig/setup_windows/web_shortcuts/ssh.ps1 +0 -11
  378. machineconfig/utils/ai/generate_file_checklist.py +0 -68
  379. machineconfig-3.99.dist-info/METADATA +0 -167
  380. machineconfig-3.99.dist-info/RECORD +0 -409
  381. machineconfig-3.99.dist-info/entry_points.txt +0 -18
  382. machineconfig/cluster/{templates → remote}/run_cloud.py +0 -0
  383. machineconfig/cluster/{templates → remote}/run_cluster.py +0 -0
  384. machineconfig/cluster/{templates → remote}/run_remote.py +0 -0
  385. machineconfig/scripts/linux/{share_nfs → other/share_nfs} +0 -0
  386. machineconfig/scripts/linux/{start_docker → other/start_docker} +0 -0
  387. machineconfig/scripts/linux/{switch_ip → other/switch_ip} +0 -0
  388. machineconfig/{jobs/python → scripts/python/helpers_agents}/__init__.py +0 -0
  389. machineconfig/scripts/python/{helpers → helpers_agents/agentic_frameworks}/__init__.py +0 -0
  390. machineconfig/scripts/python/{fire_agents_help_search.py → helpers_agents/fire_agents_help_search.py} +0 -0
  391. machineconfig/{jobs/windows/msc/cli_agents.bat → scripts/python/helpers_cloud/__init__.py} +0 -0
  392. machineconfig/scripts/python/{helpers → helpers_cloud}/cloud_helpers.py +1 -1
  393. /machineconfig/scripts/python/{helpers → helpers_cloud}/helpers5.py +0 -0
  394. /machineconfig/{jobs/windows/msc/cli_agents.ps1 → scripts/python/helpers_croshell/__init__.py} +0 -0
  395. /machineconfig/scripts/python/{pomodoro.py → helpers_croshell/pomodoro.py} +0 -0
  396. /machineconfig/scripts/python/{scheduler.py → helpers_croshell/scheduler.py} +0 -0
  397. /machineconfig/scripts/python/{viewer.py → helpers_croshell/viewer.py} +0 -0
  398. /machineconfig/scripts/python/{viewer_template.py → helpers_croshell/viewer_template.py} +0 -0
  399. /machineconfig/scripts/python/{fire_jobs_streamlit_helper.py → helpers_devops/__init__.py} +0 -0
  400. /machineconfig/scripts/{windows/share_nfs.ps1 → python/helpers_devops/themes/__init__.py} +0 -0
  401. /machineconfig/{settings/yazi/keymap.toml → scripts/python/helpers_devops/themes/choose_starship_theme.ps1} +0 -0
  402. /machineconfig/scripts/python/{cloud_manager.py → helpers_fire_command/cloud_manager.py} +0 -0
  403. /machineconfig/scripts/{linux → python/helpers_msearch/scripts_linux}/skrg +0 -0
  404. /machineconfig/scripts/{windows → python/helpers_msearch/scripts_windows}/fzfb.ps1 +0 -0
  405. /machineconfig/scripts/{windows → python/helpers_msearch/scripts_windows}/fzfg.ps1 +0 -0
  406. /machineconfig/scripts/{windows → python/helpers_msearch/scripts_windows}/fzfrga.bat +0 -0
  407. /machineconfig/scripts/{linux → python/nw}/mount_drive +0 -0
  408. /machineconfig/scripts/python/{mount_nw_drive.py → nw/mount_nw_drive.py} +0 -0
  409. /machineconfig/scripts/{linux → python/nw}/mount_smb +0 -0
  410. /machineconfig/scripts/windows/{mount_nw.ps1 → mounts/mount_nw.ps1} +0 -0
  411. /machineconfig/scripts/windows/{mount_smb.ps1 → mounts/mount_smb.ps1} +0 -0
  412. /machineconfig/scripts/windows/{share_cloud.cmd → mounts/share_cloud.cmd} +0 -0
  413. /machineconfig/scripts/windows/{unlock_bitlocker.ps1 → mounts/unlock_bitlocker.ps1} +0 -0
  414. /machineconfig/setup_linux/{web_shortcuts → others}/android.sh +0 -0
  415. /machineconfig/{jobs/windows/archive → setup_windows/ssh}/openssh-server_add_key.ps1 +0 -0
  416. /machineconfig/{jobs/windows/archive → setup_windows/ssh}/openssh-server_copy-ssh-id.ps1 +0 -0
  417. {machineconfig-3.99.dist-info → machineconfig-7.66.dist-info}/WHEEL +0 -0
  418. {machineconfig-3.99.dist-info → machineconfig-7.66.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,127 @@
1
+ import typer
2
+ from typing import Annotated
3
+
4
+
5
+ def strip_ansi_codes(text: str) -> str:
6
+ """Remove ANSI color codes from text."""
7
+ import re
8
+ return re.sub(r'\x1b\[[0-9;]*[a-zA-Z]', '', text)
9
+
10
+
11
+ def choose_zellij_session(
12
+ new_session: Annotated[bool, typer.Option("--new-session", "-n", help="Create a new Zellij session instead of attaching to an existing one.", show_default=True)] = False,
13
+ kill_all: Annotated[bool, typer.Option("--kill-all", "-k", help="Kill all existing Zellij sessions before creating a new one.", show_default=True)] = False):
14
+
15
+ if new_session:
16
+ cmd = """
17
+ zellij --layout st2
18
+ """
19
+ if kill_all:
20
+ cmd = f"""zellij kill-sessions
21
+ {cmd}"""
22
+ from machineconfig.utils.code import exit_then_run_shell_script
23
+ exit_then_run_shell_script(script=cmd, strict=True)
24
+ typer.Exit()
25
+ return
26
+ cmd = "zellij list-sessions"
27
+ import subprocess
28
+ sessions: list[str] = subprocess.check_output(cmd, shell=True).decode().strip().split("\n")
29
+ # filter out empty lines and keep raw lines (they contain creation info)
30
+ sessions = [s for s in sessions if s.strip()]
31
+ sessions.sort(key=lambda s: "EXITED" in s)
32
+ if "current" in sessions:
33
+ print("Already in a Zellij session, avoiding nesting and exiting.")
34
+ raise typer.Exit()
35
+ if len(sessions) == 0:
36
+ print("No Zellij sessions found, creating a new one.")
37
+ result = """zellij --layout st2"""
38
+ elif len(sessions) == 1:
39
+ session = sessions[0].split(" [Created")[0]
40
+ print(f"Only one Zellij session found: {session}, attaching to it.")
41
+ result = f"zellij attach {session}"
42
+ else:
43
+ from machineconfig.utils.options import choose_from_options
44
+ # Artificially inject a "NEW SESSION" option so the user can create one from the list
45
+ NEW_SESSION_LABEL = "NEW SESSION"
46
+ options = [NEW_SESSION_LABEL] + sessions
47
+ session = choose_from_options(msg="Choose a Zellij session to attach to:", multi=False, options=options, fzf=True)
48
+ # If the user chose the artificial option, start a new session (same as --new-session)
49
+ if session == NEW_SESSION_LABEL:
50
+ cmd = "zellij --layout st2"
51
+ if kill_all:
52
+ cmd = f"zellij kill-sessions\n{cmd}"
53
+ from machineconfig.utils.code import exit_then_run_shell_script
54
+ exit_then_run_shell_script(cmd, strict=True)
55
+ raise typer.Exit()
56
+ session = session.split(" [Created")[0]
57
+ result = f"zellij attach {session}"
58
+ from machineconfig.utils.code import exit_then_run_shell_script
59
+ exit_then_run_shell_script(result, strict=True)
60
+
61
+
62
+
63
+ def get_session_tabs() -> list[tuple[str, str]]:
64
+ cmd = "zellij list-sessions"
65
+ import subprocess
66
+ sessions: list[str] = subprocess.check_output(cmd, shell=True).decode().strip().split("\n")
67
+ sessions = [strip_ansi_codes(s) for s in sessions]
68
+ active_sessions = [s for s in sessions if "EXITED" not in s]
69
+ result: list[tuple[str, str]] = []
70
+ for session_line in active_sessions:
71
+ session_name = session_line.split(" [Created")[0].strip()
72
+ # Query tab names for the session
73
+ tab_cmd = f"zellij --session {session_name} action query-tab-names"
74
+ try:
75
+ tabs: list[str] = subprocess.check_output(tab_cmd, shell=True).decode().strip().split("\n")
76
+ for tab in tabs:
77
+ if tab.strip():
78
+ result.append((session_name, tab.strip()))
79
+ except subprocess.CalledProcessError:
80
+ # Skip if query fails
81
+ continue
82
+ print(result)
83
+ return result
84
+
85
+
86
+ def start_wt(layout_name: Annotated[str, typer.Argument(help="Layout name to start.")]):
87
+ from pathlib import Path
88
+ layouts_file = Path.home().joinpath("dotfiles/machineconfig/layouts.json")
89
+ if not layouts_file.exists():
90
+ typer.echo(f"❌ Layouts file not found: {layouts_file}")
91
+ # available
92
+ raise typer.Exit(code=1)
93
+ import json
94
+ from machineconfig.utils.schemas.layouts.layout_types import LayoutsFile
95
+ layouts_data: LayoutsFile = json.loads(layouts_file.read_text(encoding="utf-8"))
96
+ chosen_layout = next((a_layout for a_layout in layouts_data["layouts"] if a_layout["layoutName"] == layout_name), None)
97
+ if not chosen_layout:
98
+ typer.echo(f"❌ Layout '{layout_name}' not found in layouts file.")
99
+ available_layouts = [a_layout["layoutName"] for a_layout in layouts_data["layouts"]]
100
+ typer.echo(f"Available layouts: {', '.join(available_layouts)}")
101
+ raise typer.Exit(code=1)
102
+ from machineconfig.cluster.sessions_managers.wt_local import run_wt_layout
103
+ run_wt_layout(layout_config=chosen_layout)
104
+ # cmd = f'powershell -ExecutionPolicy Bypass -File "./{layout_name}_layout.ps1"'
105
+ # from machineconfig.utils.code import exit_then_run_shell_script
106
+ # exit_then_run_shell_script(cmd, strict=True)
107
+
108
+
109
+ def get_app():
110
+ app = typer.Typer(help="🖥️ Terminal utilities", no_args_is_help=True, add_help_option=False)
111
+ app.command(name="attach-to-zellij", no_args_is_help=False, help="[z] Choose a Zellij session to attach to")(choose_zellij_session)
112
+ app.command(name="z", hidden=True, no_args_is_help=False, help="[z] Choose a Zellij session to attach to")(choose_zellij_session)
113
+
114
+ app.command(name="start-wt", no_args_is_help=True, help="[w] Start a Windows Terminal layout by name.")(start_wt)
115
+ app.command(name="w", hidden=True, no_args_is_help=True, help="[w] Start a Windows Terminal layout by name.")(start_wt)
116
+
117
+ app.command(name="get-session-tabs", no_args_is_help=False, help="[zt] Get all Zellij session tabs.")(get_session_tabs)
118
+ app.command(name="zt", hidden=True, no_args_is_help=False, help="[zt] Get all Zellij session tabs.")(get_session_tabs)
119
+ return app
120
+
121
+ def main():
122
+ app = get_app()
123
+ app()
124
+
125
+
126
+ if __name__ == "__main__":
127
+ main()
@@ -0,0 +1,66 @@
1
+
2
+
3
+ from machineconfig.scripts.python.helpers_devops.cli_utils import merge_pdfs, compress_pdf
4
+ from machineconfig.scripts.python.helpers_utils.path import edit_file_with_hx, get_machine_specs, init_project, path
5
+ from machineconfig.scripts.python.helpers_utils.download import download
6
+ import typer
7
+ from typing import Annotated
8
+
9
+
10
+ def kill_process(
11
+ # name: Annotated[Optional[str], typer.Option(..., "--name", "-n", help="Name of the process to kill")],
12
+ # command: Annotated[str, typer.Option(..., "--command", "-c", help="Match by command line instead of process name")] = "",
13
+ interactive: Annotated[bool, typer.Option(..., "--interactive", "-i", help="Interactively choose the process to kill")] = True):
14
+ from machineconfig.utils.procs import main, ProcessManager
15
+ if interactive:
16
+ main()
17
+ return
18
+ _ = ProcessManager
19
+ # pm = ProcessManager()
20
+ # if command:
21
+ # pm.filter_and_kill(name=command
22
+ # )
23
+
24
+
25
+ def upgrade_packages():
26
+ from machineconfig.utils.upgrade_packages import generate_uv_add_commands
27
+ from pathlib import Path
28
+ generate_uv_add_commands(pyproject_path=Path.cwd() / "pyproject.toml", output_path=Path.cwd() / "pyproject_init.sh")
29
+
30
+
31
+ def get_app() -> typer.Typer:
32
+ app = typer.Typer(help="🛠️ utilities operations", no_args_is_help=True, add_help_option=False, add_completion=False)
33
+ app.command(name="kill-process", no_args_is_help=False, help="[k] Choose a process to kill")(kill_process)
34
+ app.command(name="k", no_args_is_help=False, help="Choose a process to kill", hidden=True)(kill_process)
35
+
36
+ app.command("path", no_args_is_help=False, help="📚 [p] NAVIGATE PATH variable with TUI")(path)
37
+ app.command("p", no_args_is_help=False, help="NAVIGATE PATH variable with TUI", hidden=True)(path)
38
+
39
+ app.command(name="upgrade-packages", no_args_is_help=False, help="[up] Upgrade project dependencies.")(upgrade_packages)
40
+ app.command(name="up", no_args_is_help=False, hidden=True)(upgrade_packages)
41
+
42
+ app.command(name="download", no_args_is_help=True, help="[d] Download a file from a URL and optionally decompress it.")(download)
43
+ app.command(name="d", no_args_is_help=True, hidden=True)(download)
44
+ app.command(name="get-machine-specs", no_args_is_help=False, help="[g] Get machine specifications.")(get_machine_specs)
45
+ app.command(name="g", no_args_is_help=False, hidden=True)(get_machine_specs)
46
+ app.command(name="init-project", no_args_is_help=False, help="[i] Initialize a project with a uv virtual environment and install dev packages.")(init_project)
47
+ app.command(name="i", no_args_is_help=False, hidden=True)(init_project)
48
+ app.command(name="edit", no_args_is_help=False, help="[e] Open a file in the default editor.")(edit_file_with_hx)
49
+ app.command(name="e", no_args_is_help=False, hidden=True)(edit_file_with_hx)
50
+
51
+ app.command(name="pdf-merge", no_args_is_help=True, help="[pm] Merge two PDF files into one.")(merge_pdfs)
52
+ app.command(name="pm", no_args_is_help=True, hidden=True)(merge_pdfs)
53
+ app.command(name="pdf-compress", no_args_is_help=True, help="[pc] Compress a PDF file.")(compress_pdf)
54
+ app.command(name="pc", no_args_is_help=True, hidden=True)(compress_pdf)
55
+
56
+ # app.command(name="copy", no_args_is_help=True, help="[c] Copy files or directories.")(copy)
57
+ # app.command(name="c", no_args_is_help=True, hidden=True)(copy)
58
+
59
+ return app
60
+
61
+ # def func():
62
+ # import pycr
63
+
64
+ def main():
65
+ app = get_app()
66
+ app()
@@ -17,10 +17,8 @@ $sharePath=''
17
17
  $driveLetter=''
18
18
  $options = "rw,sec=sys,no_subtree_check"
19
19
 
20
- # . activate_ve
21
- . $HOME/code/machineconfig/.venv/Scripts/activate.ps1
22
20
 
23
- python -m machineconfig.scripts.python.mount_nfs
21
+ uv run python -m machineconfig.scripts.python.mount_nfs
24
22
  . $HOME/tmp_results/shells/python_return_command.ps1
25
23
 
26
24
  # Configure NFS server
@@ -7,7 +7,7 @@ $user = ''
7
7
  $sharePath = ''
8
8
  $driveLetter = ''
9
9
 
10
- uv run --python 3.13 --no-dev --project $HOME/code/machineconfig python -m machineconfig.scripts.python.mount_ssh
10
+ uv run --python 3.14 --with "machineconfig>=7.66" python -m machineconfig.scripts.python.mount_ssh
11
11
 
12
12
  net use T: \\sshfs.kr\$user@$host.local
13
13
  # this worked: net use T: \\sshfs\alex@alex-p51s-5.local
@@ -4,12 +4,6 @@ $Path = $HOME + '\data\share_smb'
4
4
 
5
5
  Get-SmbShare
6
6
 
7
-
8
- #. activate_ve
9
- #python -m machineconfig.scripts.python.share_smb
10
- #. $HOME/tmp_results/shells/python_return_command.ps1
11
-
12
- # make $path dir if it does not exist
13
7
  if (!(Test-Path -Path $Path)) {
14
8
  New-Item -ItemType Directory -Path $Path
15
9
  }
@@ -0,0 +1,60 @@
1
+ function wrap_in_shell_script {
2
+ param(
3
+ [Parameter(Mandatory=$true)]
4
+ [string]$Command,
5
+
6
+ [Parameter(ValueFromRemainingArguments=$true)]
7
+ [string[]]$Arguments
8
+ )
9
+
10
+ # Generate a random name (based on current timestamp hashed with SHA256)
11
+ # Compute SHA256 of the timestamp string (don't pipe the string to Get-FileHash
12
+ # because that attempts to treat the input as a path). Take the first 16 hex
13
+ # chars as the random name.
14
+ $ts = Get-Date -Format o
15
+ try {
16
+ $sha = [System.Security.Cryptography.SHA256]::Create()
17
+ $bytes = [System.Text.Encoding]::UTF8.GetBytes($ts)
18
+ $hashBytes = $sha.ComputeHash($bytes)
19
+ $hash = [System.BitConverter]::ToString($hashBytes).Replace("-", "").ToLower()
20
+ $randomName = $hash.Substring(0, 16)
21
+ } finally {
22
+ if ($sha) { $sha.Dispose() }
23
+ }
24
+
25
+ # Define the output path
26
+ $env:OP_PROGRAM_PATH = "$HOME/tmp_results/tmp_scripts/machineconfig/${randomName}.ps1"
27
+
28
+ # Run the specified command with its arguments
29
+ & $Command @Arguments
30
+
31
+ # Check if the file exists
32
+ if (Test-Path $env:OP_PROGRAM_PATH) {
33
+ Write-Host "🚀 Taking over from python script @ $env:OP_PROGRAM_PATH"
34
+ try {
35
+ bat --style=full --theme=OneHalfDark --paging=never "$env:OP_PROGRAM_PATH"
36
+ } catch {
37
+ Write-Host "⚠️ Warning: Failed to display script content with 'bat'. Proceeding to execute the script."
38
+ }
39
+ & $env:OP_PROGRAM_PATH
40
+ Write-Host "✅ '$Command' execution completed."
41
+ } else {
42
+ Write-Host "✅ '$Command' execution completed."
43
+ }
44
+
45
+ # Clean up the temporary environment variable so it doesn't leak to other processes/sessions
46
+ try {
47
+ Remove-Item Env:\OP_PROGRAM_PATH -ErrorAction SilentlyContinue
48
+ } catch {
49
+ # best-effort cleanup; ignore any errors
50
+ }
51
+
52
+ # Also explicitly clear the variable in the current process
53
+ $env:OP_PROGRAM_PATH = $null
54
+ }
55
+
56
+ # Call the function with any arguments passed to the script
57
+ if ($args.Count -gt 0) {
58
+ wrap_in_shell_script @args
59
+ }
60
+
@@ -1,7 +1,5 @@
1
1
  #!/bin/bash
2
- #=======================================================================
3
2
  # 🌳 BROOT SHELL INTEGRATION 🌳
4
- #=======================================================================
5
3
  # This script was automatically generated by the broot program
6
4
  # More information can be found in https://github.com/Canop/broot
7
5
  #
@@ -40,7 +38,6 @@ function br {
40
38
  fi
41
39
  }
42
40
 
43
- #=======================================================================
44
41
  # ℹ️ USAGE:
45
42
  # br [options]
46
43
  #
@@ -48,4 +45,3 @@ function br {
48
45
  # br # Open broot in the current directory
49
46
  # br /path/to/dir # Open broot in the specified directory
50
47
  # br -h # Show broot help
51
- #=======================================================================
@@ -2,4 +2,4 @@
2
2
 
3
3
  terminal_title = "{file} 🐄"
4
4
 
5
- capture_mouse: false
5
+ capture_mouse = false
@@ -25,3 +25,19 @@ enable = true
25
25
  max-wrap = 25 # increase value to reduce forced mid-word wrapping
26
26
  max-indent-retain = 0
27
27
  wrap-indicator = "" # set wrap-indicator to "" to hide it
28
+
29
+
30
+ # https://yazi-rs.github.io/docs/tips#helix-with-zellij
31
+ # ~/.config/helix/config.toml
32
+ [keys.normal]
33
+ C-y = ":sh zellij run -n Yazi -c -f -x 10%% -y 10%% --width 80%% --height 80%% -- bash ~/.config/helix/yazi-picker.sh open %{buffer_name}"
34
+
35
+ # ~/.config/helix/config.toml
36
+
37
+ # [keys.normal.C-y]
38
+ # Open the file(s) in the current window
39
+ # y = ":sh zellij run -n Yazi -c -f -x 10%% -y 10%% --width 80%% --height 80%% -- bash ~/.config/helix/yazi-picker.sh open %{buffer_name}"
40
+ # Open the file(s) in a vertical split
41
+ # v = ":sh zellij run -n Yazi -c -f -x 10%% -y 10%% --width 80%% --height 80%% -- bash ~/.config/helix/yazi-picker.sh vsplit %{buffer_name}"
42
+ # Open the file(s) in a horizontal split
43
+ # h = ":sh zellij run -n Yazi -c -f -x 10%% -y 10%% --width 80%% --height 80%% -- bash ~/.config/helix/yazi-picker.sh hsplit %{buffer_name}"
@@ -1,13 +1,22 @@
1
- # adopted from https://github.com/helix-editor/helix/wiki/How-to-install-the-default-language-servers#python---pyright--ruff--black
1
+ # adopted from https://github.com/helix-editor/helix/wiki/Language-Server-Configurations
2
2
  # adopted from https://github.com/helix-editor/helix/discussions/6623
3
- # You will need: npm install pyright -g; pip install ruff-lsp; pip install black
3
+ # You will need: uv add --dev pylsp-mypy python-lsp-server[all] pyright ruff-lsp
4
4
 
5
5
  [[language]]
6
6
  name = "python"
7
- language-servers = [ "pyright", "ruff" ]
7
+ language-servers = ["pylsp", "pyright", "ruff", "pyrefly"]
8
+
9
+ [language-server.pyrefly]
10
+ command = "pyrefly"
11
+ args = [ "lsp" ]
12
+
13
+ [language-server.pylsp.config.pylsp]
14
+ plugins.pylsp_mypy.enabled = true
15
+ plugins.pylsp_mypy.live_mode = true
16
+
8
17
 
9
18
  [language-server.pyright.config.python.analysis]
10
- typeCheckingMode = "basic"
19
+ typeCheckingMode = "strict"
11
20
 
12
21
  [language-server.ruff]
13
22
  command = "ruff-lsp"
@@ -0,0 +1,12 @@
1
+ #!/usr/bin/env bash
2
+
3
+ paths=$(yazi "$2" --chooser-file=/dev/stdout | while read -r; do printf "%q " "$REPLY"; done)
4
+
5
+ if [[ -n "$paths" ]]; then
6
+ zellij action toggle-floating-panes
7
+ zellij action write 27 # send <Escape> key
8
+ zellij action write-chars ":$1 $paths"
9
+ zellij action write 13 # send <Enter> key
10
+ else
11
+ zellij action toggle-floating-panes
12
+ fi
@@ -13,6 +13,7 @@
13
13
  # bind '"\C-o":"lfcd\C-m"' # bash
14
14
  # bindkey -s '^o' 'lfcd\n' # zsh
15
15
  #
16
+
16
17
  lfcd () {
17
18
  # 🔄 Create temporary file for directory tracking
18
19
  tmp="$(mktemp)"
@@ -2,7 +2,8 @@
2
2
  # 🔍 File Preview Script for LF File Manager
3
3
  # Uses:
4
4
  # 🖼️ chafa, viu - Image preview
5
- # 📝 pistol - General file preview
5
+ # 📝 bat - Syntax-highlighted text/code preview
6
+ # 📄 pistol - General file preview
6
7
 
7
8
  file=$1
8
9
  width="$2"
@@ -19,8 +20,9 @@ case "$file" in
19
20
  echo "x: $x, y: $y, width: $width, height: $height"
20
21
 
21
22
  if [ -n "$x" ]; then
22
- echo "📐 Dimensions provided by caller, passing to viu"
23
- viu "$file" -x "$x" -y "$y" -w "$width" -h "$height"
23
+ # echo "📐 Dimensions provided by caller, passing to viu"
24
+ # viu "$file" -x "$x" -y "$y" -w "$width" -h "$height"
25
+ # chafa --fit-width -f sixel "$file"
24
26
  echo "✅ Finished viu"
25
27
  chafa "$file"
26
28
  echo "✅ Finished chafa"
@@ -30,6 +32,10 @@ case "$file" in
30
32
  fi
31
33
  exit 0
32
34
  ;;
35
+ # 📝 Text/Code Files - Use bat for syntax highlighting
36
+ *.py|*.json|*.js|*.ts|*.html|*.css|*.scss|*.less|*.xml|*.yml|*.yaml|*.toml|*.ini|*.cfg|*.conf|*.sh|*.bash|*.zsh|*.fish|*.ps1|*.rs|*.go|*.java|*.cpp|*.c|*.h|*.hpp|*.cs|*.php|*.rb|*.pl|*.pm|*.lua|*.vim|*.sql|*.md|*.txt|*.log|*.csv|*.tsv)
37
+ bat --color=always --style=plain --paging=never "$file"
38
+ ;;
33
39
  *)
34
40
  # 📄 Default file preview
35
41
  pistol "$file"
@@ -14,8 +14,8 @@ set number true # show line numbers
14
14
 
15
15
  set preview true # preview file on the right pane
16
16
  # set previewer chafa --format sixel --work 9 --optimize 9 --stretch --zoom --size 140x80
17
- set previewer ~/code/machineconfig/src/machineconfig/settings/lf/linux/exe/previewer.sh
18
- set cleaner ~/code/machineconfig/src/machineconfig/settings/lf/linux/exe/cleaner.sh
17
+ set previewer ~/.config/machineconfig/settings/lf/linux/exe/previewer.sh
18
+ set cleaner ~/.config/machineconfig/settings/lf/linux/exe/cleaner.sh
19
19
  # set previewer pistol
20
20
 
21
21
  # set sixels true
@@ -48,7 +48,7 @@ set ratios '1:2:3' # ratio of pane widths
48
48
 
49
49
 
50
50
  # test image viewer
51
- map Q !~/code/machineconfig/src/machineconfig/settings/lf/linux/exe/previewer.sh "$f"
51
+ map Q !~/.config/machineconfig/settings/lf/linux/exe/previewer.sh "$f"
52
52
 
53
53
  # key bindings
54
54
  map vmap v # default is invert
@@ -70,7 +70,6 @@ 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 !source ~/code/machineconfig/.venv/bin/activate;hx $f
74
73
  map en $nano $f
75
74
  map el $lvim $f
76
75
  map ev $nvim $f
@@ -84,12 +83,12 @@ map <enter> open
84
83
  map w
85
84
  map ww bash
86
85
  # map wp $powershell
87
- map wr $~/scripts/croshell
86
+ map wr $croshell
88
87
  # map wm $cmd
89
- map i !~/code/machineconfig/src/machineconfig/settings/lf/linux/exe/previewer.sh $f
88
+ map i !~/.config/machineconfig/settings/lf/linux/exe/previewer.sh $f
90
89
  map I !cat $f | gum pager
91
- map R $~/scripts/croshell -r $f
92
- map O $~/scripts/croshell -rj $f
90
+ map R $croshell $f
91
+ map O $croshell -j $f
93
92
 
94
93
 
95
94
  # o file/folder Operations
@@ -118,8 +117,8 @@ map jD cd ~/Downloads
118
117
  map jx cd ~/dotfiles
119
118
  # map jm cd ~/code/machineconfig/src/machineconfig
120
119
  map jh cd ~
121
- map jj $~/scripts/croshell -j --read $f
122
- # map jj $lvim ~/code/machineconfig/src/machineconfig/settings/lf/linux/lfrc
120
+ map jj $croshell -j --read $f
121
+ # map jj $lvim ~/.config/machineconfig/settings/lf/linux/lfrc
123
122
 
124
123
  # from https://github.com/gokcehan/lf/wiki/Integrations#zoxide
125
124
  cmd zi ${{
@@ -163,7 +162,7 @@ cmd fzf_jump ${{
163
162
  }}
164
163
 
165
164
 
166
- cmd fzf2g $(~/scripts/fzf2g.sh $args[1])
165
+ cmd fzf2g $(fzf2g.sh $args[1])
167
166
  # map F $nano fzf2g $args[1]
168
167
 
169
168
 
@@ -224,4 +223,3 @@ cmd chmod ${{
224
223
 
225
224
  lf -remote 'send reload'
226
225
  }}
227
-
@@ -1,6 +1,6 @@
1
1
 
2
- ~/scripts/nano.ps1 (~/scripts/fzfb) # space use for presedence in execution.
2
+ nano.ps1 (fzfb) # space use for presedence in execution.
3
3
  # fzf --ansi --preview-window 'right:60%' --preview 'bat --color=always --style=numbers,grid,header --line-range :300 {}'
4
4
  # & "C:\Program Files\Git\usr\bin\nano.exe" (fzf --ansi --preview-window 'right:60%' --preview 'bat --color=always --style=numbers,grid,header --line-range :300 {}')
5
- # fzf | ~/scripts/nano.ps1
5
+ # fzf | nano.ps1
6
6
 
@@ -24,8 +24,6 @@ set ifs "\n"
24
24
  # see this: https://github.com/ahrm/dotfiles/tree/main/lf-windows/lf_scripts
25
25
  # https://github.com/NikitaIvanovV/ctpv
26
26
 
27
- # set previewer ~/code/machineconfig/src/machineconfig/settings/lf/leftpane_previewer.ps1
28
- # set previewer ~\AppData\Local\Microsoft\WindowsApps\bat.exe --color=always --theme=base16
29
27
  # also see pistol file previewer.
30
28
  # set shell pwsh # too slow.
31
29
  # set ignorecase true
@@ -53,19 +51,19 @@ map x
53
51
  map c
54
52
  map v
55
53
  map r
56
- map D $diskonaut $env:f
57
- map K $kondo $env:f
54
+ map D $diskonaut $f
55
+ map K $kondo $f
58
56
  map r reload
59
57
 
60
58
 
61
59
  # e edit
62
60
  map e # edit modal key.
63
- map en $~/scripts/nano $env:f
64
- map el $pwsh -File $env:USERPROFILE/.local/bin/lvim.ps1 -- $env:f
65
- map ev $nvim $env:f
66
- map ec $code $env:f
61
+ map en $nano $f
62
+ map el $pwsh -File $env:USERPROFILE/.local/bin/lvim.ps1 -- $f
63
+ map ev $nvim $f
64
+ map ec $code $f
67
65
  map ep $& 'C:\Program Files (x86)\JetBrains\PyCharm Community Edition 2022.2\bin\pycharm.exe' $f
68
- map o $start $env:f
66
+ map o $start $f
69
67
  map <enter> open
70
68
 
71
69
 
@@ -73,29 +71,27 @@ map <enter> open
73
71
  map w
74
72
  map ww $powershell
75
73
  map wp $pwsh
76
- map wc $~/scripts/croshell.ps1
74
+ map wc $croshell.ps1
77
75
  map wm $cmd
78
- map i $~/code/machineconfig/src/machineconfig/settings/lf/windows/previewer.ps1 $env:f
79
- map R $powershell $env:USERPROFILE/scripts/croshell.ps1 -r $env:f
76
+ map i $~/.config/machineconfig/settings/lf/windows/previewer.ps1 $f
77
+ map R $powershell $env:USERPROFILE/scripts/croshell.ps1 -r $f
80
78
 
81
79
  # o file/folder Operations
82
80
  map o
83
81
  map od cut
84
82
  map op paste
85
83
  map oy copy
86
- map oc $Set-Clipboard -Value $env:f
84
+ map oc $Set-Clipboard -Value $f
87
85
  map c clear
88
86
  map or rename
89
- map <delete> :{{
90
- delete
91
- echo 'FINISHED DELETEING'
92
- }}
87
+ map <delete> delete
88
+ map <del> delete
93
89
  map of reload
94
90
  map os mark-save
95
91
  map ol mark-load
96
92
  map oR mark-remove
97
- map oD !ouch d $env:f
98
- map oC !ouch c $env:f '$env:f'.zip
93
+ map oD !ouch d $f
94
+ map oC !ouch c $f '$f'.zip
99
95
 
100
96
  # j jump
101
97
  map j
@@ -103,31 +99,15 @@ map jc cd ~/code
103
99
  map jd cd ~/data
104
100
  map jD cd ~/Downloads
105
101
  map jx cd ~/dotfiles
106
- map jm cd ~/code/machineconfig/src/machineconfig
107
102
  map jh cd ~
108
103
  map ja cd $env:LOCALAPPDATA
109
104
  map jA cd $env:APPDATA
110
- map jj $pwsh -File $env:USERPROFILE/.local/bin/lvim.ps1 -- $env:USERPROFILE/code/machineconfig/src/machineconfig/settings/lf/windows/lfrc
105
+ map jj $pwsh -File $env:USERPROFILE/.local/bin/lvim.ps1 -- $HOME/.config/machineconfig/settings/lf/windows/lfrc
111
106
 
112
107
 
113
108
 
114
109
  # m make
115
110
  map m
116
- map md $~/code/machineconfig/src/machineconfig/settings/lf/windows/mkdir.ps1
117
- map mf $~/code/machineconfig/src/machineconfig/settings/lf/windows/mkfile.ps1
118
-
119
- # =================== JUNK ======================
120
- # Find and Jump
121
- #cmd fzfg $~/scripts/fzfg.ps1 $args[0]
122
- map J push :$~/scripts/fzfg<space>
123
- map F $~/code/machineconfig/src/machineconfig/settings/lf/windows/fzf_edit.ps1
124
- map S cd $~/code/machineconfig/src/machineconfig/settings/lf/windows/tst.ps1
125
- map T $~/code/machineconfig/src/machineconfig/settings/lf/windows/cd_tere.ps1
126
- map Z $~/code/machineconfig/src/machineconfig/settings/lf/windows/cd_zoxide2.ps1
127
-
128
- cmd doc $lf -doc | bat
129
-
130
- # cmd pre-cd $~/code/machineconfig/src/machineconfig/settings/lf/windows/precd.ps1
131
- # cmd on-cd $~/code/machineconfig/src/machineconfig/settings/lf/windows/oncd.ps1
132
- # cmd on-quit ~/code/machineconfig/src/machineconfig/settings/lf/windows/onquit.ps1
111
+ map md $~/.config/machineconfig/settings/lf/windows/mkdir.ps1
112
+ map mf $~/.config/machineconfig/settings/lf/windows/mkfile.ps1
133
113
 
@@ -1,3 +1,3 @@
1
1
 
2
2
  $name = Read-Host "Input File Name"
3
- ~/scripts/nano.ps1 $name
3
+ nano.ps1 $name
@@ -30,7 +30,7 @@ exclude = [
30
30
  ]
31
31
 
32
32
  # Same as Black.
33
- line-length = 250
33
+ line-length = 150
34
34
  indent-width = 4
35
35
 
36
36
  # Assume Python 3.13
@@ -31,9 +31,3 @@ require('dap').configurations.python = { {
31
31
 
32
32
 
33
33
  local dap = require('dap')
34
- dap.adapters.python = {
35
- type = 'executable';
36
- command = "C:/Users/alex/code/machineconfig/.venv/Scripts/python.exe";
37
- args = {"-i" };
38
- }
39
-