machineconfig 8.12__py3-none-any.whl → 8.45__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 (273) hide show
  1. machineconfig/cluster/remote/run_cluster.py +1 -1
  2. machineconfig/cluster/remote/run_remote.py +1 -1
  3. machineconfig/cluster/sessions_managers/utils/maker.py +10 -8
  4. machineconfig/cluster/sessions_managers/wt_local.py +1 -1
  5. machineconfig/cluster/sessions_managers/wt_local_manager.py +1 -1
  6. machineconfig/cluster/sessions_managers/zellij_local.py +1 -1
  7. machineconfig/cluster/sessions_managers/zellij_local_manager.py +1 -1
  8. machineconfig/jobs/installer/checks/check_installations.py +133 -0
  9. machineconfig/jobs/installer/checks/install_utils.py +132 -0
  10. machineconfig/jobs/installer/checks/report_utils.py +39 -0
  11. machineconfig/jobs/installer/checks/vt_utils.py +89 -0
  12. machineconfig/jobs/installer/installer_data.json +225 -140
  13. machineconfig/jobs/installer/linux_scripts/docker.sh +6 -9
  14. machineconfig/jobs/installer/package_groups.py +10 -9
  15. machineconfig/jobs/installer/python_scripts/boxes.py +1 -2
  16. machineconfig/jobs/installer/python_scripts/code.py +10 -8
  17. machineconfig/jobs/installer/python_scripts/hx.py +30 -13
  18. machineconfig/jobs/installer/python_scripts/nerfont_windows_helper.py +6 -5
  19. machineconfig/jobs/installer/python_scripts/sysabc.py +25 -19
  20. machineconfig/jobs/installer/python_scripts/yazi.py +33 -17
  21. machineconfig/jobs/scripts/powershell_scripts/cmatrix.ps1 +52 -0
  22. machineconfig/jobs/scripts/powershell_scripts/mount_ssh.ps1 +1 -1
  23. machineconfig/jobs/scripts_dynamic/a.py +413 -10
  24. machineconfig/profile/create_links.py +77 -20
  25. machineconfig/profile/create_links_export.py +40 -51
  26. machineconfig/profile/mapper_data.toml +30 -0
  27. machineconfig/profile/mapper_dotfiles.toml +253 -0
  28. machineconfig/scripts/python/agents.py +70 -172
  29. machineconfig/scripts/python/ai/initai.py +3 -1
  30. machineconfig/scripts/python/ai/scripts/__init__.py +1 -0
  31. machineconfig/scripts/python/ai/scripts/lint_and_type_check.ps1 +2 -0
  32. machineconfig/scripts/python/ai/scripts/lint_and_type_check.sh +7 -5
  33. machineconfig/scripts/python/ai/solutions/claude/claude.py +1 -1
  34. machineconfig/scripts/python/ai/solutions/cline/cline.py +1 -1
  35. machineconfig/scripts/python/ai/solutions/copilot/github_copilot.py +1 -1
  36. machineconfig/scripts/python/ai/solutions/copilot/instructions/python/dev.instructions.md +29 -0
  37. machineconfig/scripts/python/ai/solutions/crush/crush.py +1 -1
  38. machineconfig/scripts/python/ai/solutions/cursor/cursors.py +1 -1
  39. machineconfig/scripts/python/ai/solutions/gemini/gemini.py +1 -1
  40. machineconfig/scripts/python/ai/solutions/gemini/settings.json +3 -0
  41. machineconfig/scripts/python/ai/{solutions → utils}/generic.py +2 -15
  42. machineconfig/scripts/python/ai/utils/vscode_tasks.py +6 -3
  43. machineconfig/scripts/python/cloud.py +58 -11
  44. machineconfig/scripts/python/croshell.py +4 -156
  45. machineconfig/scripts/python/devops.py +57 -40
  46. machineconfig/scripts/python/devops_navigator.py +17 -3
  47. machineconfig/scripts/python/fire_jobs.py +8 -207
  48. machineconfig/scripts/python/ftpx.py +5 -225
  49. machineconfig/scripts/python/graph/cli_graph.json +8743 -0
  50. machineconfig/scripts/python/{env_manager → helper_env}/path_manager_tui.py +2 -2
  51. machineconfig/scripts/python/{env_manager → helpers/helper_env}/env_manager_tui.py +1 -1
  52. machineconfig/scripts/python/helpers/helper_env/path_manager_tui.py +228 -0
  53. machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/agentic_frameworks/fire_crush.py +1 -1
  54. machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/agentic_frameworks/fire_cursor_agents.py +1 -1
  55. machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/agentic_frameworks/fire_gemini.py +1 -1
  56. machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/agentic_frameworks/fire_qwen.py +1 -1
  57. machineconfig/scripts/python/helpers/helpers_agents/agents_impl.py +168 -0
  58. machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/fire_agents_help_launch.py +5 -5
  59. machineconfig/scripts/python/{helpers_cloud → helpers/helpers_cloud}/cloud_copy.py +6 -6
  60. machineconfig/scripts/python/{helpers_cloud → helpers/helpers_cloud}/cloud_mount.py +10 -5
  61. machineconfig/scripts/python/{helpers_cloud → helpers/helpers_cloud}/cloud_sync.py +3 -3
  62. machineconfig/scripts/python/{helpers_cloud → helpers/helpers_cloud}/helpers2.py +1 -1
  63. machineconfig/scripts/python/helpers/helpers_croshell/croshell_impl.py +225 -0
  64. machineconfig/scripts/python/{helpers_croshell → helpers/helpers_croshell}/scheduler.py +4 -4
  65. machineconfig/scripts/python/{helpers_croshell → helpers/helpers_croshell}/start_slidev.py +7 -6
  66. machineconfig/scripts/python/helpers/helpers_devops/backup_config.py +149 -0
  67. machineconfig/scripts/python/helpers/helpers_devops/cli_backup_retrieve.py +267 -0
  68. machineconfig/scripts/python/helpers/helpers_devops/cli_config.py +98 -0
  69. machineconfig/scripts/python/helpers/helpers_devops/cli_config_dotfile.py +274 -0
  70. machineconfig/scripts/python/helpers/helpers_devops/cli_data.py +76 -0
  71. machineconfig/scripts/python/{helpers_devops → helpers/helpers_devops}/cli_nw.py +52 -72
  72. machineconfig/scripts/python/helpers/helpers_devops/cli_repos.py +265 -0
  73. machineconfig/scripts/python/{helpers_devops → helpers/helpers_devops}/cli_self.py +45 -21
  74. machineconfig/scripts/python/{helpers_devops → helpers/helpers_devops}/cli_share_file.py +44 -30
  75. machineconfig/scripts/python/{helpers_devops → helpers/helpers_devops}/cli_share_server.py +26 -43
  76. machineconfig/scripts/python/{helpers_devops → helpers/helpers_devops}/cli_share_terminal.py +12 -6
  77. machineconfig/scripts/python/helpers/helpers_devops/cli_ssh.py +167 -0
  78. machineconfig/scripts/python/{helpers_devops → helpers/helpers_devops}/devops_status.py +12 -6
  79. machineconfig/scripts/python/{helpers_devops → helpers/helpers_devops}/devops_update_repos.py +1 -1
  80. machineconfig/scripts/python/{interactive.py → helpers/helpers_devops/interactive.py} +69 -45
  81. machineconfig/scripts/python/helpers/helpers_devops/run_script.py +197 -0
  82. machineconfig/scripts/python/helpers/helpers_devops/themes/choose_starship_theme.ps1 +41 -0
  83. machineconfig/scripts/python/helpers/helpers_devops/themes/choose_starship_theme.sh +48 -0
  84. machineconfig/scripts/python/{helpers_devops → helpers/helpers_devops}/themes/choose_wezterm_theme.py +3 -3
  85. machineconfig/scripts/python/helpers/helpers_fire_command/fire_jobs_impl.py +233 -0
  86. machineconfig/scripts/python/{helpers_fire_command → helpers/helpers_fire_command}/fire_jobs_route_helper.py +3 -3
  87. machineconfig/scripts/python/helpers/helpers_msearch/msearch_impl.py +248 -0
  88. machineconfig/scripts/python/{helpers_msearch → helpers/helpers_msearch}/scripts_linux/fzfg +4 -3
  89. machineconfig/scripts/python/helpers/helpers_msearch/scripts_linux/search_with_context.sh +48 -0
  90. machineconfig/scripts/python/{helpers_msearch → helpers/helpers_msearch}/scripts_windows/fzfg.ps1 +1 -1
  91. machineconfig/scripts/python/helpers/helpers_navigator/__init__.py +20 -0
  92. machineconfig/scripts/python/helpers/helpers_navigator/cli_graph_loader.py +234 -0
  93. machineconfig/scripts/python/{helpers_navigator → helpers/helpers_navigator}/command_builder.py +61 -13
  94. machineconfig/scripts/python/helpers/helpers_navigator/command_detail.py +153 -0
  95. machineconfig/scripts/python/helpers/helpers_navigator/command_tree.py +45 -0
  96. machineconfig/scripts/python/{helpers_navigator → helpers/helpers_navigator}/data_models.py +18 -11
  97. machineconfig/scripts/python/{helpers_navigator → helpers/helpers_navigator}/main_app.py +5 -5
  98. machineconfig/scripts/python/helpers/helpers_network/__init__.py +0 -0
  99. machineconfig/scripts/python/{helpers_network → helpers/helpers_network}/address.py +15 -17
  100. machineconfig/scripts/python/{helpers_network → helpers/helpers_network}/address_switch.py +1 -1
  101. machineconfig/scripts/python/helpers/helpers_network/ftpx_impl.py +276 -0
  102. machineconfig/scripts/python/{helpers_network → helpers/helpers_network}/mount_ssh.py +2 -2
  103. machineconfig/scripts/python/helpers/helpers_network/ssh_add_identity.py +73 -0
  104. machineconfig/scripts/python/helpers/helpers_network/ssh_add_ssh_key.py +175 -0
  105. machineconfig/scripts/python/helpers/helpers_network/ssh_debug_linux.py +319 -0
  106. machineconfig/scripts/python/helpers/helpers_network/ssh_debug_windows.py +275 -0
  107. machineconfig/scripts/python/{helpers_repos → helpers/helpers_repos}/action.py +3 -3
  108. machineconfig/scripts/python/{helpers_repos → helpers/helpers_repos}/action_helper.py +3 -3
  109. machineconfig/scripts/python/{helpers_repos → helpers/helpers_repos}/cloud_repo_sync.py +116 -33
  110. machineconfig/scripts/python/{helpers_repos → helpers/helpers_repos}/grource.py +3 -2
  111. machineconfig/scripts/python/{helpers_repos → helpers/helpers_repos}/record.py +33 -13
  112. machineconfig/scripts/python/{helpers_repos → helpers/helpers_repos}/repo_analyzer_2.py +63 -19
  113. machineconfig/scripts/python/{helpers_repos → helpers/helpers_repos}/update.py +0 -6
  114. machineconfig/scripts/python/helpers/helpers_search/script_help.py +81 -0
  115. machineconfig/scripts/python/helpers/helpers_sessions/__init__.py +0 -0
  116. machineconfig/scripts/python/helpers/helpers_sessions/sessions_impl.py +177 -0
  117. machineconfig/scripts/python/{helpers_sessions → helpers/helpers_sessions}/sessions_multiprocess.py +1 -1
  118. machineconfig/scripts/python/helpers/helpers_terminal/__init__.py +0 -0
  119. machineconfig/scripts/python/helpers/helpers_terminal/terminal_impl.py +96 -0
  120. machineconfig/scripts/python/{helpers_utils → helpers/helpers_utils}/download.py +1 -1
  121. machineconfig/scripts/python/{helpers_utils → helpers/helpers_utils}/python.py +49 -29
  122. machineconfig/scripts/python/helpers/helpers_utils/specs.py +246 -0
  123. machineconfig/scripts/python/mcfg_entry.py +133 -48
  124. machineconfig/scripts/python/msearch.py +15 -61
  125. machineconfig/scripts/python/sessions.py +59 -194
  126. machineconfig/scripts/python/terminal.py +18 -96
  127. machineconfig/scripts/python/utils.py +101 -20
  128. machineconfig/settings/atuin/config.toml +294 -0
  129. machineconfig/settings/atuin/themes/catppuccin-mocha-mauve.toml +12 -0
  130. machineconfig/settings/linters/.ruff.toml +1 -0
  131. machineconfig/settings/mprocs/windows/mprocs.yaml +2 -2
  132. machineconfig/settings/shells/bash/init.sh +6 -3
  133. machineconfig/settings/shells/pwsh/init.ps1 +69 -1
  134. machineconfig/settings/shells/pwsh/search_pwsh_history.ps1 +99 -0
  135. machineconfig/settings/shells/wezterm/wezterm.lua +4 -1
  136. machineconfig/settings/shells/wt/settings.json +20 -7
  137. machineconfig/settings/shells/zsh/init.sh +34 -4
  138. machineconfig/settings/television/cable_unix/bash-history.toml +1 -1
  139. machineconfig/settings/television/cable_windows/pwsh-history.toml +1 -1
  140. machineconfig/settings/tv/config.toml +234 -0
  141. machineconfig/settings/tv/themes/catppuccin-mocha-sky.toml +22 -0
  142. machineconfig/settings/wsl/.wslconfig +5 -30
  143. machineconfig/settings/yazi/yazi_linux.toml +18 -8
  144. machineconfig/settings/zellij/layouts/st.kdl +2 -2
  145. machineconfig/settings/zellij/layouts/st2.kdl +1 -1
  146. machineconfig/setup_linux/web_shortcuts/interactive.sh +10 -10
  147. machineconfig/setup_linux/web_shortcuts/live_from_github.sh +3 -0
  148. machineconfig/setup_mac/__init__.py +0 -2
  149. machineconfig/setup_windows/__init__.py +0 -1
  150. machineconfig/setup_windows/web_shortcuts/interactive.ps1 +14 -13
  151. machineconfig/setup_windows/web_shortcuts/live_from_github.ps1 +4 -3
  152. machineconfig/setup_windows/web_shortcuts/quick_init.ps1 +3 -3
  153. machineconfig/type_hinting/sql/__init__.py +1 -0
  154. machineconfig/type_hinting/sql/base.py +216 -0
  155. machineconfig/type_hinting/sql/core_schema.py +64 -0
  156. machineconfig/type_hinting/sql/core_schema_typeddict.py +41 -0
  157. machineconfig/type_hinting/sql/typeddict_codegen.py +222 -0
  158. machineconfig/type_hinting/typedict/__init__.py +1 -0
  159. machineconfig/type_hinting/typedict/ast_utils.py +130 -0
  160. machineconfig/type_hinting/typedict/generator_helpers.py +319 -0
  161. machineconfig/type_hinting/typedict/generators.py +231 -0
  162. machineconfig/type_hinting/typedict/polars_schema.py +24 -0
  163. machineconfig/type_hinting/typedict/polars_schema_typeddict.py +63 -0
  164. machineconfig/utils/accessories.py +24 -0
  165. machineconfig/utils/code.py +79 -37
  166. machineconfig/utils/files/ascii_art.py +10 -14
  167. machineconfig/utils/files/headers.py +3 -5
  168. machineconfig/utils/files/read.py +8 -1
  169. machineconfig/utils/installer_utils/github_release_bulk.py +1 -0
  170. machineconfig/utils/installer_utils/install_from_url.py +1 -1
  171. machineconfig/utils/installer_utils/installer_class.py +12 -4
  172. machineconfig/utils/installer_utils/installer_cli.py +1 -15
  173. machineconfig/utils/installer_utils/installer_helper.py +2 -2
  174. machineconfig/utils/installer_utils/installer_locator_utils.py +13 -13
  175. machineconfig/utils/installer_utils/installer_runner.py +4 -4
  176. machineconfig/utils/meta.py +6 -4
  177. machineconfig/utils/options.py +49 -19
  178. machineconfig/utils/options_utils/__init__.py +0 -0
  179. machineconfig/utils/options_utils/options_tv_linux.py +211 -0
  180. machineconfig/utils/options_utils/options_tv_windows.py +88 -0
  181. machineconfig/utils/options_utils/tv_options.py +37 -0
  182. machineconfig/utils/path_extended.py +6 -6
  183. machineconfig/utils/scheduler.py +8 -2
  184. machineconfig/utils/schemas/fire_agents/fire_agents_input.py +1 -1
  185. machineconfig/utils/source_of_truth.py +6 -1
  186. machineconfig/utils/ssh.py +73 -22
  187. machineconfig/utils/ssh_utils/abc.py +1 -1
  188. machineconfig/utils/ssh_utils/copy_from_here.py +2 -2
  189. machineconfig/utils/ssh_utils/utils.py +2 -2
  190. machineconfig/utils/ssh_utils/wsl.py +107 -170
  191. machineconfig/utils/ssh_utils/wsl_helper.py +217 -0
  192. machineconfig/utils/upgrade_packages.py +4 -8
  193. {machineconfig-8.12.dist-info → machineconfig-8.45.dist-info}/METADATA +29 -22
  194. {machineconfig-8.12.dist-info → machineconfig-8.45.dist-info}/RECORD +249 -211
  195. machineconfig/jobs/installer/check_installations.py +0 -248
  196. machineconfig/jobs/scripts/bash_scripts/mint_keyboard_shortcuts.sh +0 -30
  197. machineconfig/profile/backup.toml +0 -49
  198. machineconfig/profile/mapper.toml +0 -263
  199. machineconfig/scripts/python/helpers_devops/cli_config.py +0 -105
  200. machineconfig/scripts/python/helpers_devops/cli_config_dotfile.py +0 -89
  201. machineconfig/scripts/python/helpers_devops/cli_data.py +0 -25
  202. machineconfig/scripts/python/helpers_devops/cli_repos.py +0 -208
  203. machineconfig/scripts/python/helpers_devops/devops_backup_retrieve.py +0 -80
  204. machineconfig/scripts/python/helpers_devops/run_script.py +0 -168
  205. machineconfig/scripts/python/helpers_devops/themes/choose_starship_theme.bash +0 -3
  206. machineconfig/scripts/python/helpers_navigator/__init__.py +0 -20
  207. machineconfig/scripts/python/helpers_navigator/command_detail.py +0 -44
  208. machineconfig/scripts/python/helpers_navigator/command_tree.py +0 -620
  209. machineconfig/scripts/python/helpers_network/ssh_add_identity.py +0 -116
  210. machineconfig/scripts/python/helpers_network/ssh_add_ssh_key.py +0 -153
  211. machineconfig/scripts/python/helpers_network/ssh_debug_linux.py +0 -391
  212. machineconfig/scripts/python/helpers_network/ssh_debug_windows.py +0 -338
  213. machineconfig/scripts/python/helpers_repos/entrypoint.py +0 -77
  214. machineconfig/setup_mac/ssh/openssh_setup.sh +0 -114
  215. machineconfig/setup_windows/ssh/add-sshkey.ps1 +0 -29
  216. machineconfig/setup_windows/ssh/openssh-server.ps1 +0 -37
  217. machineconfig/utils/options_tv.py +0 -119
  218. machineconfig/utils/tst.py +0 -20
  219. /machineconfig/{scripts/python/helpers_agents → jobs/installer/checks}/__init__.py +0 -0
  220. /machineconfig/scripts/python/ai/{solutions/_shared.py → utils/shared.py} +0 -0
  221. /machineconfig/scripts/python/{helpers_agents/agentic_frameworks → graph}/__init__.py +0 -0
  222. /machineconfig/scripts/python/{helpers_cloud → helpers}/__init__.py +0 -0
  223. /machineconfig/scripts/python/{env_manager → helpers/helper_env}/__init__.py +0 -0
  224. /machineconfig/scripts/python/{env_manager → helpers/helper_env}/path_manager_backend.py +0 -0
  225. /machineconfig/scripts/python/{helpers_croshell → helpers/helpers_agents}/__init__.py +0 -0
  226. /machineconfig/scripts/python/{helpers_devops → helpers/helpers_agents/agentic_frameworks}/__init__.py +0 -0
  227. /machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/agentic_frameworks/fire_crush.json +0 -0
  228. /machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/fire_agents_help_search.py +0 -0
  229. /machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/fire_agents_helper_types.py +0 -0
  230. /machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/fire_agents_load_balancer.py +0 -0
  231. /machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/privacy/configs/aichat/config.yaml +0 -0
  232. /machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/privacy/configs/aider/.aider.conf.yml +0 -0
  233. /machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/privacy/configs/copilot/config.yml +0 -0
  234. /machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/privacy/configs/crush/crush.json +0 -0
  235. /machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/privacy/configs/gemini/settings.json +0 -0
  236. /machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/privacy/privacy.py +0 -0
  237. /machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/templates/prompt.txt +0 -0
  238. /machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/templates/template.ps1 +0 -0
  239. /machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/templates/template.sh +0 -0
  240. /machineconfig/scripts/python/{helpers_devops/themes → helpers/helpers_cloud}/__init__.py +0 -0
  241. /machineconfig/scripts/python/{helpers_cloud → helpers/helpers_cloud}/cloud_helpers.py +0 -0
  242. /machineconfig/scripts/python/{helpers_cloud → helpers/helpers_cloud}/helpers5.py +0 -0
  243. /machineconfig/scripts/python/{helpers_fire_command → helpers/helpers_croshell}/__init__.py +0 -0
  244. /machineconfig/scripts/python/{helpers_croshell → helpers/helpers_croshell}/crosh.py +0 -0
  245. /machineconfig/scripts/python/{helpers_croshell → helpers/helpers_croshell}/pomodoro.py +0 -0
  246. /machineconfig/scripts/python/{helpers_croshell → helpers/helpers_croshell}/viewer.py +0 -0
  247. /machineconfig/scripts/python/{helpers_croshell → helpers/helpers_croshell}/viewer_template.py +0 -0
  248. /machineconfig/scripts/python/{helpers_network → helpers/helpers_devops}/__init__.py +0 -0
  249. /machineconfig/scripts/python/{helpers_sessions → helpers/helpers_devops/themes}/__init__.py +0 -0
  250. /machineconfig/scripts/python/{helpers_devops → helpers/helpers_devops}/themes/choose_pwsh_theme.ps1 +0 -0
  251. /machineconfig/scripts/python/{helpers_devops/themes/choose_starship_theme.ps1 → helpers/helpers_fire_command/__init__.py} +0 -0
  252. /machineconfig/scripts/python/{helpers_fire_command → helpers/helpers_fire_command}/cloud_manager.py +0 -0
  253. /machineconfig/scripts/python/{helpers_fire_command → helpers/helpers_fire_command}/f.py +0 -0
  254. /machineconfig/scripts/python/{helpers_fire_command → helpers/helpers_fire_command}/file_wrangler.py +0 -0
  255. /machineconfig/scripts/python/{helpers_fire_command → helpers/helpers_fire_command}/fire_jobs_args_helper.py +0 -0
  256. /machineconfig/scripts/python/{helpers_fire_command → helpers/helpers_fire_command}/fire_jobs_streamlit_helper.py +0 -0
  257. /machineconfig/scripts/python/{helpers_msearch → helpers/helpers_msearch}/__init__.py +0 -0
  258. /machineconfig/scripts/python/{helpers_navigator → helpers/helpers_navigator}/search_bar.py +0 -0
  259. /machineconfig/scripts/python/{helpers_network → helpers/helpers_network}/mount_nfs.py +0 -0
  260. /machineconfig/scripts/python/{helpers_network → helpers/helpers_network}/mount_nw_drive.py +0 -0
  261. /machineconfig/scripts/python/{helpers_network → helpers/helpers_network}/onetimeshare.py +0 -0
  262. /machineconfig/scripts/python/{helpers_network → helpers/helpers_network}/wifi_conn.py +0 -0
  263. /machineconfig/scripts/python/{helpers_repos → helpers/helpers_repos}/clone.py +0 -0
  264. /machineconfig/scripts/python/{helpers_repos → helpers/helpers_repos}/repo_analyzer_1.py +0 -0
  265. /machineconfig/scripts/python/{helpers_repos → helpers/helpers_repos}/sync.py +0 -0
  266. /machineconfig/scripts/python/helpers/{ast_search.py → helpers_search/ast_search.py} +0 -0
  267. /machineconfig/scripts/python/helpers/{qr_code.py → helpers_search/qr_code.py} +0 -0
  268. /machineconfig/scripts/python/helpers/{repo_rag.py → helpers_search/repo_rag.py} +0 -0
  269. /machineconfig/scripts/python/helpers/{symantic_search.py → helpers_search/symantic_search.py} +0 -0
  270. /machineconfig/scripts/python/{helpers_utils → helpers/helpers_utils}/pdf.py +0 -0
  271. {machineconfig-8.12.dist-info → machineconfig-8.45.dist-info}/WHEEL +0 -0
  272. {machineconfig-8.12.dist-info → machineconfig-8.45.dist-info}/entry_points.txt +0 -0
  273. {machineconfig-8.12.dist-info → machineconfig-8.45.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,7 @@
1
1
 
2
2
  import typer
3
- from typing import Optional, Literal, Annotated, TypeAlias
3
+ from typing import Literal, Annotated, Optional, TypeAlias
4
+
4
5
 
5
6
  ON_CONFLICT_LOOSE: TypeAlias = Literal[
6
7
  "throw-error", "t",
@@ -10,6 +11,8 @@ ON_CONFLICT_LOOSE: TypeAlias = Literal[
10
11
  "backup-default-path", "bd"
11
12
  ]
12
13
  ON_CONFLICT_STRICT: TypeAlias = Literal["throw-error", "overwrite-self-managed", "backup-self-managed", "overwrite-default-path", "backup-default-path"]
14
+ SENSITIVITY_LOOSE: TypeAlias = Literal["private", "p", "public", "b", "all", "a"]
15
+ REPO_LOOSE: TypeAlias = Literal["library", "l", "user", "u", "all", "a"]
13
16
  ON_CONFLICT_MAPPER: dict[str, ON_CONFLICT_STRICT] = {
14
17
  "t": "throw-error",
15
18
  "os": "overwrite-self-managed",
@@ -24,72 +27,57 @@ ON_CONFLICT_MAPPER: dict[str, ON_CONFLICT_STRICT] = {
24
27
  }
25
28
 
26
29
 
27
- def main_public_from_parser(method: Annotated[Literal["symlink", "s", "copy", "c"], typer.Option(..., "--method", "-m", help="Method to use for setting up the config file.")],
28
- on_conflict: Annotated[ON_CONFLICT_LOOSE, typer.Option(..., "--on-conflict", "-o", help="Action to take on conflict")] = "throw-error",
29
- which: Annotated[Optional[str], typer.Option(..., "--which", "-w", help="Specific items to process")] = "all",
30
- interactive: Annotated[bool, typer.Option(..., "--interactive", "-i", help="Run in interactive mode")] = False):
30
+ def main_from_parser(
31
+ sensitivity: Annotated[SENSITIVITY_LOOSE, typer.Option(..., "--sensitivity", "-s", help="Sensitivity of the configuration files to manage.")],
32
+ method: Annotated[Literal["symlink", "s", "copy", "c"], typer.Option(..., "--method", "-m", help="Method to use for linking files")],
33
+ repo: Annotated[REPO_LOOSE, typer.Option(..., "--repo", "-r", help="Mapper source to use for config files.")] = "library",
34
+ on_conflict: Annotated[ON_CONFLICT_LOOSE, typer.Option(..., "--on-conflict", "-o", help="Action to take on conflict")] = "throw-error",
35
+ which: Annotated[Optional[str], typer.Option(..., "--which", "-w", help="Specific items to process ('all' for all items) (default is None, selection is interactive)")] = None,
36
+ ):
31
37
  """Terminology:
32
38
  SOURCE = Self-Managed-Config-File-Path
33
39
  TARGET = Config-File-Default-Path
34
- For public config files, the source always exists, because we know it comes from machineconfig repo."""
40
+ For public config files in the library repo, the source always exists."""
35
41
  from machineconfig.profile.create_links import ConfigMapper, read_mapper
36
- mapper_full = read_mapper()["public"]
42
+ repo_map: dict[REPO_LOOSE, Literal["library", "user", "all"]] = {
43
+ "library": "library",
44
+ "l": "library",
45
+ "user": "user",
46
+ "u": "user",
47
+ "a": "all",
48
+ "all": "all",
49
+ }
50
+ repo_key = repo_map[repo]
51
+ mapper_full_obj = read_mapper(repo=repo_key)
52
+ match sensitivity:
53
+ case "private" | "p":
54
+ mapper_full = mapper_full_obj["private"]
55
+ case "public" | "b":
56
+ mapper_full = mapper_full_obj["public"]
57
+ case "all" | "a":
58
+ mapper_full = {**mapper_full_obj["private"], **mapper_full_obj["public"]}
59
+
37
60
  if which is None:
38
- assert interactive is True
39
- from machineconfig.utils.options import choose_from_options
40
- items_chosen = choose_from_options(msg="Which symlink to create?", options=list(mapper_full.keys()), tv=True, multi=True)
61
+ from machineconfig.utils.options_utils.tv_options import choose_from_dict_with_preview
62
+ import pprint
63
+ options_with_preview: dict[str, str] = {key: pprint.pformat(value, width=88, sort_dicts=True) for key, value in mapper_full.items()}
64
+ items_chosen = choose_from_dict_with_preview(options_with_preview, extension="toml", multi=True, preview_size_percent=75.0)
41
65
  else:
42
- assert interactive is False
43
66
  if which == "all":
44
67
  items_chosen = list(mapper_full.keys())
45
68
  else:
46
69
  items_chosen = which.split(",")
47
70
  items_objections: dict[str, list[ConfigMapper]] = {item: mapper_full[item] for item in items_chosen if item in mapper_full}
48
71
  if len(items_objections) == 0:
49
- typer.echo("[red]Error:[/] No valid items selected.")
72
+ msg = typer.style("Error: ", fg=typer.colors.RED) + "No valid items selected."
73
+ typer.echo(msg)
50
74
  typer.Exit(code=1)
51
75
  return
52
- from machineconfig.profile.create_links import apply_mapper
53
- from machineconfig.profile.create_helper import copy_assets_to_machine
54
- copy_assets_to_machine(which="settings") # config files live here and will be linked to.
55
- method_map: dict[str, Literal["symlink", "copy"]] = {
56
- "s": "symlink",
57
- "symlink": "symlink",
58
- "c": "copy",
59
- "copy": "copy",
60
- }
61
- method = method_map[method]
62
- apply_mapper(mapper_data=items_objections, on_conflict=ON_CONFLICT_MAPPER[on_conflict], method=method)
63
76
 
77
+ if (sensitivity == "public" or sensitivity == "b") and repo_key == "library":
78
+ from machineconfig.profile.create_helper import copy_assets_to_machine
79
+ copy_assets_to_machine(which="settings") # config files live here and will be linked to.
64
80
 
65
- def main_private_from_parser(method: Annotated[Literal["symlink", "s", "copy", "c"], typer.Option(..., "--method", "-m", help="Method to use for linking files")],
66
- on_conflict: Annotated[ON_CONFLICT_LOOSE, typer.Option(..., "--on-conflict", "-o", help="Action to take on conflict")] = "throw-error",
67
- which: Annotated[Optional[str], typer.Option(..., "--which", "-w", help="Specific items to process")] = "all",
68
- interactive: Annotated[bool, typer.Option(..., "--interactive", "-i", help="Run in interactive mode")] = False):
69
- from machineconfig.profile.create_links import ConfigMapper, read_mapper
70
- mapper_full = read_mapper()["private"]
71
- if which is None:
72
- if interactive is False:
73
- typer.echo("[red]Error:[/] --which must be provided when not running in interactive mode.")
74
- typer.Exit(code=1)
75
- return
76
- from machineconfig.utils.options import choose_from_options
77
- items_chosen = choose_from_options(msg="Which symlink to create?", options=list(mapper_full.keys()), tv=True, multi=True)
78
- else:
79
- if interactive is True:
80
- typer.echo("[yellow]Warning:[/] --which is provided, but its not allowed to be used together with --interactive. Ignoring --interactive flag.")
81
- typer.Exit(code=0)
82
- return
83
- if which == "all":
84
- items_chosen = list(mapper_full.keys())
85
- else:
86
- items_chosen = which.split(",")
87
- items_objections: dict[str, list[ConfigMapper]] = {item: mapper_full[item] for item in items_chosen if item in mapper_full}
88
- if len(items_objections) == 0:
89
- typer.echo("[red]Error:[/] No valid items selected.")
90
- typer.Exit(code=1)
91
- return
92
- from machineconfig.profile.create_links import apply_mapper
93
81
  method_map: dict[str, Literal["symlink", "copy"]] = {
94
82
  "s": "symlink",
95
83
  "symlink": "symlink",
@@ -97,4 +85,5 @@ def main_private_from_parser(method: Annotated[Literal["symlink", "s", "copy", "
97
85
  "copy": "copy",
98
86
  }
99
87
  method = method_map[method]
88
+ from machineconfig.profile.create_links import apply_mapper
100
89
  apply_mapper(mapper_data=items_objections, on_conflict=ON_CONFLICT_MAPPER[on_conflict], method=method)
@@ -0,0 +1,30 @@
1
+
2
+ # locations to be backed up to the cloud.
3
+ # os can be 'windows', 'linux', 'darwin' or 'any' or comma separated values of the previous values.
4
+
5
+ [thunderbird]
6
+ windows_files = {path_local = '~/AppData/Roaming/Thunderbird/Profiles', path_cloud = '^', encrypt = true, zip = true, rel2home = true, os = 'windows'}
7
+ linux_files = {path_local = '~/.thunderbird', path_cloud = '^', encrypt = true, zip = true, rel2home = true, os = 'linux'}
8
+
9
+
10
+ [zoxide]
11
+ windows_db = {path_local = '~/AppData/Local/zoxide/db.zo', path_cloud = '^', encrypt = false, zip = false, rel2home = true, os = 'windows'}
12
+ linux_db = {path_local = '~/.local/share/zoxide/db.zo', path_cloud = '^', encrypt = false, zip = false, rel2home = true, os = 'linux'}
13
+
14
+
15
+ [atuin]
16
+ history = {path_local = '~/.local/share/atuin/history.db', path_cloud = '^', encrypt = true, zip = false, rel2home = true, os = 'any'}
17
+
18
+
19
+ [shell_history]
20
+ bash_history = {path_local = '~/.bash_history', path_cloud = '^', encrypt = true, zip = false, rel2home = true, os = 'linux'}
21
+ zsh_history = {path_local = '~/.zsh_history', path_cloud = '^', encrypt = true, zip = false, rel2home = true, os = 'darwin'}
22
+ pwsh_history = {path_local = '~/AppData/Roaming/Microsoft/Windows/PowerShell/PSReadLine/ConsoleHost_history.txt', path_cloud = '^', encrypt = true, zip = false, rel2home = true, os = 'windows'}
23
+
24
+
25
+ #[dotfiles]
26
+ # repo = {path_local = '~/dotfiles', path_cloud = '^', encrypt = true, zip = true, rel2home = true, os = 'any'}
27
+
28
+
29
+ [ipython]
30
+ profile = {path_local = '~/.ipython', path_cloud = '^', encrypt = true, zip = true, rel2home = true, os = 'any'}
@@ -0,0 +1,253 @@
1
+
2
+
3
+ # =================== PRIVATE ================================
4
+ # os can be 'windows', 'linux,macos', 'macos' or 'any'
5
+
6
+ [git]
7
+ gitconfig = {original = '~/.gitconfig', self_managed = '~/dotfiles/creds/git/.gitconfig', os = 'any'}
8
+ gitcred = {original = '~/.git-credentials', self_managed = '~/dotfiles/creds/git/.git-credentials', os = 'any'}
9
+
10
+ [ssh]
11
+ keys = {original = '~/.ssh', self_managed = '~/dotfiles/creds/.ssh', contents = true, os = 'any'}
12
+
13
+ [gpg]
14
+ keys = {original = '~/.gnupg', self_managed = '~/dotfiles/creds/.gnupg', contents = true, os = 'any'}
15
+
16
+ [pypi]
17
+ creds = {original = '~/.pypirc', self_managed = '~/dotfiles/creds/msc/.pypirc', os = 'any'}
18
+
19
+ [rclone]
20
+ config_xdg = {original = '~/.config/rclone/rclone.conf', self_managed = '~/dotfiles/creds/rclone/rclone.conf', os = 'linux,macos'}
21
+ config_windows = {original = '~/AppData/Roaming/rclone/rclone.conf', self_managed = '~/dotfiles/creds/rclone/rclone.conf', os = 'windows'}
22
+
23
+ [cloudflare]
24
+ config = {original = '~/.cloudflared', self_managed = '~/dotfiles/creds/cloudflare/.cloudflared', os = 'any'}
25
+
26
+ [ngrok]
27
+ config_linux = {original = '~/.config/ngrok/ngrok.yml', self_managed = '~/dotfiles/creds/tokens/ngrok.yml', os = 'linux,macos'}
28
+ config_windows = {original = '~/AppData/Local/ngrok/ngrok.yml', self_managed = '~/dotfiles/creds/tokens/ngrok.yml', os = 'windows'}
29
+
30
+ [m365]
31
+ config1 = {original = '~/.cli-m365-msal.json', self_managed = '~/dotfiles/creds/tokens/.cli-m365-msal.json', os = 'any'}
32
+ config2 = {original = '~/.cli-m365-all-connections.json', self_managed = '~/dotfiles/creds/tokens/.cli-m365-all-connections.json', os = 'any'}
33
+ config3 = {original = '~/.cli-m365-connection.json', self_managed = '~/dotfiles/creds/tokens/.cli-m365-connection.json', os = 'any'}
34
+ # config2 = {original = '~/.cli-m365-tokens.json', self_managed = '~/dotfiles/creds/tokens/.cli-m365-tokens.json'}
35
+
36
+ [remmina]
37
+ data = {original = '~/.var/app/org.remmina.Remmina/data/remmina', self_managed = '~/dotfiles/creds/RDP/remmina/data/remmina', os = 'any'}
38
+
39
+ [webapp_linux]
40
+ brave = {original = '~/.local/share/applications', self_managed = '~/dotfiles/config/webapps/linux/brave', contents = true, os = 'linux,macos'}
41
+
42
+ # [startup_windows]
43
+ # startup = {original = '~/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup', self_managed = '~/dotfiles/scripts/windows_startup', contents = true}
44
+
45
+ # [aws]
46
+ # config = {original = '~/.aws/config', self_managed = '~/dotfiles/aws/.aws', contents = true}
47
+
48
+ [wt_windows]
49
+ settings = { original = '~/AppData/Local/Packages/Microsoft.WindowsTerminal_8wekyb3d8bbwe/LocalState/settings.json', self_managed = 'CONFIG_ROOT/settings/shells/wt/settings.json' , os = 'windows'}
50
+
51
+
52
+ # =================== LLMs ============================
53
+
54
+ [chatgpt]
55
+ config = { original = '~/.config/chatgpt/config.json', self_managed = '~/dotfiles/creds/llm/chatgpt_cli/config.json' , os = 'any'}
56
+
57
+ [mods]
58
+ config = {original = '~/.config/mods/mods.yml', self_managed = '~/dotfiles/creds/llm/mods_cli/mods.yml', os = 'any'}
59
+
60
+ [github_cli_token]
61
+ token = {original = '~/.copilot-cli-access-token', self_managed = '~/dotfiles/creds/llm/github_cli/.copilot-cli-access-token', os = 'any'}
62
+
63
+ [aider]
64
+ config = {original = '~/.aider.conf.yml', self_managed = '~/dotfiles/creds/llm/aider/.aider.conf.yml', os = 'any'}
65
+
66
+ [marvin]
67
+ config = {original = '~/.marvin/.env', self_managed = '~/dotfiles/creds/llm/marvin/.env', os = 'any'}
68
+ threads = {original = '~/.marvin/cli/threads/default.json', self_managed = '~/dotfiles/creds/llm/marvin/threads/default.json', os = 'any'}
69
+
70
+ [docker]
71
+ config = {original = '~/.docker/config.json', self_managed = '~/dotfiles/creds/docker/config.json', os = 'any'}
72
+
73
+
74
+ # =========================== PUBLIC ======================================
75
+
76
+ [marimo]
77
+ config = {original = '~/.config/marimo/marimo.toml', self_managed = 'CONFIG_ROOT/settings/marimo/marimo.toml', os = 'any'}
78
+
79
+ [presenterm]
80
+ config = {original = '~/.config/presenterm/config.yaml', self_managed = 'CONFIG_ROOT/settings/presenterm/config.yaml', os = 'any'}
81
+
82
+ [keras]
83
+ config = {original = '~/.keras/keras.json', self_managed = 'CONFIG_ROOT/settings/keras/keras.json', os = 'any'}
84
+
85
+ # [streamlit]
86
+ # config = {original = '~/.streamlit/config.toml', self_managed = 'CONFIG_ROOT/settings/streamlit/config.toml'}
87
+
88
+ [procs]
89
+ config = {original = '~/.procs.toml', self_managed = 'CONFIG_ROOT/settings/procs/.procs.toml', os = 'any'}
90
+ config_again = {original = '~/.config/procs/config.toml', self_managed = 'CONFIG_ROOT/settings/procs/.procs.toml', os = 'any'}
91
+
92
+ [rofi_linux]
93
+ config = {original = '~/.config/rofi/config.rasi', self_managed = 'CONFIG_ROOT/settings/rofi/config.rasi', os = 'linux,macos'}
94
+
95
+ [yazi]
96
+ yazi_windows = {original = '~/AppData/Roaming/yazi/config/yazi.toml', self_managed = 'CONFIG_ROOT/settings/yazi/yazi_windows.toml', os = 'windows'}
97
+ keymap_windows = {original = '~/AppData/Roaming/yazi/config/keymap.toml', self_managed = 'CONFIG_ROOT/settings/yazi/keymap_windows.toml', os = 'windows'}
98
+ theme_windows = {original = '~/AppData/Roaming/yazi/config/theme.toml', self_managed = 'CONFIG_ROOT/settings/yazi/theme.toml', os = 'windows'}
99
+ init_windows = {original = '~/AppData/Roaming/yazi/config/init.lua', self_managed = 'CONFIG_ROOT/settings/yazi/init.lua', os = 'windows'}
100
+ yazi_linux = {original = '~/.config/yazi/yazi.toml', self_managed = 'CONFIG_ROOT/settings/yazi/yazi_linux.toml', os = 'linux,macos'}
101
+ keymap_linux = {original = '~/.config/yazi/keymap.toml', self_managed = 'CONFIG_ROOT/settings/yazi/keymap_linux.toml', os = 'linux,macos'}
102
+ theme_linux = {original = '~/.config/yazi/theme.toml', self_managed = 'CONFIG_ROOT/settings/yazi/theme.toml', os = 'linux,macos'}
103
+ init_linux = {original = '~/.config/yazi/init.lua', self_managed = 'CONFIG_ROOT/settings/yazi/init.lua', os = 'linux,macos'}
104
+ yazi_picker_linux = { original = '~/.config/helix/yazi-picker.sh', self_managed = 'CONFIG_ROOT/settings/helix/yazi-picker.sh' , os = 'linux,macos'}
105
+
106
+ [television]
107
+ cable_linux = {original = '~/.config/television/cable', self_managed = 'CONFIG_ROOT/settings/television/cable_unix', contents = true, os = 'linux,macos'}
108
+ cable_windows = {original = '~/AppData/Local/television/config/cable', self_managed = 'CONFIG_ROOT/settings/television/cable_windows', contents = true, os = 'windows'}
109
+
110
+ [tv]
111
+ config_linux = {original = '~/.config/television/config.toml', self_managed = 'CONFIG_ROOT/settings/tv/config.toml', os = 'linux,macos'}
112
+ themes_linux = {original = '~/.config/television/themes', self_managed = 'CONFIG_ROOT/settings/tv/themes', contents = true, os = 'linux,macos'}
113
+ config_windows = {original = '~/AppData/Local/television/config.toml', self_managed = 'CONFIG_ROOT/settings/tv/config.toml', os = 'windows'}
114
+ themes_windows = {original = '~/AppData/Local/television/themes', self_managed = 'CONFIG_ROOT/settings/tv/themes', contents = true, os = 'windows'}
115
+
116
+ [lf]
117
+ config_windows = {original = '~/AppData/Local/lf/lfrc', self_managed = 'CONFIG_ROOT/settings/lf/windows/lfrc', os = 'windows'}
118
+ colors_windows = {original = '~/AppData/Local/lf/colors', self_managed = 'CONFIG_ROOT/settings/lf/windows/colors', os = 'windows'}
119
+ icons_windows = {original = '~/AppData/Local/lf/icons', self_managed = 'CONFIG_ROOT/settings/lf/windows/icons', os = 'windows'}
120
+ config_linux = {original = '~/.config/lf/lfrc', self_managed = 'CONFIG_ROOT/settings/lf/linux/lfrc', os = 'linux,macos'}
121
+ colors_linux = {original = '~/.config/lf/colors', self_managed = 'CONFIG_ROOT/settings/lf/linux/colors', os = 'linux,macos'}
122
+ icons_linux = {original = '~/.config/lf/icons', self_managed = 'CONFIG_ROOT/settings/lf/linux/icons', os = 'linux,macos'}
123
+
124
+ [broot]
125
+ config = {original = '~/.config/broot/conf.toml', self_managed = 'CONFIG_ROOT/settings/broot/conf.toml', os = 'any'}
126
+
127
+ [pistol_linux]
128
+ config = {original = '~/.config/pistol/pistol.conf', self_managed = 'CONFIG_ROOT/settings/pistol/pistol.conf', os = 'linux,macos'}
129
+
130
+ [glow]
131
+ config = {original = '~/.config/glow/glow.yml', self_managed = 'CONFIG_ROOT/settings/glow/glow.yml', os = 'any'}
132
+
133
+ [gromit_linux]
134
+ config = {original = '~/.var/app/net.christianbeier.Gromit-MPX/config/gromit-mpx.cfg', self_managed = 'CONFIG_ROOT/settings/gromit-mpx/gromit-mpx.cfg', copy = true, os = 'linux,macos'}
135
+
136
+
137
+ #[broot_windows]
138
+ #config = { original = '~/AppData/Roaming/dystroy/config', self_managed = 'CONFIG_ROOT/settings/broot/config' }
139
+
140
+ [starship]
141
+ config = {original = '~/.config/starship.toml', self_managed = 'CONFIG_ROOT/settings/shells/starship/starship.toml', os = 'any'}
142
+
143
+
144
+ [kanata]
145
+ config = {original = '~/.config/kanata/kanata.kbd', self_managed = 'CONFIG_ROOT/settings/keyboard/kanata/kanata.kbd', os = 'any'}
146
+
147
+ [espanso]
148
+ config = {original = '~/.config/espanso/config/default.yml', self_managed = 'CONFIG_ROOT/settings/keyboard/espanso/config/default.yml', os = 'any'}
149
+ match = {original = '~/.config/espanso/match/base.yml', self_managed = 'CONFIG_ROOT/settings/keyboard/espanso/match/base.yml', copy = true, os = 'any'}
150
+
151
+
152
+ [pudb]
153
+ config = {original = '~/.config/pudb/pudb.cfg', self_managed = 'CONFIG_ROOT/settings/pudb/pudb.cfg', os = 'any'}
154
+
155
+
156
+ # ============================= shells profiles ==================================
157
+
158
+ # [powershell_windows]
159
+ # CurrentUserCurrentHost = {original = '~/Documents/WindowsPowerShell/Microsoft.PowerShell_profile.ps1', self_managed = '~/dotfiles/shells/windows_powershell/CurrentUserCurrentHost/Microsoft.PowerShell_profile.ps1'}
160
+ # CurrentUserAllHosts = {original = '~/Documents/WindowsPowerShell/profile.ps1', self_managed = '~/dotfiles/shells/windows_powershell/AllUsersCurrentHost/profile.ps1'}
161
+ # AllUsersCurrentHost = {original = 'C:/Windows/System32/WindowsPowerShell/v1.0/Microsoft.PowerShell_profile.ps1', self_managed = '~/dotfiles/shells/powershell/AllUsersCurrentHost/Microsoft.PowerShell_profile.ps1'}
162
+ # AllUsersAllHosts = {original = 'C:/Windows/System32/WindowsPowerShell/v1.0/profile.ps1', self_managed = '~/dotfiles/shells/windows_powershell/AllUsersAllHosts/profile.ps1'}
163
+
164
+ # [pwsh_windows]
165
+ # CurrentUserCurrentHost = {original = '~/Documents/PowerShell/Microsoft.PowerShell_profile.ps1', self_managed = 'CONFIG_ROOT/settings/shells/pwsh/init.ps1'}
166
+ # CurrentUserAllHosts = {original = '~/Documents/PowerShell/profile.ps1', self_managed = 'CONFIG_ROOT/settings/shells/pwsh/profile.ps1'}
167
+ # AllUsersCurrentHost = {original = 'C:/Program Files/PowerShell/7/Microsoft.PowerShell_profile.ps1', self_managed = 'CONFIG_ROOT/settings/shells/pwsh/init.ps1'}
168
+ # AllUsersAllHosts = {original = 'C:/Program Files/PowerShell/7/profile.ps1', self_managed = 'CONFIG_ROOT/settings/shells/pwsh/init.ps1'}
169
+
170
+
171
+ [nushell]
172
+ config_windows = {original = '~/AppData/Roaming/nushell/config.nu', self_managed = 'CONFIG_ROOT/settings/shells/nushell/config.nu', os = 'windows'}
173
+ env_windows = {original = '~/AppData/Roaming/nushell/env.nu', self_managed = 'CONFIG_ROOT/settings/shells/nushell/env.nu', os = 'windows'}
174
+ config_linux = {original = '~/.config/nushell/config.nu', self_managed = 'CONFIG_ROOT/settings/shells/nushell/config.nu', os = 'linux,macos'}
175
+ env_linux = {original = '~/.config/nushell/env.nu', self_managed = 'CONFIG_ROOT/settings/shells/nushell/env.nu', os = 'linux,macos'}
176
+
177
+ [kitty_linux]
178
+ config = {original = '~/.config/kitty/kitty.conf', self_managed = 'CONFIG_ROOT/settings/shells/kitty/kitty.conf', os = 'linux,macos'}
179
+
180
+ [alacritty]
181
+ config_linux = {original = '~/.config/alacritty/alacritty.toml', self_managed = 'CONFIG_ROOT/settings/shells/alacritty/alacritty.toml', os = 'linux,macos'}
182
+ config_yaml_linux = {original = '~/.config/alacritty/alacritty.yml', self_managed = 'CONFIG_ROOT/settings/shells/alacritty/alacritty.yml', os = 'linux,macos'}
183
+ config_windows = {original = '~/AppData/Roaming/alacritty/alacritty.toml', self_managed = 'CONFIG_ROOT/settings/shells/alacritty/alacritty.toml', os = 'windows'}
184
+
185
+ [hyper_terminal]
186
+ config = {original = '~/.hyper.js', self_managed = 'CONFIG_ROOT/settings/shells/hyper/.hyper.js', os = 'any'}
187
+
188
+ [wezterminal]
189
+ config = {original = '~/.config/wezterm/wezterm.lua', self_managed = 'CONFIG_ROOT/settings/shells/wezterm/wezterm.lua', os = 'any'}
190
+
191
+ [vtm_windows]
192
+ settings = {original = '~/.config/vtm/settings.xml', self_managed = 'CONFIG_ROOT/settings/shells/vtm/settings.xml', os = 'windows'}
193
+
194
+ [wsl_windows]
195
+ config = {original = '~/.wslconfig', self_managed = 'CONFIG_ROOT/settings/wsl/.wslconfig', os = 'windows'}
196
+
197
+ # [ipython_default_config]
198
+ # config = {original = '~/.ipython/profile_default/ipython_config.py', self_managed = 'CONFIG_ROOT/settings/shells/ipy/profiles/default/ipython_config.py'}
199
+ # play_extension = {original = '~/.ipython/profile_default/startup/playext.py', self_managed = 'CONFIG_ROOT/settings/shells/ipy/profiles/default/startup/playext.py'}
200
+
201
+ [mprocs_windows]
202
+ config = {original = '~/mprocs.yaml', self_managed = 'CONFIG_ROOT/settings/mprocs/windows/mprocs.yaml', os = 'windows'}
203
+
204
+ # [tmux_linux]
205
+ # config = {original = '~/.tmux.conf', self_managed = 'CONFIG_ROOT/settings/tmux/.tmux.conf'}
206
+ # tmate = {original = '~/.tmate.conf', self_managed = 'CONFIG_ROOT/settings/tmux/.tmate.conf'}
207
+
208
+
209
+ [zellij_linux]
210
+ config = { original = '~/.config/zellij', self_managed = 'CONFIG_ROOT/settings/zellij' , os = 'linux,macos'}
211
+ #themes = { original = '~/.config/zellij/themes', self_managed = 'CONFIG_ROOT/settings/zellij/themes' }
212
+ #layouts = { original = '~/.config/zellij/layouts', self_managed = 'CONFIG_ROOT/settings/zellij/layouts' }
213
+
214
+
215
+ # ===================== IDEs ============================
216
+
217
+ [zed_linux]
218
+ settings = {original = '~/.config/zed/settings.json', self_managed = 'CONFIG_ROOT/settings/zed/settings.json', os = 'linux,macos'}
219
+
220
+ [helix]
221
+ languages_windows = { original = '~/AppData/Roaming/helix/languages.toml', self_managed = 'CONFIG_ROOT/settings/helix/languages.toml' , os = 'windows'}
222
+ config_windows = { original = '~/AppData/Roaming/helix/config.toml', self_managed = 'CONFIG_ROOT/settings/helix/config.toml' , os = 'windows'}
223
+ languages_linux = { original = '~/.config/helix/languages.toml', self_managed = 'CONFIG_ROOT/settings/helix/languages.toml' , os = 'linux,macos'}
224
+ config_linux = { original = '~/.config/helix/config.toml', self_managed = 'CONFIG_ROOT/settings/helix/config.toml' , os = 'linux,macos'}
225
+
226
+ [lvim]
227
+ config_windows = { original = '~/AppData/Local/lvim/config.lua', self_managed = 'CONFIG_ROOT/settings/lvim/windows/config.lua' , os = 'windows'}
228
+ config_linux = { original = '~/.config/lvim/config.lua', self_managed = 'CONFIG_ROOT/settings/lvim/linux/config.lua' , os = 'linux,macos'}
229
+
230
+
231
+ [svim]
232
+ init_windows = { original = '~/.SpaceVim.d/init.toml', self_managed = 'CONFIG_ROOT/settings/svim/windows/init.toml' , os = 'windows'}
233
+ init_linux = { original = '~/.SpaceVim.d/init.toml', self_managed = 'CONFIG_ROOT/settings/svim/linux/init.toml' , os = 'linux,macos'}
234
+
235
+ [linters]
236
+ flake8 = {original = '~/.flake8', self_managed = 'CONFIG_ROOT/settings/linters/.flake8', os = 'any'}
237
+ # as per https://mypy.readthedocs.io/en/stable/config_file.html
238
+ mypy = {original = '~/mypy/config/mypy.ini', self_managed = 'CONFIG_ROOT/settings/linters/.mypy.ini', os = 'any'}
239
+ mypy2 = {original = '~/.config/mypy/config', self_managed = 'CONFIG_ROOT/settings/linters/.mypy.ini', os = 'any'}
240
+ ruff = {original = '~/.ruff.toml', self_managed = 'CONFIG_ROOT/settings/linters/.ruff.toml', os = 'any'}
241
+ pylint = {original = '~/.pylintrc', self_managed = 'CONFIG_ROOT/settings/linters/.pylintrc', os = 'any'}
242
+
243
+ # ======================= OS ===============================
244
+
245
+ [apps_windows]
246
+ notepadpp = {original = '~/AppData/Local/Microsoft/WindowsApps/notepad++.exe', self_managed = 'C:/Program Files/Notepad++/notepad++.exe', os = 'windows'}
247
+ # tesseract = {original = '~/AppData/Local/Microsoft/WindowsApps/tesseract.exe', self_managed = '~/AppData/Local/Tesseract-OCR/tesseract.exe'} # doesn't work without whole installation dir is on PATH.
248
+
249
+ [atuin]
250
+ config_linux = {original = '~/.config/atuin/config.toml', self_managed = 'CONFIG_ROOT/settings/atuin/config.toml', os = 'linux,macos'}
251
+ themes_linux = {original = '~/.config/atuin/themes', self_managed = 'CONFIG_ROOT/settings/atuin/themes', contents = true, os = 'linux,macos'}
252
+ config_windows = {original = '~/AppData/Roaming/atuin/config.toml', self_managed = 'CONFIG_ROOT/settings/atuin/config.toml', os = 'windows'}
253
+ themes_windows = {original = '~/AppData/Roaming/atuin/themes', self_managed = 'CONFIG_ROOT/settings/atuin/themes', contents = true, os = 'windows'}