machineconfig 6.82__py3-none-any.whl → 7.98__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.
Files changed (294) hide show
  1. machineconfig/cluster/remote/cloud_manager.py +1 -1
  2. machineconfig/cluster/sessions_managers/utils/maker.py +25 -13
  3. machineconfig/cluster/sessions_managers/wt_local.py +16 -221
  4. machineconfig/cluster/sessions_managers/wt_local_manager.py +55 -193
  5. machineconfig/cluster/sessions_managers/wt_remote_manager.py +42 -198
  6. machineconfig/cluster/sessions_managers/wt_utils/manager_persistence.py +52 -0
  7. machineconfig/cluster/sessions_managers/wt_utils/monitoring_helpers.py +50 -0
  8. machineconfig/cluster/sessions_managers/wt_utils/status_reporting.py +76 -0
  9. machineconfig/cluster/sessions_managers/wt_utils/wt_helpers.py +199 -0
  10. machineconfig/cluster/sessions_managers/zellij_local_manager.py +3 -1
  11. machineconfig/cluster/sessions_managers/zellij_remote_manager.py +3 -2
  12. machineconfig/cluster/sessions_managers/zellij_utils/process_monitor.py +2 -2
  13. machineconfig/jobs/installer/custom/boxes.py +2 -2
  14. machineconfig/jobs/installer/custom/hx.py +75 -18
  15. machineconfig/jobs/installer/custom/yazi.py +119 -0
  16. machineconfig/jobs/installer/custom_dev/brave.py +5 -3
  17. machineconfig/jobs/installer/custom_dev/cloudflare_warp_cli.py +23 -0
  18. machineconfig/jobs/installer/custom_dev/code.py +4 -1
  19. machineconfig/jobs/installer/custom_dev/dubdb_adbc.py +1 -1
  20. machineconfig/jobs/installer/custom_dev/nerdfont.py +1 -1
  21. machineconfig/jobs/installer/custom_dev/nerfont_windows_helper.py +27 -22
  22. machineconfig/jobs/installer/custom_dev/sysabc.py +139 -0
  23. machineconfig/jobs/installer/custom_dev/wezterm.py +2 -19
  24. machineconfig/jobs/installer/custom_dev/winget.py +10 -14
  25. machineconfig/jobs/installer/installer_data.json +1287 -216
  26. machineconfig/jobs/installer/linux_scripts/q.sh +10 -7
  27. machineconfig/jobs/installer/linux_scripts/redis.sh +1 -0
  28. machineconfig/jobs/installer/package_groups.py +58 -89
  29. machineconfig/jobs/installer/powershell_scripts/install_fonts.ps1 +129 -34
  30. machineconfig/logger.py +0 -1
  31. machineconfig/profile/create_helper.py +43 -16
  32. machineconfig/profile/create_links.py +2 -1
  33. machineconfig/profile/create_links_export.py +64 -18
  34. machineconfig/profile/create_shell_profile.py +78 -127
  35. machineconfig/profile/mapper.toml +15 -8
  36. machineconfig/scripts/__init__.py +0 -4
  37. machineconfig/scripts/linux/wrap_mcfg +46 -0
  38. machineconfig/scripts/nu/wrap_mcfg.nu +69 -0
  39. machineconfig/scripts/python/agents.py +52 -37
  40. machineconfig/scripts/python/ai/initai.py +1 -1
  41. machineconfig/scripts/python/ai/scripts/command_runner.ps1 +33 -0
  42. machineconfig/scripts/python/ai/{command_runner → scripts}/command_runner.sh +1 -1
  43. machineconfig/scripts/python/ai/solutions/copilot/{chatmodes/Thinking-Beast-Mode.chatmode.md → agents/Thinking-Beast-Mode.agent.md} +0 -1
  44. machineconfig/scripts/python/ai/solutions/copilot/{chatmodes/Ultimate-Transparent-Thinking-Beast-Mode.chatmode.md → agents/Ultimate-Transparent-Thinking-Beast-Mode.agent.md} +0 -1
  45. machineconfig/scripts/python/ai/solutions/copilot/{chatmodes/deepResearch.chatmode.md → agents/deepResearch.agent.md} +2 -2
  46. machineconfig/scripts/python/ai/solutions/copilot/github_copilot.py +5 -5
  47. machineconfig/scripts/python/ai/solutions/copilot/instructions/python/dev.instructions.md +4 -0
  48. machineconfig/scripts/python/ai/solutions/copilot/instructions/python/watch_exec.prompt.md +20 -0
  49. machineconfig/scripts/python/ai/solutions/generic.py +1 -1
  50. machineconfig/scripts/python/ai/{generate_files.py → utils/generate_files.py} +2 -2
  51. machineconfig/scripts/python/ai/{vscode_tasks.py → utils/vscode_tasks.py} +7 -2
  52. machineconfig/scripts/python/croshell.py +77 -78
  53. machineconfig/scripts/python/devops.py +39 -21
  54. machineconfig/scripts/python/devops_navigator.py +0 -4
  55. machineconfig/scripts/python/env_manager/env_manager_tui.py +204 -0
  56. machineconfig/scripts/python/env_manager/path_manager_tui.py +1 -1
  57. machineconfig/scripts/python/fire_jobs.py +84 -115
  58. machineconfig/scripts/python/ftpx.py +42 -16
  59. machineconfig/scripts/python/helpers/ast_search.py +74 -0
  60. machineconfig/scripts/python/helpers/qr_code.py +166 -0
  61. machineconfig/scripts/python/helpers/repo_rag.py +325 -0
  62. machineconfig/scripts/python/helpers/run_py_script.py +79 -0
  63. machineconfig/scripts/python/helpers/symantic_search.py +25 -0
  64. machineconfig/scripts/python/helpers/tmp_py_scripts/a.py +26 -0
  65. machineconfig/scripts/python/{helpers_fire → helpers_agents}/agentic_frameworks/fire_crush.json +1 -1
  66. machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_crush.py +39 -0
  67. machineconfig/scripts/python/{helpers_fire → helpers_agents}/agentic_frameworks/fire_cursor_agents.py +3 -4
  68. machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_gemini.py +55 -0
  69. machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_qwen.py +30 -0
  70. machineconfig/scripts/python/{helpers_fire → helpers_agents}/fire_agents_help_launch.py +32 -13
  71. machineconfig/scripts/python/{helpers_fire → helpers_agents}/fire_agents_helper_types.py +11 -14
  72. machineconfig/scripts/python/helpers_agents/templates/prompt.txt +10 -0
  73. machineconfig/scripts/python/helpers_agents/templates/template.sh +32 -0
  74. machineconfig/scripts/python/helpers_cloud/cloud_copy.py +28 -21
  75. machineconfig/scripts/python/helpers_cloud/cloud_helpers.py +1 -1
  76. machineconfig/scripts/python/helpers_cloud/cloud_mount.py +19 -17
  77. machineconfig/scripts/python/helpers_cloud/cloud_sync.py +8 -7
  78. machineconfig/scripts/python/helpers_croshell/crosh.py +3 -3
  79. machineconfig/scripts/python/helpers_croshell/start_slidev.py +6 -7
  80. machineconfig/scripts/python/helpers_devops/cli_config.py +46 -61
  81. machineconfig/scripts/python/helpers_devops/cli_config_dotfile.py +67 -55
  82. machineconfig/scripts/python/helpers_devops/cli_nw.py +157 -16
  83. machineconfig/scripts/python/helpers_devops/cli_repos.py +55 -21
  84. machineconfig/scripts/python/helpers_devops/cli_self.py +98 -48
  85. machineconfig/scripts/python/helpers_devops/cli_share_file.py +137 -0
  86. machineconfig/scripts/python/helpers_devops/cli_share_server.py +80 -42
  87. machineconfig/scripts/python/helpers_devops/{cli_terminal.py → cli_share_terminal.py} +15 -17
  88. machineconfig/scripts/python/helpers_devops/cli_utils.py +3 -128
  89. machineconfig/scripts/python/helpers_devops/devops_backup_retrieve.py +4 -4
  90. machineconfig/scripts/python/helpers_devops/devops_status.py +7 -19
  91. machineconfig/scripts/python/helpers_devops/themes/choose_wezterm_theme.py +1 -1
  92. machineconfig/scripts/python/{helpers_fire/helpers4.py → helpers_fire_command/file_wrangler.py} +56 -20
  93. machineconfig/scripts/python/helpers_fire_command/fire_jobs_route_helper.py +26 -16
  94. machineconfig/scripts/python/helpers_msearch/__init__.py +5 -0
  95. machineconfig/scripts/{linux → python/helpers_msearch/scripts_linux}/fzfg +3 -3
  96. machineconfig/scripts/python/helpers_msearch/scripts_windows/fzfg.ps1 +59 -0
  97. machineconfig/scripts/python/helpers_navigator/command_tree.py +50 -18
  98. machineconfig/scripts/python/helpers_network/address.py +132 -0
  99. machineconfig/scripts/python/{nw → helpers_network}/devops_add_ssh_key.py +24 -5
  100. machineconfig/scripts/python/{nw → helpers_network}/mount_nfs +0 -1
  101. machineconfig/scripts/python/{nw → helpers_network}/mount_nfs.py +2 -2
  102. machineconfig/scripts/python/{nw → helpers_network}/mount_ssh.py +1 -1
  103. machineconfig/scripts/python/{nw → helpers_network}/ssh_debug_linux.py +7 -7
  104. machineconfig/scripts/python/{nw → helpers_network}/ssh_debug_windows.py +4 -4
  105. machineconfig/scripts/python/{nw → helpers_network}/wifi_conn.py +1 -53
  106. machineconfig/scripts/python/{nw → helpers_network}/wsl_windows_transfer.py +3 -2
  107. machineconfig/scripts/python/helpers_repos/clone.py +0 -1
  108. machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py +46 -19
  109. machineconfig/scripts/python/helpers_repos/entrypoint.py +2 -1
  110. machineconfig/scripts/python/helpers_repos/grource.py +1 -1
  111. machineconfig/scripts/python/helpers_repos/record.py +2 -1
  112. machineconfig/scripts/python/helpers_repos/repo_analyzer_1.py +160 -0
  113. machineconfig/scripts/python/helpers_repos/{count_lines.py → repo_analyzer_2.py} +113 -192
  114. machineconfig/scripts/python/helpers_sessions/sessions_multiprocess.py +20 -13
  115. machineconfig/scripts/python/helpers_utils/download.py +150 -0
  116. machineconfig/scripts/python/helpers_utils/path.py +185 -0
  117. machineconfig/scripts/python/interactive.py +19 -26
  118. machineconfig/scripts/python/{mcfg.py → mcfg_entry.py} +10 -0
  119. machineconfig/scripts/python/msearch.py +71 -0
  120. machineconfig/scripts/python/sessions.py +94 -25
  121. machineconfig/scripts/python/terminal.py +133 -0
  122. machineconfig/scripts/python/utils.py +28 -30
  123. machineconfig/scripts/windows/mounts/mount_ssh.ps1 +1 -1
  124. machineconfig/scripts/windows/wrap_mcfg.ps1 +63 -0
  125. machineconfig/settings/broot/conf.toml +1 -1
  126. machineconfig/settings/helix/config.toml +16 -0
  127. machineconfig/settings/helix/languages.toml +13 -4
  128. machineconfig/settings/helix/yazi-picker.sh +12 -0
  129. machineconfig/settings/lf/linux/exe/lfcd.sh +1 -0
  130. machineconfig/settings/lf/linux/exe/previewer.sh +3 -2
  131. machineconfig/settings/lf/windows/lfcd.ps1 +1 -1
  132. machineconfig/settings/lf/windows/lfrc +14 -16
  133. machineconfig/settings/marimo/marimo.toml +1 -1
  134. machineconfig/settings/marimo/snippets/globalize.py +34 -0
  135. machineconfig/settings/shells/bash/init.sh +43 -11
  136. machineconfig/settings/shells/ipy/profiles/default/startup/playext.py +1 -1
  137. machineconfig/settings/shells/nushell/config.nu +2 -32
  138. machineconfig/settings/shells/nushell/env.nu +45 -6
  139. machineconfig/settings/shells/nushell/init.nu +314 -0
  140. machineconfig/settings/shells/pwsh/init.ps1 +40 -14
  141. machineconfig/settings/shells/starship/starship.toml +16 -0
  142. machineconfig/settings/shells/wezterm/wezterm.lua +2 -0
  143. machineconfig/settings/shells/wt/settings.json +14 -5
  144. machineconfig/settings/shells/zsh/init.sh +17 -19
  145. machineconfig/settings/television/cable_unix/alias.toml +8 -0
  146. machineconfig/settings/television/cable_unix/aws-buckets.toml +14 -0
  147. machineconfig/settings/television/cable_unix/aws-instances.toml +13 -0
  148. machineconfig/settings/television/cable_unix/bash-history.toml +8 -0
  149. machineconfig/settings/television/cable_unix/channels.toml +19 -0
  150. machineconfig/settings/television/cable_unix/dirs.toml +13 -0
  151. machineconfig/settings/television/cable_unix/distrobox-list.toml +42 -0
  152. machineconfig/settings/television/cable_unix/docker-images.toml +13 -0
  153. machineconfig/settings/television/cable_unix/dotfiles.toml +11 -0
  154. machineconfig/settings/television/cable_unix/env.toml +17 -0
  155. machineconfig/settings/television/cable_unix/files.toml +11 -0
  156. machineconfig/settings/television/cable_unix/fish-history.toml +8 -0
  157. machineconfig/settings/television/cable_unix/git-branch.toml +11 -0
  158. machineconfig/settings/television/cable_unix/git-diff.toml +10 -0
  159. machineconfig/settings/television/cable_unix/git-log.toml +12 -0
  160. machineconfig/settings/television/cable_unix/git-reflog.toml +12 -0
  161. machineconfig/settings/television/cable_unix/git-repos.toml +16 -0
  162. machineconfig/settings/television/cable_unix/guix.toml +20 -0
  163. machineconfig/settings/television/cable_unix/just-recipes.toml +18 -0
  164. machineconfig/settings/television/cable_unix/k8s-deployments.toml +36 -0
  165. machineconfig/settings/television/cable_unix/k8s-pods.toml +50 -0
  166. machineconfig/settings/television/cable_unix/k8s-services.toml +36 -0
  167. machineconfig/settings/television/cable_unix/man-pages.toml +24 -0
  168. machineconfig/settings/television/cable_unix/nu-history.toml +7 -0
  169. machineconfig/settings/television/cable_unix/procs.toml +20 -0
  170. machineconfig/settings/television/cable_unix/text.toml +17 -0
  171. machineconfig/settings/television/cable_unix/tldr.toml +18 -0
  172. machineconfig/settings/television/cable_unix/zsh-history.toml +9 -0
  173. machineconfig/settings/television/cable_windows/alias.toml +7 -0
  174. machineconfig/settings/television/cable_windows/dirs.toml +13 -0
  175. machineconfig/settings/television/cable_windows/docker-images.toml +13 -0
  176. machineconfig/settings/television/cable_windows/dotfiles.toml +11 -0
  177. machineconfig/settings/television/cable_windows/env.toml +17 -0
  178. machineconfig/settings/television/cable_windows/files.toml +14 -0
  179. machineconfig/settings/television/cable_windows/git-branch.toml +11 -0
  180. machineconfig/settings/television/cable_windows/git-diff.toml +10 -0
  181. machineconfig/settings/television/cable_windows/git-log.toml +11 -0
  182. machineconfig/settings/television/cable_windows/git-reflog.toml +11 -0
  183. machineconfig/settings/television/cable_windows/git-repos.toml +15 -0
  184. machineconfig/settings/television/cable_windows/nu-history.toml +7 -0
  185. machineconfig/settings/television/cable_windows/pwsh-history.toml +6 -0
  186. machineconfig/settings/television/cable_windows/text.toml +17 -0
  187. machineconfig/settings/yazi/init.lua +61 -0
  188. machineconfig/settings/yazi/keymap_linux.toml +94 -0
  189. machineconfig/settings/yazi/keymap_windows.toml +78 -0
  190. machineconfig/settings/yazi/shell/yazi_cd.ps1 +33 -0
  191. machineconfig/settings/yazi/shell/yazi_cd.sh +8 -0
  192. machineconfig/settings/yazi/theme.toml +4 -0
  193. machineconfig/settings/yazi/yazi_linux.toml +84 -0
  194. machineconfig/settings/yazi/yazi_windows.toml +58 -0
  195. machineconfig/setup_linux/__init__.py +2 -1
  196. machineconfig/setup_linux/web_shortcuts/interactive.sh +27 -12
  197. machineconfig/setup_linux/web_shortcuts/live_from_github.sh +31 -0
  198. machineconfig/setup_mac/__init__.py +2 -3
  199. machineconfig/setup_mac/apps_gui.sh +248 -0
  200. machineconfig/setup_windows/__init__.py +3 -3
  201. machineconfig/setup_windows/uv.ps1 +8 -1
  202. machineconfig/setup_windows/web_shortcuts/interactive.ps1 +26 -11
  203. machineconfig/setup_windows/web_shortcuts/live_from_github.ps1 +30 -0
  204. machineconfig/setup_windows/web_shortcuts/quick_init.ps1 +17 -0
  205. machineconfig/utils/accessories.py +7 -4
  206. machineconfig/utils/code.py +99 -32
  207. machineconfig/utils/files/ascii_art.py +1 -1
  208. machineconfig/utils/files/headers.py +3 -2
  209. machineconfig/utils/installer_utils/github_release_bulk.py +156 -119
  210. machineconfig/utils/installer_utils/install_from_url.py +183 -0
  211. machineconfig/utils/installer_utils/installer_class.py +42 -99
  212. machineconfig/utils/installer_utils/installer_cli.py +175 -0
  213. machineconfig/utils/installer_utils/installer_helper.py +129 -0
  214. machineconfig/utils/installer_utils/{installer_abc.py → installer_locator_utils.py} +36 -85
  215. machineconfig/utils/{installer.py → installer_utils/installer_runner.py} +16 -61
  216. machineconfig/utils/io.py +69 -1
  217. machineconfig/utils/links.py +56 -38
  218. machineconfig/utils/meta.py +33 -18
  219. machineconfig/utils/options.py +46 -18
  220. machineconfig/utils/options_tv.py +119 -0
  221. machineconfig/utils/path_extended.py +44 -95
  222. machineconfig/utils/path_helper.py +76 -23
  223. machineconfig/utils/procs.py +1 -1
  224. machineconfig/utils/scheduler.py +20 -53
  225. machineconfig/utils/scheduling.py +0 -2
  226. machineconfig/utils/schemas/fire_agents/fire_agents_input.py +1 -1
  227. machineconfig/utils/schemas/layouts/layout_types.py +1 -1
  228. machineconfig/utils/ssh.py +159 -412
  229. machineconfig/utils/ssh_utils/abc.py +5 -0
  230. machineconfig/utils/ssh_utils/copy_from_here.py +111 -0
  231. machineconfig/utils/ssh_utils/copy_to_here.py +302 -0
  232. machineconfig/utils/ssh_utils/utils.py +142 -0
  233. machineconfig/utils/ssh_utils/wsl.py +210 -0
  234. machineconfig/utils/terminal.py +1 -0
  235. machineconfig/utils/upgrade_packages.py +104 -28
  236. machineconfig/utils/ve.py +12 -4
  237. machineconfig-7.98.dist-info/METADATA +132 -0
  238. {machineconfig-6.82.dist-info → machineconfig-7.98.dist-info}/RECORD +259 -196
  239. {machineconfig-6.82.dist-info → machineconfig-7.98.dist-info}/entry_points.txt +4 -1
  240. machineconfig/jobs/installer/linux_scripts/pgsql.sh +0 -41
  241. machineconfig/jobs/installer/linux_scripts/timescaledb.sh +0 -71
  242. machineconfig/jobs/installer/powershell_scripts/archive_pygraphviz.ps1 +0 -12
  243. machineconfig/scripts/linux/fzf2g +0 -21
  244. machineconfig/scripts/linux/fzfag +0 -17
  245. machineconfig/scripts/linux/fzffg +0 -25
  246. machineconfig/scripts/linux/fzfrga +0 -21
  247. machineconfig/scripts/linux/mcfgs +0 -38
  248. machineconfig/scripts/linux/other/share_smb +0 -1
  249. machineconfig/scripts/linux/skrg +0 -4
  250. machineconfig/scripts/linux/warp-cli.sh +0 -122
  251. machineconfig/scripts/linux/z_ls +0 -104
  252. machineconfig/scripts/python/ai/command_runner/prompt.txt +0 -9
  253. machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_crush.py +0 -37
  254. machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_gemini.py +0 -44
  255. machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_qwen.py +0 -43
  256. machineconfig/scripts/python/helpers_fire/prompt.txt +0 -2
  257. machineconfig/scripts/python/helpers_fire/template.sh +0 -15
  258. machineconfig/scripts/python/helpers_repos/count_lines_frontend.py +0 -17
  259. machineconfig/scripts/python/helpers_repos/secure_repo.py +0 -15
  260. machineconfig/scripts/python/nw/add_ssh_key.py +0 -148
  261. machineconfig/scripts/windows/fzfb.ps1 +0 -3
  262. machineconfig/scripts/windows/fzfg.ps1 +0 -2
  263. machineconfig/scripts/windows/fzfrga.bat +0 -20
  264. machineconfig/scripts/windows/mcfgs.ps1 +0 -17
  265. machineconfig/settings/lf/linux/exe/fzf_nano.sh +0 -16
  266. machineconfig/settings/lf/windows/fzf_edit.ps1 +0 -6
  267. machineconfig/settings/lf/windows/tst.ps1 +0 -1
  268. machineconfig/settings/yazi/yazi.toml +0 -4
  269. machineconfig/setup_linux/apps.sh +0 -66
  270. machineconfig/setup_linux/others/cli_installation.sh +0 -137
  271. machineconfig/setup_mac/apps.sh +0 -73
  272. machineconfig/setup_windows/apps.ps1 +0 -62
  273. machineconfig/utils/installer_utils/installer.py +0 -225
  274. machineconfig-6.82.dist-info/METADATA +0 -82
  275. /machineconfig/jobs/installer/linux_scripts/{warp-cli.sh → cloudflare_warp_cli.sh} +0 -0
  276. /machineconfig/scripts/python/{helpers_fire → ai/utils}/__init__.py +0 -0
  277. /machineconfig/scripts/python/{helpers_fire/agentic_frameworks → helpers_agents}/__init__.py +0 -0
  278. /machineconfig/scripts/python/{nw → helpers_agents/agentic_frameworks}/__init__.py +0 -0
  279. /machineconfig/scripts/python/{helpers_fire → helpers_agents}/fire_agents_help_search.py +0 -0
  280. /machineconfig/scripts/python/{helpers_fire → helpers_agents}/fire_agents_load_balancer.py +0 -0
  281. /machineconfig/scripts/python/{helpers_fire → helpers_agents/templates}/template.ps1 +0 -0
  282. /machineconfig/{settings/shells/pwsh/profile.ps1 → scripts/python/helpers_fire_command/f.py} +0 -0
  283. /machineconfig/{settings/yazi/keymap.toml → scripts/python/helpers_network/__init__.py} +0 -0
  284. /machineconfig/scripts/python/{nw → helpers_network}/devops_add_identity.py +0 -0
  285. /machineconfig/scripts/python/{nw → helpers_network}/mount_drive +0 -0
  286. /machineconfig/scripts/python/{nw → helpers_network}/mount_nw_drive +0 -0
  287. /machineconfig/scripts/python/{nw → helpers_network}/mount_nw_drive.py +0 -0
  288. /machineconfig/scripts/python/{nw → helpers_network}/mount_smb +0 -0
  289. /machineconfig/scripts/python/{nw → helpers_network}/onetimeshare.py +0 -0
  290. /machineconfig/scripts/{Restore-ThunderbirdProfile.ps1 → windows/mounts/Restore-ThunderbirdProfile.ps1} +0 -0
  291. /machineconfig/{jobs/installer/powershell_scripts → setup_windows/ssh}/openssh-server_add_key.ps1 +0 -0
  292. /machineconfig/{jobs/installer/powershell_scripts → setup_windows/ssh}/openssh-server_copy-ssh-id.ps1 +0 -0
  293. {machineconfig-6.82.dist-info → machineconfig-7.98.dist-info}/WHEEL +0 -0
  294. {machineconfig-6.82.dist-info → machineconfig-7.98.dist-info}/top_level.txt +0 -0
@@ -1,17 +0,0 @@
1
-
2
- import typer
3
- from typing import Annotated
4
-
5
-
6
- def analyze_repo_development(repo_path: Annotated[str, typer.Argument(..., help="Path to the git repository")]):
7
- from machineconfig.scripts.python.helpers_repos import count_lines
8
- from pathlib import Path
9
- count_lines_path = Path(count_lines.__file__)
10
- # --project $HOME/code/ machineconfig --group plot
11
- cmd = f"""uv run --python 3.14 --with "machineconfig[plot]>=6.57" {count_lines_path} analyze-over-time {repo_path}"""
12
- from machineconfig.utils.code import run_shell_script
13
- run_shell_script(cmd)
14
-
15
-
16
- if __name__ == "__main__":
17
- pass
@@ -1,15 +0,0 @@
1
-
2
- import typer
3
- from typing import Optional, Literal, Annotated
4
- from pathlib import Path
5
-
6
-
7
- def main(
8
- cloud: Annotated[Optional[str], typer.Option(..., "--cloud", "-c", help="Cloud storage profile name. If not provided, uses default from config.")] = None,
9
- repo: Annotated[Optional[str], typer.Option(..., "--repo", "-r", help="Path to the local repository. Defaults to cwd.")] = Path.cwd().as_posix(),
10
- message: Annotated[Optional[str], typer.Option(..., "--message", "-m", help="Commit message for local changes.")] = None,
11
- on_conflict: Annotated[Literal["ask", "push-local-merge", "overwrite-local", "stop-on-conflict", "remove-rclone-conflict"], typer.Option(..., "--on-conflict", "-oc", help="Action to take on merge conflict. Default is 'ask'.")] = "ask",
12
- pwd: Annotated[Optional[str], typer.Option(..., "--password", help="Password for encryption/decryption of the remote repository.")] = None,
13
- ):
14
- from machineconfig.scripts.python.helpers_repos.cloud_repo_sync import main as program_content
15
- program_content(cloud=cloud, repo=repo, message=message, on_conflict=on_conflict, pwd=pwd)
@@ -1,148 +0,0 @@
1
- """SSH"""
2
-
3
- from platform import system
4
- from machineconfig.utils.source_of_truth import LIBRARY_ROOT
5
- from machineconfig.utils.path_extended import PathExtended
6
- from rich.console import Console
7
- from rich.panel import Panel
8
- from rich import box # Import box
9
- from typing import Optional, Annotated
10
- import typer
11
-
12
-
13
- console = Console()
14
-
15
-
16
- def get_add_ssh_key_script(path_to_key: PathExtended):
17
- console.print(Panel("🔑 SSH KEY CONFIGURATION", title="[bold blue]SSH Setup[/bold blue]"))
18
- if system() == "Linux" or system() == "Darwin":
19
- authorized_keys = PathExtended.home().joinpath(".ssh/authorized_keys")
20
- console.print(Panel(f"🐧 Linux SSH configuration\n📄 Authorized keys file: {authorized_keys}", title="[bold blue]System Info[/bold blue]"))
21
- elif system() == "Windows":
22
- authorized_keys = PathExtended("C:/ProgramData/ssh/administrators_authorized_keys")
23
- console.print(Panel(f"🪟 Windows SSH configuration\n📄 Authorized keys file: {authorized_keys}", title="[bold blue]System Info[/bold blue]"))
24
- else:
25
- console.print(Panel("❌ ERROR: Unsupported operating system\nOnly Linux and Windows are supported", title="[bold red]Error[/bold red]"))
26
- raise NotImplementedError
27
-
28
- if authorized_keys.exists():
29
- split = "\n"
30
- keys_text = authorized_keys.read_text(encoding="utf-8").split(split)
31
- key_count = len([k for k in keys_text if k.strip()])
32
- console.print(Panel(f"🔍 Current SSH authorization status\n✅ Found {key_count} authorized key(s)", title="[bold blue]Status[/bold blue]"))
33
- if path_to_key.read_text(encoding="utf-8") in authorized_keys.read_text(encoding="utf-8"):
34
- console.print(Panel(f"⚠️ Key already authorized\nKey: {path_to_key.name}\nStatus: Already present in authorized_keys file\nNo action required", title="[bold yellow]Warning[/bold yellow]"))
35
- program = ""
36
- else:
37
- console.print(Panel(f"➕ Adding new SSH key to authorized keys\n🔑 Key file: {path_to_key.name}", title="[bold blue]Action[/bold blue]"))
38
- if system() == "Linux":
39
- program = f"cat {path_to_key} >> ~/.ssh/authorized_keys"
40
- elif system() == "Windows":
41
- program_path = LIBRARY_ROOT.joinpath("setup_windows/add-sshkey.ps1")
42
- program = program_path.expanduser().read_text(encoding="utf-8")
43
- place_holder = r'$sshfile = "$env:USERPROFILE\.ssh\pubkey.pub"'
44
- assert place_holder in program, f"This section performs string manipulation on the script {program_path} to add the key to the authorized_keys file. The script has changed and the string {place_holder} is not found."
45
- program = program.replace(place_holder, f'$sshfile = "{path_to_key}"')
46
- console.print(Panel("🔧 Configured PowerShell script for Windows\n📝 Replaced placeholder with actual key path", title="[bold blue]Configuration[/bold blue]"))
47
- else:
48
- raise NotImplementedError
49
- else:
50
- console.print(Panel(f"📝 Creating new authorized_keys file\n🔑 Using key: {path_to_key.name}", title="[bold blue]Action[/bold blue]"))
51
- if system() == "Linux":
52
- program = f"cat {path_to_key} > ~/.ssh/authorized_keys"
53
- else:
54
- program_path = LIBRARY_ROOT.joinpath("setup_windows/openssh-server_add-sshkey.ps1")
55
- program = PathExtended(program_path).expanduser().read_text(encoding="utf-8").replace('$sshfile=""', f'$sshfile="{path_to_key}"')
56
- console.print(Panel("🔧 Configured PowerShell script for Windows\n📝 Set key path in script", title="[bold blue]Configuration[/bold blue]"))
57
-
58
- if system() == "Linux" or system() == "Darwin":
59
- program += """
60
- sudo chmod 700 ~/.ssh
61
- sudo chmod 644 ~/.ssh/authorized_keys
62
- sudo chmod 644 ~/.ssh/*.pub
63
- sudo service ssh --full-restart
64
- # from superuser.com/questions/215504/permissions-on-private-key-in-ssh-folder
65
- """
66
- return program
67
-
68
-
69
-
70
- """
71
- # Common pitfalls:
72
- # 🚫 Wrong line endings (LF/CRLF) in config files
73
- # 🌐 Network port conflicts (try 2222 -> 2223) between WSL and Windows
74
- # sudo service ssh restart
75
- # sudo service ssh status
76
- # sudo nano /etc/ssh/sshd_config
77
- """
78
-
79
-
80
- def main(pub_path: Annotated[Optional[str], typer.Argument(..., help="Path to the public key file")] = None,
81
- pub_choose: Annotated[bool, typer.Option(..., "--choose", "-c", help="Choose from available public keys in ~/.ssh")] = False,
82
- pub_val: Annotated[bool, typer.Option(..., "--paste", "-p", help="Paste the public key content manually")] = False,
83
- from_github: Annotated[Optional[str], typer.Option(..., "--from-github", "-g", help="Fetch public keys from a GitHub username")] = None
84
- ) -> None:
85
- if pub_path:
86
- key_path = PathExtended(pub_path).expanduser().absolute()
87
- if not key_path.exists():
88
- console.print(Panel(f"❌ ERROR: Provided key path does not exist\nPath: {key_path}", title="[bold red]Error[/bold red]"))
89
- raise FileNotFoundError(f"Provided key path does not exist: {key_path}")
90
- console.print(Panel(f"📄 Using provided public key file: {key_path}", title="[bold blue]Info[/bold blue]"))
91
- program = get_add_ssh_key_script(key_path)
92
- from machineconfig.utils.code import run_shell_script
93
- run_shell_script(script=program)
94
- console.print(Panel("✅ SSH KEY AUTHORIZATION COMPLETED", box=box.DOUBLE_EDGE, title_align="left"))
95
- return
96
- elif pub_choose:
97
- console.print(Panel("🔐 SSH PUBLIC KEY AUTHORIZATION TOOL", box=box.DOUBLE_EDGE, title_align="left"))
98
- console.print(Panel("🔍 Searching for public keys...", title="[bold blue]SSH Setup[/bold blue]", border_style="blue"))
99
- pub_keys = PathExtended.home().joinpath(".ssh").search("*.pub")
100
- if pub_keys:
101
- console.print(Panel(f"✅ Found {len(pub_keys)} public key(s)", title="[bold green]Status[/bold green]", border_style="green"))
102
- else:
103
- console.print(Panel("⚠️ No public keys found", title="[bold yellow]Warning[/bold yellow]", border_style="yellow"))
104
- return
105
- console.print(Panel(f"🔄 Processing all {len(pub_keys)} public keys...", title="[bold blue]Processing[/bold blue]", border_style="blue"))
106
- program = "\n\n\n".join([get_add_ssh_key_script(key) for key in pub_keys])
107
-
108
- elif pub_val:
109
- console.print(Panel("📋 Please provide a filename and paste the public key content", title="[bold blue]Input Required[/bold blue]", border_style="blue"))
110
- key_filename = input("📝 File name (default: my_pasted_key.pub): ") or "my_pasted_key.pub"
111
- key_path = PathExtended.home().joinpath(f".ssh/{key_filename}")
112
- key_path.write_text(input("🔑 Paste the public key here: "), encoding="utf-8")
113
- console.print(Panel(f"💾 Key saved to: {key_path}", title="[bold green]Success[/bold green]", border_style="green"))
114
- program = get_add_ssh_key_script(key_path)
115
- elif from_github:
116
- console.print(Panel(f"🌐 Fetching public keys from GitHub user: {from_github}", title="[bold blue]GitHub Fetch[/bold blue]", border_style="blue"))
117
- import requests
118
- # $pubkey_url = 'https://github.com/thisismygitrepo.keys' # $pubkey_string = (Invoke-WebRequest $pubkey_url).Content
119
- response = requests.get(f"https://api.github.com/users/{from_github}/keys")
120
- if response.status_code != 200:
121
- console.print(Panel(f"❌ ERROR: Failed to fetch keys from GitHub user {from_github}\nStatus Code: {response.status_code}", title="[bold red]Error[/bold red]", border_style="red"))
122
- raise RuntimeError(f"Failed to fetch keys from GitHub user {from_github}: Status Code {response.status_code}")
123
- keys = response.json()
124
- if not keys:
125
- console.print(Panel(f"⚠️ No public keys found for GitHub user: {from_github}", title="[bold yellow]Warning[/bold yellow]", border_style="yellow"))
126
- return
127
- console.print(Panel(f"✅ Found {len(keys)} public key(s) for user: {from_github}", title="[bold green]Success[/bold green]", border_style="green"))
128
- key_path = PathExtended.home().joinpath(f".ssh/{from_github}_github_keys.pub")
129
- key_path.write_text("\n".join([key["key"] for key in keys]), encoding="utf-8")
130
- console.print(Panel(f"💾 Keys saved to: {key_path}", title="[bold green]Success[/bold green]", border_style="green"))
131
- program = get_add_ssh_key_script(key_path)
132
- else:
133
- console.print(Panel("❌ ERROR: No method provided to add SSH key\nUse --help for options", title="[bold red]Error[/bold red]", border_style="red"))
134
- raise ValueError("No method provided to add SSH key. Use --help for options.")
135
- console.print(Panel("🚀 SSH KEY AUTHORIZATION READY\nRun the generated script to apply changes", box=box.DOUBLE_EDGE, title_align="left"))
136
- from machineconfig.utils.code import run_shell_script
137
- run_shell_script(script=program)
138
- import socket
139
- s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
140
- s.connect(('8.8.8.8',80))
141
- local_ip_v4 = s.getsockname()[0]
142
- s.close()
143
- print(f"This computer is @ {local_ip_v4}")
144
- console.print(Panel("✅ SSH KEY AUTHORIZATION COMPLETED", box=box.DOUBLE_EDGE, title_align="left"))
145
-
146
-
147
- if __name__ == "__main__":
148
- pass
@@ -1,3 +0,0 @@
1
-
2
- # TODO change bat to pistol
3
- fzf --ansi --preview-window 'right:60%' --preview 'bat --color=always --style=numbers,grid,header --line-range :300 {}'
@@ -1,2 +0,0 @@
1
-
2
- Invoke-PsFzfRipgrep $args
@@ -1,20 +0,0 @@
1
-
2
- REM adopted from https://github.com/phiresky/ripgrep-all/wiki/fzf-Integration
3
-
4
- @echo off
5
- setlocal
6
-
7
- set RG_PREFIX=rga --files-with-matches
8
- set FZF_DEFAULT_COMMAND=%RG_PREFIX% %1
9
- for /f "delims=" %%i in ('fzf --sort --preview "rga --pretty --context 5 {q} {}" --phony -q %1 --bind "change:reload:%RG_PREFIX% {q}" --preview-window="70%:wrap"') do (
10
- set FILE=%%i
11
- )
12
-
13
- if not "%FILE%" == "" (
14
- echo Opening %FILE%
15
- start "" "%FILE%"
16
- ) else (
17
- echo No file selected.
18
- )
19
-
20
- endlocal
@@ -1,17 +0,0 @@
1
- # Generate a random name (based on current timestamp hashed with SHA256)
2
- $timestamp = Get-Date -Format o | Get-FileHash -Algorithm SHA256
3
- $randomName = ($timestamp.Hash.Substring(0, 16))
4
-
5
- # Define the output path
6
- $env:OP_PROGRAM_PATH = "$HOME/tmp_results/tmp_scripts/machineconfig/${randomName}.ps1"
7
-
8
- # Run your equivalent command (replace with your actual command)
9
- mcfg @args
10
-
11
- # Check if the file exists
12
- if (Test-Path $env:OP_PROGRAM_PATH) {
13
- Write-Host "Found op program at: $env:OP_PROGRAM_PATH"
14
- & $env:OP_PROGRAM_PATH
15
- } else {
16
- Write-Host "no op program found"
17
- }
@@ -1,16 +0,0 @@
1
- #!/bin/sh
2
- # 🔍 Fuzzy Finder with Nano Editor Integration
3
-
4
- # 📝 Open selected file in nano
5
- nano (fzf2g) # space used for precedence in execution
6
-
7
- # 💡 Alternative commands (commented):
8
- # 🔎 FZF with bat preview:
9
- # fzf --ansi --preview-window 'right:60%' --preview 'bat --color=always --style=numbers,grid,header --line-range :300 {}'
10
-
11
- # 🪟 Windows Git Bash version:
12
- # & "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 {}')
13
-
14
- # 📜 PowerShell script integration:
15
- # fzf | nano.ps1
16
-
@@ -1,6 +0,0 @@
1
-
2
- nano.ps1 (fzfb) # space use for presedence in execution.
3
- # fzf --ansi --preview-window 'right:60%' --preview 'bat --color=always --style=numbers,grid,header --line-range :300 {}'
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 | nano.ps1
6
-
@@ -1 +0,0 @@
1
- fzfb
@@ -1,4 +0,0 @@
1
-
2
- [mgr]
3
- show_hidden = true
4
- ratio = [1, 3, 5]
@@ -1,66 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
-
4
- # --GROUP:ESSENTIAL_SYSTEM:git,nano,net-utils,wget,curl,nala,nvm,nodejs
5
- echo "🔄 Updating apt package lists..."
6
- echo "📥 Installing nala package manager..."
7
- echo "📥 Installing essential network tools..."
8
- echo "📥 Installing Node Version Manager (NVM)..."
9
- sudo apt update -y || true
10
- sudo apt install nala -y || true
11
- sudo nala install curl wget gpg lsb-release apt-transport-https -y || true
12
- sudo nala install git net-tools htop nano -y || true
13
- curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
14
- echo "🔧 Configuring NVM environment..."
15
- export NVM_DIR="$HOME/.nvm"
16
- [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
17
- echo "📥 Installing latest Node.js..."
18
- nvm install node || true
19
- echo "📥 Installing SQLite - lightweight SQL database..."
20
- echo "📥 Installing PostgreSQL client..."
21
- echo "📥 Installing Redis command-line tools..."
22
- sudo nala install sqlite3 -y || true
23
- sudo nala install postgresql-client -y || true # # same for pgsq, when the server runs, we will need the client to talk to it.
24
- sudo nala install redis-tools -y || true # this gives redis-cli, which is needed to talk to the redis-server that is running in the docker container.
25
-
26
- # --GROUP:TerminalEyeCandy:fortune,toilet,sl,aafire,cmatrix,hollywood,chafa
27
- echo "📥 Installing fortune - random wisdom generator..."
28
- echo "📥 Installing toilet - large ASCII text generator..."
29
- echo "📥 Installing sl - steam locomotive animation..."
30
- echo "📥 Installing aafire - ASCII art fire animation..."
31
- echo "📥 Installing cmatrix - Matrix-style terminal animation..."
32
- echo "📥 Installing hollywood - Hollywood hacker terminal effect..."
33
- echo "📥 Installing chafa - terminal image viewer..."
34
- sudo nala install cowsay -y || true
35
- sudo nala install lolcat -y || true
36
- sudo nala install boxes -y || true
37
- sudo nala install figlet -y || true
38
- sudo nala install fortune -y || true
39
- sudo nala install toilet -y || true
40
- sudo nala install chafa -y
41
- sudo nala install sl -y || true
42
- sudo nala install libaa-bin -y
43
- echo 'keyboard-configuration keyboard-configuration/layout select US English' | sudo debconf-set-selections
44
- echo 'keyboard-configuration keyboard-configuration/layoutcode string us' | sudo debconf-set-selections
45
- sudo DEBIAN_FRONTEND=noninteractive nala install -y cmatrix
46
- sudo nala install hollywood -y || true
47
-
48
- # --GROUP:NetworkTools: sshfs,samba,fuse3,nfs-common
49
- echo "📥 Installing sshfs - mount remote filesystems over SSH..."
50
- echo "📥 Installing Samba - LAN-based file sharing..."
51
- sudo nala install sshfs
52
- sudo nala install samba
53
- sudo nala install fuse3 -y || true
54
- sudo nala install nfs-common -y || true
55
-
56
-
57
- # --GROUP:DEV_SYSTEM: graphviz,make,rust,libssl-dev,sqlite3,postgresql-client,redis-tools
58
- echo "📥 Installing Graphviz - graph visualization software..."
59
- echo "📥 Installing make - build automation tool..."
60
- echo "📥 Installing SSL development libraries for Rust..."
61
- echo "📥 Installing Rust programming language and toolchain..."
62
- sudo nala install graphviz -y || true
63
- sudo nala install ffmpeg -y || true # Required by some dev tools
64
- sudo nala install make -y || true # Required by LunarVim and SpaceVim
65
- (curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh) || true
66
- sudo nala install libssl-dev -y
@@ -1,137 +0,0 @@
1
- #!/bin/bash
2
- # 📦 NIX CLI TOOLS INSTALLATION SCRIPT
3
- # This script installs various command-line utilities using the Nix package manager
4
-
5
- echo """🔄 SYSTEM UTILITIES | Installing system management tools
6
- """
7
-
8
- # System upgrade tool
9
- echo "📥 Installing topgrade - multi-package-manager upgrade tool..."
10
- nix-env -iA nixpkgs.topgrade || true
11
-
12
- # Process management
13
- echo "📥 Installing procs - modern replacement for ps..."
14
- nix-env -iA nixpkgs.procs || true
15
-
16
- # File watching
17
- echo "📥 Installing watchexec - executes commands when files change..."
18
- nix-env -iA nixpkgs.watchexec || true
19
-
20
- echo """📂 FILE MANAGEMENT | Installing file browsers and utilities
21
- """
22
-
23
- # Terminal file managers
24
- echo "📥 Installing xplr - hackable file explorer..."
25
- nix-env -iA nixpkgs.xplr || true
26
-
27
- echo "📥 Installing nnn - fast and flexible file manager..."
28
- nix-env -iA nixpkgs.nnn || true
29
-
30
- echo "📥 Installing joshuto - ranger-like file manager in Rust..."
31
- nix-env -iA nixpkgs.joshuto || true
32
-
33
- echo "📥 Installing lf - terminal file manager..."
34
- nix-env -iA nixpkgs.lf || true
35
-
36
- echo "📥 Installing broot - directory navigation tool..."
37
- nix-env -iA nixpkgs.broot || true
38
-
39
- echo "📥 Installing tere - faster alternative to cd..."
40
- nix-env -iA nixpkgs.tere || true
41
-
42
- # Disk usage analyzers
43
- echo "📥 Installing dua - disk usage analyzer..."
44
- nix-env -iA nixpkgs.dua || true
45
-
46
- echo "📥 Installing diskonaut - terminal disk space navigator..."
47
- nix-env -iA nixpkgs.diskonaut || true
48
-
49
- # File cleanup
50
- echo "📥 Installing kondo - cleanup tool for dev projects..."
51
- nix-env -iA nixpkgs.kondo || true
52
-
53
- echo """🖼️ VISUAL TOOLS | Installing terminal visualization tools
54
- """
55
-
56
- # Terminal visualization
57
- echo "📥 Installing viu - terminal image viewer..."
58
- nix-env -iA nixpkgs.viu || true
59
-
60
- echo "📥 Installing bottom - graphical process/system monitor..."
61
- nix-env -iA nixpkgs.bottom || true
62
-
63
- echo "📥 Installing delta - syntax-highlighting pager for git..."
64
- nix-env -iA nixpkgs.delta || true
65
-
66
- echo """🔧 DEVELOPMENT TOOLS | Installing programming utilities
67
- """
68
-
69
- # Code editors
70
- echo "📥 Installing helix - modal text editor..."
71
- nix-env -iA nixpkgs.helix || true
72
-
73
- # Terminal multiplexer
74
- echo "📥 Installing zellij - terminal workspace with panes..."
75
- nix-env -iA nixpkgs.zellij || true
76
-
77
- # Development tools
78
- echo "📥 Installing rust-analyzer - Rust language server..."
79
- nix-env -iA nixpkgs.rust-analyzer || true
80
-
81
- echo "📥 Installing tokei - code statistics tool..."
82
- nix-env -iA nixpkgs.tokei || true
83
-
84
- # Git interfaces
85
- echo "📥 Installing gitui - terminal UI for git..."
86
- nix-env -iA nixpkgs.gitui || true
87
-
88
- echo """🔎 SEARCH TOOLS | Installing fuzzy finders and search utilities
89
- """
90
-
91
- # Search history
92
- echo "📥 Installing mcfly - search shell history with context..."
93
- nix-env -iA nixpkgs.mcfly || true
94
-
95
- # Fuzzy finder
96
- echo "📥 Installing skim - fuzzy finder in Rust..."
97
- nix-env -iA nixpkgs.skim || true
98
-
99
- echo """🌐 NETWORK & CLOUD TOOLS | Installing file transfer and cloud utilities
100
- """
101
-
102
- # File transfer
103
- echo "📥 Installing termscp - terminal file transfer client..."
104
- nix-env -iA nixpkgs.termscp || true
105
-
106
- # Cloud storage
107
- echo "📥 Installing rclone - rsync for cloud storage..."
108
- nix-env -iA nixpkgs.rclone || true
109
-
110
- echo """🛡️ SECURITY TOOLS | Installing password management utilities
111
- """
112
-
113
- # Password management
114
- echo "📥 Installing gopass - team password manager with git..."
115
- nix-env -iA nixpkgs.gopass || true
116
-
117
- echo """📚 DOCUMENTATION | Installing help and reference tools
118
- """
119
-
120
- # Command reference
121
- echo "📥 Installing tldr - simplified command documentation..."
122
- nix-env -iA nixpkgs.tldr || true
123
-
124
- # Shell alternatives
125
- echo "📥 Installing nushell - modern shell alternative..."
126
- nix-env -iA nixpkgs.nushell || true
127
-
128
- echo """✅ INSTALLATION COMPLETE | All Nix CLI tools have been installed
129
- """
130
-
131
- # Commented out tools
132
- # echo "📥 Installing ots - one-time secret sharing..."
133
- # nix-env -iA nixpkgs.ots || true
134
-
135
- # echo "📥 Installing qrscan - QR code scanner..."
136
- # nix-env -iA nixpkgs.qrscan || true
137
-
@@ -1,73 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
4
- echo "🔄 Updating Homebrew..."
5
- brew update || true
6
-
7
- # --GROUP:ESSENTIAL_SYSTEM:git,nano,curl,nvm,nodejs,brave-browser,visual-studio-code
8
- echo "📥 Installing essential tools..."
9
- echo "📥 Installing Git version control..."
10
- echo "📥 Installing Nano text editor..."
11
- echo "📥 Installing Node Version Manager (NVM)..."
12
- # Note: git and nano are pre-installed on macOS, but we install via Homebrew to ensure latest versions
13
- brew install git || true
14
- brew install nano || true
15
- brew install curl || true
16
- # Install NVM
17
- if [ ! -s "$HOME/.nvm/nvm.sh" ]; then
18
- echo "📥 Installing NVM (Node Version Manager)..."
19
- curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
20
- fi
21
- echo "🔧 Configuring NVM environment..."
22
- export NVM_DIR="$HOME/.nvm"
23
- [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
24
- echo "📥 Installing latest Node.js..."
25
- nvm install node || true
26
- brew install --cask brave-browser || true
27
- brew install --cask visual-studio-code || true
28
-
29
- # Database tools
30
- # echo "📥 Installing SQLite - lightweight SQL database..."
31
- # echo "📥 Installing PostgreSQL client..."
32
- # echo "📥 Installing Redis command-line tools..."
33
- # brew install sqlite3 || true
34
- # brew install postgresql || true
35
- # brew install redis || true
36
-
37
- # --GROUP:TerminalEyeCandy:fortune,toilet,sl,cmatrix,chafa
38
- echo "📥 Installing fortune - random wisdom generator..."
39
- echo "📥 Installing figlet - ASCII art text generator..."
40
- echo "📥 Installing cowsay - ASCII cow speech generator..."
41
- echo "📥 Installing lolcat - colorized text output..."
42
- echo "📥 Installing chafa - terminal image viewer..."
43
- brew install fortune || true
44
- brew install figlet || true
45
- brew install cowsay || true
46
- brew install lolcat || true
47
- brew install chafa || true
48
-
49
- # --GROUP:NetworkTools: sshfs,nfs-utils
50
- echo "📥 Installing SSHFS - mount remote filesystems over SSH..."
51
- echo "📥 Installing NFS utilities..."
52
- brew install sshfs || true
53
- brew install nfs-utils || true
54
-
55
- # --GROUP:DEV_SYSTEM: graphviz,make,rust,sqlite3,postgresql-client,redis-tools,ffmpeg
56
- echo "📥 Installing Graphviz - graph visualization software..."
57
- echo "📥 Installing make - build automation tool..."
58
- echo "📥 Installing FFmpeg - multimedia framework..."
59
- echo "📥 Installing SSL/TLS development libraries..."
60
- echo "📥 Installing Rust programming language and toolchain..."
61
- brew install graphviz || true
62
- brew install make || true
63
- brew install ffmpeg || true
64
- brew install openssl || true
65
-
66
- # Install Rust if not already installed
67
- if ! command -v rustc &> /dev/null; then
68
- echo "📥 Installing Rust..."
69
- curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y || true
70
- fi
71
-
72
-
73
-
@@ -1,62 +0,0 @@
1
-
2
- # to get exact version of an app in winget, head to: https://winget.run
3
-
4
- # --GROUP:ESSENTIAL_SYSTEM:WT+Brave+VSCode+WezTerm+OhMyPosh+Powershell+Starship+Git+Neovim+GNU Nano+Terminal-Icons+PSFzf
5
- winget install --no-upgrade --name "Windows Terminal" --Id "Microsoft.WindowsTerminal" --source winget --scope user --accept-package-agreements --accept-source-agreements # Terminal is is installed by default on W 11
6
- winget install --no-upgrade --name "Brave" --Id "Brave.Brave" --source winget --scope user --accept-package-agreements --accept-source-agreements
7
- winget install --no-upgrade --name "Microsoft Visual Studio Code" --Id "Microsoft.VisualStudioCode" --source winget --scope user --accept-package-agreements --accept-source-agreements
8
- winget install --no-upgrade --name "WezTerm" --Id "wez.wezterm" --source winget --scope user --accept-package-agreements --accept-source-agreements
9
- winget install --no-upgrade --name "Oh My Posh" --Id "JanDeDobbeleer.OhMyPosh" --source winget --scope user --accept-package-agreements --accept-source-agreements
10
- winget install --no-upgrade --name "Powershell" --Id "Microsoft.PowerShell" --source winget --scope user --accept-package-agreements --accept-source-agreements # powershell require admin
11
- winget install --no-upgrade --name "Git" --Id "Git.Git" --source winget --scope user --accept-package-agreements --accept-source-agreements
12
- winget install --no-upgrade --name "Neovim" --Id "Neovim.Neovim" --source winget --scope user --accept-package-agreements --accept-source-agreements
13
- winget install --no-upgrade --name "GNU Nano" --Id "GNU.Nano" --source winget --scope user --accept-package-agreements --accept-source-agreements
14
- # winget install --no-upgrade --Id "CoreyButler.NVMforWindows" --source winget --scope user --accept-package-agreements --accept-source-agreements
15
- # winget install --no-upgrade --name "Starship" --Id "Starship.Starship" --source winget --scope user --accept-package-agreements --accept-source-agreements
16
- Install-Module -Name Terminal-Icons -Repository PSGallery -Force -AcceptLicense -PassThru -Confirm # -RequiredVersion 2.5.10
17
- Install-Module -Name PSFzf -SkipPublisherCheck # -AcceptLicense -PassThru -Confirm # -RequiredVersion 2.5.10
18
-
19
-
20
- # --GROUP:DEV_SYSTEM:VSRedistrib+VSBuildTools+Codeblocks+GnuWin32: Make+GnuPG+graphviz+WinFsp+SSHFS-win+xming+Node.js+Rustup+Cloudflare+Cloudflare WARP+Microsoft Garage Mouse without Borders
21
- winget install --no-upgrade --name "VSRedistrib" --Id "Microsoft.VC++2015-2022Redist-x64" --source winget --scope user --accept-package-agreements --accept-source-agreements
22
- winget install --no-upgrade --name "VSBuildTools" --Id "Microsoft.VisualStudio.2022.BuildTools" --source winget --scope user --accept-package-agreements --accept-source-agreements
23
- winget install --no-upgrade --name "Codeblocks" --Id "Codeblocks.Codeblocks" --source winget --scope user --accept-package-agreements --accept-source-agreements # IDE for C/C++
24
- winget install --no-upgrade --name "GnuWin32: Make" --Id "GnuWin32.Make" --source winget --scope user --accept-package-agreements --accept-source-agreements # required for building some python packages with native extensions, like dlib
25
- winget install --no-upgrade --name "GnuPG" --Id "GnuPG.GnuPG" --source winget --scope user --accept-package-agreements --accept-source-agreements
26
- winget install --no-upgrade --name "graphviz" --Id "Graphviz.Graphviz" --source winget --scope user --accept-package-agreements --accept-source-agreements # required by pygraphviz. Used in Base.viz_object_hirarchy and Model.plot_model()
27
- winget install --no-upgrade --name "WinFsp" --Id "WinFsp.WinFsp" --source winget --scope user --accept-package-agreements --accept-source-agreements # mount remote filesystems and required by rclone
28
- winget install --no-upgrade --name "SSHFS-win" --Id "SSHFS-Win.SSHFS-Win" --source winget --scope user --accept-package-agreements --accept-source-agreements # mount remote filesystems # as per https://github.com/winfsp/sshfs-win
29
- winget install --no-upgrade --name "xming" --Id "xming.xming" --source winget --scope user --accept-package-agreements --accept-source-agreements # X11 server. you need this while using wsl with gui, otherwise plt.show() returns: ImportError: Cannot load backend 'TkAgg' which requires the 'tk' interactive framework, as 'headless' is currently running
30
- winget install --no-upgrade --name "Node.js" --Id "OpenJS.NodeJS" --source winget --scope user --accept-package-agreements --accept-source-agreements # ncessary for nvim plugins.
31
- winget install --no-upgrade --name "Rustup" --Id "Rustlang.Rustup" --source winget --scope user --accept-package-agreements --accept-source-agreements # rust compiler, necessary for some nvim plugins
32
- winget install --no-upgrade --name "Cloudflare" --Id "Cloudflare.cloudflared" --source winget --scope user --accept-package-agreements --accept-source-agreements # cloudflare tunnel client, alternative to ngrok
33
- winget install --no-upgrade --name "Cloudflare WARP" --Id "Cloudflare.Warp" --source winget --scope user --accept-package-agreements --accept-source-agreements
34
- winget install --no-upgrade --name "Microsoft Garage Mouse without Borders" --Id "Microsoft.MouseWithoutBorders" --source winget --scope user --accept-package-agreements --accept-source-agreements
35
-
36
-
37
- # --GROUP:OTHER_WINDOWS:nu+Chrome+ChromeRemoteDesktop+Zoom+7zip+Firefox+Thunderbird+StreamlabsOBS+OBSStudio+MiKTeX+TexMaker+notepad+++Lapce+TesseractOCR+perl+DB Browser for SQLite+sql server management studio+Adobe Acrobat Reader DC+julia+Chafa+bottom+onefetch+Just+hyperfine+AWS CLI
38
- winget install --no-upgrade --name "nu" --Id "Nushell.Nushell" --source winget --scope user --accept-package-agreements --accept-source-agreements # add to userpath C:\Program Files\nu\bin, done in symlinks
39
- winget install --no-upgrade --name "Google Chrome" --Id "Google.Chrome" --source winget --scope user --accept-package-agreements --accept-source-agreements
40
- winget install --no-upgrade --name "Chrome Remote Desktop Host" --Id "Google.ChromeRemoteDesktop" --source winget --scope user --accept-package-agreements --accept-source-agreements
41
- winget install --no-upgrade --name "Zoom" --Id "Zoom.Zoom" --source winget --scope user --accept-package-agreements --accept-source-agreements
42
- winget install --no-upgrade --name "7-zip" --Id "7zip.7zip" --source winget --scope user --accept-package-agreements --accept-source-agreements
43
- winget install --no-upgrade --name "Mozilla Firefox" --Id "Mozilla.Firefox" --source winget --scope user --accept-package-agreements --accept-source-agreements
44
- winget install --no-upgrade --name "Mozilla Thunderbird (en-US)" --Id "Mozilla.Thunderbird" --source winget --scope user --accept-package-agreements --accept-source-agreements
45
- winget install --no-upgrade --name "StreamlabsOBS" --Id "Streamlabs.StreamlabsOBS" --source winget --scope user --accept-package-agreements --accept-source-agreements
46
- winget install --no-upgrade --name "OBSStudio" --Id "OBSProject.OBSStudio" --source winget --scope user --accept-package-agreements --accept-source-agreements
47
- winget install --no-upgrade --name "MiKTeX" --Id "MiKTeX.MiKTeX" --source winget --scope user # library / lanugage
48
- winget install --no-upgrade --name "TexMaker" --Id "Texmaker.Texmaker" --source winget --scope user # IDE better than simple TexWorks shipped with MikTex. IDE is basically GUI for cmd interface of Tex
49
- winget install --no-upgrade --name "notepad++" --Id "Notepad++.Notepad++" --source winget --scope user --accept-package-agreements --accept-source-agreements
50
- winget install --no-upgrade --name "Lapce" --Id "Lapce.Lapce" --source winget --scope user --accept-package-agreements --accept-source-agreements
51
- winget install --no-upgrade --name "TesseractOCR" --Id "UB-Mannheim.TesseractOCR" --source winget --scope user --accept-package-agreements --accept-source-agreements
52
- winget install --no-upgrade --name "perl" --Id "StrawbgnogerryPerl.StrawberryPerl" --source winget --scope user --accept-package-agreements --accept-source-agreements
53
- winget install --no-upgrade --name "DB Browser for SQLite" --Id "DBBrowserForSQLite.DBBrowserForSQLite" --source winget --scope user --accept-package-agreements --accept-source-agreements
54
- winget install --no-upgrade --name "sql server management studio" --Id "Microsoft.SQLServerManagementStudio" --source winget --scope user --accept-package-agreements --accept-source-agreements
55
- winget install --no-upgrade --name "Adobe Acrobat Reader DC" --Id "Adobe.Acrobat.Reader.64-bit" --source winget --scope user --accept-package-agreements --accept-source-agreements
56
- winget install --no-upgrade --name "julia" --Id "Julialang.Julia" --source winget --scope user --accept-package-agreements --accept-source-agreements
57
- winget install --no-upgrade --name "Chafa" --Id "hpjansson.Chafa" --source winget --scope user --accept-package-agreements --accept-source-agreements
58
- winget install --no-upgrade --name "bottom" --Id "Clement.bottom" --source winget --scope user --accept-package-agreements --accept-source-agreements
59
- winget install --no-upgrade --name "onefetch" --Id "o2sh.onefetch" --source winget --scope user # repo-version of system fastfetch, see also tokei
60
- winget install --no-upgrade --name "Just" --Id "Casey.Just" --source winget --scope user # commandline runner
61
- winget install --no-upgrade --name "hyperfine" --Id "sharkdp.hyperfine" --source winget --scope user # benchmarking tool
62
- winget install --no-upgrade --name "AWS Command Line Interface" --Id "Amazon.AWSCLI" --source winget --scope user --accept-package-agreements --accept-source-agreements