machineconfig 8.14__py3-none-any.whl → 8.50__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.
- machineconfig/cluster/remote/run_cluster.py +1 -1
- machineconfig/cluster/remote/run_remote.py +1 -1
- machineconfig/cluster/sessions_managers/utils/maker.py +10 -8
- machineconfig/cluster/sessions_managers/wt_local.py +1 -1
- machineconfig/cluster/sessions_managers/wt_local_manager.py +1 -1
- machineconfig/cluster/sessions_managers/zellij_local.py +1 -1
- machineconfig/cluster/sessions_managers/zellij_local_manager.py +1 -1
- machineconfig/jobs/installer/checks/check_installations.py +133 -0
- machineconfig/jobs/installer/checks/install_utils.py +132 -0
- machineconfig/jobs/installer/checks/report_utils.py +39 -0
- machineconfig/jobs/installer/checks/vt_utils.py +89 -0
- machineconfig/jobs/installer/installer_data.json +225 -140
- machineconfig/jobs/installer/linux_scripts/docker.sh +6 -9
- machineconfig/jobs/installer/package_groups.py +10 -9
- machineconfig/jobs/installer/python_scripts/boxes.py +1 -2
- machineconfig/jobs/installer/python_scripts/code.py +10 -8
- machineconfig/jobs/installer/python_scripts/hx.py +30 -13
- machineconfig/jobs/installer/python_scripts/nerfont_windows_helper.py +6 -5
- machineconfig/jobs/installer/python_scripts/sysabc.py +25 -19
- machineconfig/jobs/installer/python_scripts/yazi.py +33 -17
- machineconfig/jobs/scripts/powershell_scripts/cmatrix.ps1 +52 -0
- machineconfig/jobs/scripts/powershell_scripts/mount_ssh.ps1 +1 -1
- machineconfig/jobs/scripts_dynamic/a.py +413 -10
- machineconfig/profile/create_links.py +77 -20
- machineconfig/profile/create_links_export.py +63 -58
- machineconfig/profile/mapper_data.toml +30 -0
- machineconfig/profile/mapper_dotfiles.toml +253 -0
- machineconfig/scripts/python/agents.py +70 -172
- machineconfig/scripts/python/ai/initai.py +3 -1
- machineconfig/scripts/python/ai/scripts/__init__.py +1 -0
- machineconfig/scripts/python/ai/scripts/lint_and_type_check.ps1 +2 -0
- machineconfig/scripts/python/ai/scripts/lint_and_type_check.sh +7 -5
- machineconfig/scripts/python/ai/solutions/claude/claude.py +1 -1
- machineconfig/scripts/python/ai/solutions/cline/cline.py +1 -1
- machineconfig/scripts/python/ai/solutions/copilot/github_copilot.py +1 -1
- machineconfig/scripts/python/ai/solutions/copilot/instructions/python/dev.instructions.md +29 -0
- machineconfig/scripts/python/ai/solutions/crush/crush.py +1 -1
- machineconfig/scripts/python/ai/solutions/cursor/cursors.py +1 -1
- machineconfig/scripts/python/ai/solutions/gemini/gemini.py +1 -1
- machineconfig/scripts/python/ai/solutions/gemini/settings.json +3 -0
- machineconfig/scripts/python/ai/{solutions → utils}/generic.py +2 -15
- machineconfig/scripts/python/ai/utils/vscode_tasks.py +6 -3
- machineconfig/scripts/python/cloud.py +58 -11
- machineconfig/scripts/python/croshell.py +4 -156
- machineconfig/scripts/python/devops.py +57 -40
- machineconfig/scripts/python/devops_navigator.py +17 -3
- machineconfig/scripts/python/fire_jobs.py +8 -207
- machineconfig/scripts/python/ftpx.py +5 -225
- machineconfig/scripts/python/graph/cli_graph.json +8743 -0
- machineconfig/scripts/python/{env_manager → helper_env}/path_manager_tui.py +2 -2
- machineconfig/scripts/python/{env_manager → helpers/helper_env}/env_manager_tui.py +1 -1
- machineconfig/scripts/python/helpers/helper_env/path_manager_tui.py +228 -0
- machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/agentic_frameworks/fire_crush.py +1 -1
- machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/agentic_frameworks/fire_cursor_agents.py +1 -1
- machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/agentic_frameworks/fire_gemini.py +1 -1
- machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/agentic_frameworks/fire_qwen.py +1 -1
- machineconfig/scripts/python/helpers/helpers_agents/agents_impl.py +168 -0
- machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/fire_agents_help_launch.py +5 -5
- machineconfig/scripts/python/{helpers_cloud → helpers/helpers_cloud}/cloud_copy.py +6 -6
- machineconfig/scripts/python/{helpers_cloud → helpers/helpers_cloud}/cloud_mount.py +10 -5
- machineconfig/scripts/python/{helpers_cloud → helpers/helpers_cloud}/cloud_sync.py +3 -3
- machineconfig/scripts/python/{helpers_cloud → helpers/helpers_cloud}/helpers2.py +1 -1
- machineconfig/scripts/python/helpers/helpers_croshell/croshell_impl.py +225 -0
- machineconfig/scripts/python/{helpers_croshell → helpers/helpers_croshell}/scheduler.py +4 -4
- machineconfig/scripts/python/{helpers_croshell → helpers/helpers_croshell}/start_slidev.py +7 -6
- machineconfig/scripts/python/helpers/helpers_devops/backup_config.py +149 -0
- machineconfig/scripts/python/helpers/helpers_devops/cli_backup_retrieve.py +267 -0
- machineconfig/scripts/python/helpers/helpers_devops/cli_config.py +98 -0
- machineconfig/scripts/python/helpers/helpers_devops/cli_config_dotfile.py +274 -0
- machineconfig/scripts/python/helpers/helpers_devops/cli_data.py +76 -0
- machineconfig/scripts/python/{helpers_devops → helpers/helpers_devops}/cli_nw.py +52 -72
- machineconfig/scripts/python/helpers/helpers_devops/cli_repos.py +274 -0
- machineconfig/scripts/python/{helpers_devops → helpers/helpers_devops}/cli_self.py +40 -23
- machineconfig/scripts/python/{helpers_devops → helpers/helpers_devops}/cli_share_file.py +44 -30
- machineconfig/scripts/python/{helpers_devops → helpers/helpers_devops}/cli_share_server.py +26 -43
- machineconfig/scripts/python/{helpers_devops → helpers/helpers_devops}/cli_share_terminal.py +12 -6
- machineconfig/scripts/python/helpers/helpers_devops/cli_ssh.py +167 -0
- machineconfig/scripts/python/{helpers_devops → helpers/helpers_devops}/devops_status.py +12 -6
- machineconfig/scripts/python/{helpers_devops → helpers/helpers_devops}/devops_update_repos.py +1 -1
- machineconfig/scripts/python/{interactive.py → helpers/helpers_devops/interactive.py} +68 -52
- machineconfig/scripts/python/{helpers_devops → helpers/helpers_devops}/run_script.py +75 -58
- machineconfig/scripts/python/helpers/helpers_devops/themes/choose_starship_theme.ps1 +41 -0
- machineconfig/scripts/python/helpers/helpers_devops/themes/choose_starship_theme.sh +48 -0
- machineconfig/scripts/python/{helpers_devops → helpers/helpers_devops}/themes/choose_wezterm_theme.py +3 -3
- machineconfig/scripts/python/helpers/helpers_fire_command/fire_jobs_impl.py +233 -0
- machineconfig/scripts/python/{helpers_fire_command → helpers/helpers_fire_command}/fire_jobs_route_helper.py +3 -3
- machineconfig/scripts/python/helpers/helpers_msearch/msearch_impl.py +248 -0
- machineconfig/scripts/python/{helpers_msearch → helpers/helpers_msearch}/scripts_linux/fzfg +4 -3
- machineconfig/scripts/python/helpers/helpers_msearch/scripts_linux/search_with_context.sh +48 -0
- machineconfig/scripts/python/{helpers_msearch → helpers/helpers_msearch}/scripts_windows/fzfg.ps1 +1 -1
- machineconfig/scripts/python/helpers/helpers_navigator/__init__.py +20 -0
- machineconfig/scripts/python/helpers/helpers_navigator/cli_graph_loader.py +234 -0
- machineconfig/scripts/python/{helpers_navigator → helpers/helpers_navigator}/command_builder.py +61 -13
- machineconfig/scripts/python/helpers/helpers_navigator/command_detail.py +153 -0
- machineconfig/scripts/python/helpers/helpers_navigator/command_tree.py +45 -0
- machineconfig/scripts/python/{helpers_navigator → helpers/helpers_navigator}/data_models.py +18 -11
- machineconfig/scripts/python/{helpers_navigator → helpers/helpers_navigator}/main_app.py +5 -5
- machineconfig/scripts/python/helpers/helpers_network/__init__.py +0 -0
- machineconfig/scripts/python/{helpers_network → helpers/helpers_network}/address.py +15 -17
- machineconfig/scripts/python/{helpers_network → helpers/helpers_network}/address_switch.py +1 -1
- machineconfig/scripts/python/helpers/helpers_network/ftpx_impl.py +276 -0
- machineconfig/scripts/python/{helpers_network → helpers/helpers_network}/mount_ssh.py +2 -2
- machineconfig/scripts/python/helpers/helpers_network/ssh_add_identity.py +73 -0
- machineconfig/scripts/python/helpers/helpers_network/ssh_add_ssh_key.py +175 -0
- machineconfig/scripts/python/helpers/helpers_network/ssh_debug_linux.py +319 -0
- machineconfig/scripts/python/helpers/helpers_network/ssh_debug_windows.py +275 -0
- machineconfig/scripts/python/{helpers_repos → helpers/helpers_repos}/action.py +3 -3
- machineconfig/scripts/python/{helpers_repos → helpers/helpers_repos}/action_helper.py +3 -3
- machineconfig/scripts/python/{helpers_repos → helpers/helpers_repos}/cloud_repo_sync.py +117 -33
- machineconfig/scripts/python/{helpers_repos → helpers/helpers_repos}/grource.py +3 -2
- machineconfig/scripts/python/{helpers_repos → helpers/helpers_repos}/record.py +33 -13
- machineconfig/scripts/python/{helpers_repos → helpers/helpers_repos}/repo_analyzer_2.py +63 -19
- machineconfig/scripts/python/{helpers_repos → helpers/helpers_repos}/update.py +0 -6
- machineconfig/scripts/python/helpers/helpers_search/script_help.py +81 -0
- machineconfig/scripts/python/helpers/helpers_sessions/__init__.py +0 -0
- machineconfig/scripts/python/helpers/helpers_sessions/sessions_impl.py +186 -0
- machineconfig/scripts/python/{helpers_sessions → helpers/helpers_sessions}/sessions_multiprocess.py +1 -1
- machineconfig/scripts/python/helpers/helpers_terminal/__init__.py +0 -0
- machineconfig/scripts/python/helpers/helpers_terminal/terminal_impl.py +96 -0
- machineconfig/scripts/python/{helpers_utils → helpers/helpers_utils}/download.py +1 -1
- machineconfig/scripts/python/{helpers_utils → helpers/helpers_utils}/python.py +47 -26
- machineconfig/scripts/python/helpers/helpers_utils/specs.py +246 -0
- machineconfig/scripts/python/mcfg_entry.py +133 -48
- machineconfig/scripts/python/msearch.py +15 -61
- machineconfig/scripts/python/sessions.py +59 -194
- machineconfig/scripts/python/terminal.py +18 -96
- machineconfig/scripts/python/utils.py +101 -20
- machineconfig/settings/atuin/config.toml +294 -0
- machineconfig/settings/atuin/themes/catppuccin-mocha-mauve.toml +12 -0
- machineconfig/settings/linters/.ruff.toml +1 -0
- machineconfig/settings/mprocs/windows/mprocs.yaml +2 -2
- machineconfig/settings/shells/bash/init.sh +6 -3
- machineconfig/settings/shells/pwsh/init.ps1 +69 -1
- machineconfig/settings/shells/pwsh/search_pwsh_history.ps1 +99 -0
- machineconfig/settings/shells/wezterm/wezterm.lua +4 -1
- machineconfig/settings/shells/wt/settings.json +20 -7
- machineconfig/settings/shells/zsh/init.sh +25 -4
- machineconfig/settings/television/cable_unix/bash-history.toml +1 -1
- machineconfig/settings/television/cable_windows/pwsh-history.toml +1 -1
- machineconfig/settings/tv/config.toml +234 -0
- machineconfig/settings/tv/themes/catppuccin-mocha-sky.toml +22 -0
- machineconfig/settings/wsl/.wslconfig +5 -30
- machineconfig/settings/yazi/yazi_linux.toml +18 -8
- machineconfig/settings/zellij/layouts/st.kdl +2 -2
- machineconfig/settings/zellij/layouts/st2.kdl +1 -1
- machineconfig/setup_linux/web_shortcuts/interactive.sh +10 -10
- machineconfig/setup_linux/web_shortcuts/live_from_github.sh +3 -0
- machineconfig/setup_mac/__init__.py +0 -2
- machineconfig/setup_windows/__init__.py +0 -1
- machineconfig/setup_windows/web_shortcuts/interactive.ps1 +14 -13
- machineconfig/setup_windows/web_shortcuts/live_from_github.ps1 +4 -3
- machineconfig/setup_windows/web_shortcuts/quick_init.ps1 +3 -3
- machineconfig/type_hinting/sql/__init__.py +1 -0
- machineconfig/type_hinting/sql/base.py +216 -0
- machineconfig/type_hinting/sql/core_schema.py +64 -0
- machineconfig/type_hinting/sql/core_schema_typeddict.py +41 -0
- machineconfig/type_hinting/sql/typeddict_codegen.py +222 -0
- machineconfig/type_hinting/typedict/__init__.py +1 -0
- machineconfig/type_hinting/typedict/ast_utils.py +130 -0
- machineconfig/type_hinting/typedict/generator_helpers.py +319 -0
- machineconfig/type_hinting/typedict/generators.py +231 -0
- machineconfig/type_hinting/typedict/polars_schema.py +24 -0
- machineconfig/type_hinting/typedict/polars_schema_typeddict.py +63 -0
- machineconfig/utils/accessories.py +24 -0
- machineconfig/utils/code.py +41 -13
- machineconfig/utils/files/ascii_art.py +10 -14
- machineconfig/utils/files/headers.py +3 -5
- machineconfig/utils/files/read.py +8 -1
- machineconfig/utils/installer_utils/github_release_bulk.py +11 -91
- machineconfig/utils/installer_utils/github_release_scraper.py +99 -0
- machineconfig/utils/installer_utils/install_from_url.py +1 -1
- machineconfig/utils/installer_utils/installer_class.py +12 -4
- machineconfig/utils/installer_utils/installer_cli.py +1 -15
- machineconfig/utils/installer_utils/installer_helper.py +2 -2
- machineconfig/utils/installer_utils/installer_locator_utils.py +13 -13
- machineconfig/utils/installer_utils/installer_runner.py +4 -4
- machineconfig/utils/io.py +25 -8
- machineconfig/utils/meta.py +6 -4
- machineconfig/utils/options.py +49 -19
- machineconfig/utils/options_utils/__init__.py +0 -0
- machineconfig/utils/options_utils/options_tv_linux.py +211 -0
- machineconfig/utils/options_utils/options_tv_windows.py +88 -0
- machineconfig/utils/options_utils/tv_options.py +37 -0
- machineconfig/utils/path_extended.py +6 -6
- machineconfig/utils/scheduler.py +8 -2
- machineconfig/utils/schemas/fire_agents/fire_agents_input.py +1 -1
- machineconfig/utils/source_of_truth.py +6 -1
- machineconfig/utils/ssh.py +69 -18
- machineconfig/utils/ssh_utils/abc.py +1 -1
- machineconfig/utils/ssh_utils/copy_from_here.py +17 -12
- machineconfig/utils/ssh_utils/utils.py +21 -5
- machineconfig/utils/ssh_utils/wsl.py +107 -170
- machineconfig/utils/ssh_utils/wsl_helper.py +217 -0
- machineconfig/utils/upgrade_packages.py +4 -8
- {machineconfig-8.14.dist-info → machineconfig-8.50.dist-info}/METADATA +29 -22
- {machineconfig-8.14.dist-info → machineconfig-8.50.dist-info}/RECORD +251 -211
- machineconfig/jobs/installer/check_installations.py +0 -248
- machineconfig/profile/backup.toml +0 -49
- machineconfig/profile/mapper.toml +0 -263
- machineconfig/scripts/python/helpers_devops/cli_config.py +0 -105
- machineconfig/scripts/python/helpers_devops/cli_config_dotfile.py +0 -89
- machineconfig/scripts/python/helpers_devops/cli_data.py +0 -25
- machineconfig/scripts/python/helpers_devops/cli_repos.py +0 -208
- machineconfig/scripts/python/helpers_devops/devops_backup_retrieve.py +0 -80
- machineconfig/scripts/python/helpers_devops/themes/choose_starship_theme.bash +0 -3
- machineconfig/scripts/python/helpers_navigator/__init__.py +0 -20
- machineconfig/scripts/python/helpers_navigator/command_detail.py +0 -44
- machineconfig/scripts/python/helpers_navigator/command_tree.py +0 -620
- machineconfig/scripts/python/helpers_network/ssh_add_identity.py +0 -116
- machineconfig/scripts/python/helpers_network/ssh_add_ssh_key.py +0 -153
- machineconfig/scripts/python/helpers_network/ssh_debug_linux.py +0 -391
- machineconfig/scripts/python/helpers_network/ssh_debug_windows.py +0 -338
- machineconfig/scripts/python/helpers_repos/entrypoint.py +0 -77
- machineconfig/setup_mac/ssh/openssh_setup.sh +0 -114
- machineconfig/setup_windows/ssh/add-sshkey.ps1 +0 -29
- machineconfig/setup_windows/ssh/openssh-server.ps1 +0 -37
- machineconfig/utils/options_tv.py +0 -119
- machineconfig/utils/tst.py +0 -20
- /machineconfig/{scripts/python/helpers_agents → jobs/installer/checks}/__init__.py +0 -0
- /machineconfig/scripts/python/ai/{solutions/_shared.py → utils/shared.py} +0 -0
- /machineconfig/scripts/python/{helpers_agents/agentic_frameworks → graph}/__init__.py +0 -0
- /machineconfig/scripts/python/{helpers_cloud → helpers}/__init__.py +0 -0
- /machineconfig/scripts/python/{env_manager → helpers/helper_env}/__init__.py +0 -0
- /machineconfig/scripts/python/{env_manager → helpers/helper_env}/path_manager_backend.py +0 -0
- /machineconfig/scripts/python/{helpers_croshell → helpers/helpers_agents}/__init__.py +0 -0
- /machineconfig/scripts/python/{helpers_devops → helpers/helpers_agents/agentic_frameworks}/__init__.py +0 -0
- /machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/agentic_frameworks/fire_crush.json +0 -0
- /machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/fire_agents_help_search.py +0 -0
- /machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/fire_agents_helper_types.py +0 -0
- /machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/fire_agents_load_balancer.py +0 -0
- /machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/privacy/configs/aichat/config.yaml +0 -0
- /machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/privacy/configs/aider/.aider.conf.yml +0 -0
- /machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/privacy/configs/copilot/config.yml +0 -0
- /machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/privacy/configs/crush/crush.json +0 -0
- /machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/privacy/configs/gemini/settings.json +0 -0
- /machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/privacy/privacy.py +0 -0
- /machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/templates/prompt.txt +0 -0
- /machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/templates/template.ps1 +0 -0
- /machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/templates/template.sh +0 -0
- /machineconfig/scripts/python/{helpers_devops/themes → helpers/helpers_cloud}/__init__.py +0 -0
- /machineconfig/scripts/python/{helpers_cloud → helpers/helpers_cloud}/cloud_helpers.py +0 -0
- /machineconfig/scripts/python/{helpers_cloud → helpers/helpers_cloud}/helpers5.py +0 -0
- /machineconfig/scripts/python/{helpers_fire_command → helpers/helpers_croshell}/__init__.py +0 -0
- /machineconfig/scripts/python/{helpers_croshell → helpers/helpers_croshell}/crosh.py +0 -0
- /machineconfig/scripts/python/{helpers_croshell → helpers/helpers_croshell}/pomodoro.py +0 -0
- /machineconfig/scripts/python/{helpers_croshell → helpers/helpers_croshell}/viewer.py +0 -0
- /machineconfig/scripts/python/{helpers_croshell → helpers/helpers_croshell}/viewer_template.py +0 -0
- /machineconfig/scripts/python/{helpers_network → helpers/helpers_devops}/__init__.py +0 -0
- /machineconfig/scripts/python/{helpers_sessions → helpers/helpers_devops/themes}/__init__.py +0 -0
- /machineconfig/scripts/python/{helpers_devops → helpers/helpers_devops}/themes/choose_pwsh_theme.ps1 +0 -0
- /machineconfig/scripts/python/{helpers_devops/themes/choose_starship_theme.ps1 → helpers/helpers_fire_command/__init__.py} +0 -0
- /machineconfig/scripts/python/{helpers_fire_command → helpers/helpers_fire_command}/cloud_manager.py +0 -0
- /machineconfig/scripts/python/{helpers_fire_command → helpers/helpers_fire_command}/f.py +0 -0
- /machineconfig/scripts/python/{helpers_fire_command → helpers/helpers_fire_command}/file_wrangler.py +0 -0
- /machineconfig/scripts/python/{helpers_fire_command → helpers/helpers_fire_command}/fire_jobs_args_helper.py +0 -0
- /machineconfig/scripts/python/{helpers_fire_command → helpers/helpers_fire_command}/fire_jobs_streamlit_helper.py +0 -0
- /machineconfig/scripts/python/{helpers_msearch → helpers/helpers_msearch}/__init__.py +0 -0
- /machineconfig/scripts/python/{helpers_navigator → helpers/helpers_navigator}/search_bar.py +0 -0
- /machineconfig/scripts/python/{helpers_network → helpers/helpers_network}/mount_nfs.py +0 -0
- /machineconfig/scripts/python/{helpers_network → helpers/helpers_network}/mount_nw_drive.py +0 -0
- /machineconfig/scripts/python/{helpers_network → helpers/helpers_network}/onetimeshare.py +0 -0
- /machineconfig/scripts/python/{helpers_network → helpers/helpers_network}/wifi_conn.py +0 -0
- /machineconfig/scripts/python/{helpers_repos → helpers/helpers_repos}/clone.py +0 -0
- /machineconfig/scripts/python/{helpers_repos → helpers/helpers_repos}/repo_analyzer_1.py +0 -0
- /machineconfig/scripts/python/{helpers_repos → helpers/helpers_repos}/sync.py +0 -0
- /machineconfig/scripts/python/helpers/{ast_search.py → helpers_search/ast_search.py} +0 -0
- /machineconfig/scripts/python/helpers/{qr_code.py → helpers_search/qr_code.py} +0 -0
- /machineconfig/scripts/python/helpers/{repo_rag.py → helpers_search/repo_rag.py} +0 -0
- /machineconfig/scripts/python/helpers/{symantic_search.py → helpers_search/symantic_search.py} +0 -0
- /machineconfig/scripts/python/{helpers_utils → helpers/helpers_utils}/pdf.py +0 -0
- {machineconfig-8.14.dist-info → machineconfig-8.50.dist-info}/WHEEL +0 -0
- {machineconfig-8.14.dist-info → machineconfig-8.50.dist-info}/entry_points.txt +0 -0
- {machineconfig-8.14.dist-info → machineconfig-8.50.dist-info}/top_level.txt +0 -0
|
@@ -1,248 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import platform
|
|
3
|
-
from machineconfig.utils.source_of_truth import CONFIG_ROOT
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
APP_SUMMARY_PATH = CONFIG_ROOT.joinpath(f"profile/records/{platform.system().lower()}/apps_summary_report.csv")
|
|
7
|
-
# CLOUD: str = "gdw" # Read.ini(DEFAULTS_PATH)['general']['rclone_config_name']
|
|
8
|
-
# # my onedrive doesn't allow sharing.
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
# def scan(path: P, pct: float = 0.0):
|
|
12
|
-
# import vt # vt-py
|
|
13
|
-
# client = vt.Client(PathExtended.home().joinpath("dotfiles/creds/tokens/virustotal").read_text(encoding="utf-8").split("\n")[0])
|
|
14
|
-
# console = Console()
|
|
15
|
-
# console.rule(f"Scanning {path}. {pct:.2f}% done")
|
|
16
|
-
# if path.is_dir():
|
|
17
|
-
# print(f"📁 Skipping {path} as it is a directory.")
|
|
18
|
-
# return None
|
|
19
|
-
# with open(str(path), "rb") as f:
|
|
20
|
-
# analysis = client.scan_file(f)
|
|
21
|
-
# repeat_counter: int = 0
|
|
22
|
-
# while True:
|
|
23
|
-
# with console.status(f"waiting for scan of {path} ... "):
|
|
24
|
-
# try:
|
|
25
|
-
# anal = client.get_object("/analyses/{}", analysis.id)
|
|
26
|
-
# if anal.status == "completed": break
|
|
27
|
-
# except Exception as ex: # type: ignore
|
|
28
|
-
# repeat_counter += 1
|
|
29
|
-
# if repeat_counter > 2:
|
|
30
|
-
# raise ValueError(f"❌ Error in scanning {path}") from ex
|
|
31
|
-
# print("⚠️ Error in scanning, trying again...")
|
|
32
|
-
# time.sleep(30)
|
|
33
|
-
|
|
34
|
-
# # Convert results to list of dictionaries
|
|
35
|
-
# results_data = list(anal.results.values())
|
|
36
|
-
# malicious = []
|
|
37
|
-
# for result_item in results_data:
|
|
38
|
-
# # Convert result item to dictionary if it has attributes
|
|
39
|
-
# if hasattr(result_item, '__dict__'):
|
|
40
|
-
# result_dict = result_item.__dict__
|
|
41
|
-
# else:
|
|
42
|
-
# # Assume it already has the necessary attributes
|
|
43
|
-
# result_dict = {
|
|
44
|
-
# 'result': getattr(result_item, 'result', None),
|
|
45
|
-
# 'category': getattr(result_item, 'category', 'unknown')
|
|
46
|
-
# }
|
|
47
|
-
|
|
48
|
-
# if result_dict.get('result') is None and result_dict.get('category') in ["undetected", "type-unsupported", "failure", "timeout", "confirmed-timeout"]:
|
|
49
|
-
# continue
|
|
50
|
-
# else:
|
|
51
|
-
# pprint(result_dict, f"🔍 Found Category {result_dict.get('category')}")
|
|
52
|
-
# malicious.append(result_item)
|
|
53
|
-
|
|
54
|
-
# positive_pct: float = round(number=len(malicious) / len(results_data) * 100, ndigits=1)
|
|
55
|
-
# print(f"""
|
|
56
|
-
# {'=' * 50}
|
|
57
|
-
# 🔬 SCAN RESULTS | Positive ratio: {positive_pct:.1f}%
|
|
58
|
-
# {'=' * 50}
|
|
59
|
-
# """)
|
|
60
|
-
# return positive_pct, results_data
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
# def main() -> None:
|
|
64
|
-
# # Convert potential custom List types to plain Python lists
|
|
65
|
-
# tmp_apps = get_installed_cli_apps()
|
|
66
|
-
# apps_paths_tmp: list[PathExtended]
|
|
67
|
-
# if hasattr(tmp_apps, "list"):
|
|
68
|
-
# apps_paths_tmp = list(tmp_apps.list)
|
|
69
|
-
# else:
|
|
70
|
-
# try:
|
|
71
|
-
# apps_paths_tmp = list(tmp_apps)
|
|
72
|
-
# except TypeError:
|
|
73
|
-
# apps_paths_tmp = [tmp_apps]
|
|
74
|
-
|
|
75
|
-
# tmp_versions = INSTALL_VERSION_ROOT.search()
|
|
76
|
-
# versions_files_paths: list[PathExtended]
|
|
77
|
-
# if hasattr(tmp_versions, "list"):
|
|
78
|
-
# versions_files_paths = list(tmp_versions.list)
|
|
79
|
-
# else:
|
|
80
|
-
# try:
|
|
81
|
-
# versions_files_paths = list(tmp_versions)
|
|
82
|
-
# except TypeError:
|
|
83
|
-
# versions_files_paths = [tmp_versions]
|
|
84
|
-
|
|
85
|
-
# app_versions: list[Optional[str]] = []
|
|
86
|
-
# apps_paths_raw: list[PathExtended] = []
|
|
87
|
-
# for an_app in apps_paths_tmp:
|
|
88
|
-
# version_path = [x for x in versions_files_paths if x.stem == an_app.stem]
|
|
89
|
-
# if len(version_path) == 1:
|
|
90
|
-
# app_versions.append(version_path[0].read_text(encoding="utf-8"))
|
|
91
|
-
# apps_paths_raw.append(an_app)
|
|
92
|
-
# # if an_app.stem in versions_files_paths.stem:
|
|
93
|
-
# # else:
|
|
94
|
-
# # print(f"🤔 Cloud not find a documented version for installation of {an_app.stem}, trying to get it from the app itself.")
|
|
95
|
-
# # tmp = Terminal().run(f"{an_app.stem} --version", shell="powershell").capture().op_if_successfull_or_default(strict_err=False, strict_returcode=False)
|
|
96
|
-
# # if tmp is not None: tmp = tmp.split("\n")[0]
|
|
97
|
-
# # print(f"➡️ Found version `{tmp}` for {an_app.stem}.")
|
|
98
|
-
# # app_versions.append(None)
|
|
99
|
-
# print(f"""
|
|
100
|
-
# {'=' * 150}
|
|
101
|
-
# 🔍 TOOL CHECK | Checking tools (#{len(apps_paths_tmp)}) collected from `{INSTALL_VERSION_ROOT}`
|
|
102
|
-
# {'=' * 150}
|
|
103
|
-
# """)
|
|
104
|
-
# for path_item in apps_paths_raw:
|
|
105
|
-
# print(path_item)
|
|
106
|
-
# positive_pct: list[Optional[float]] = []
|
|
107
|
-
# scan_time: list[str] = []
|
|
108
|
-
# detailed_results: list[dict[str, Optional[list[Any]]]] = []
|
|
109
|
-
|
|
110
|
-
# for idx, app in enumerate(apps_paths_raw):
|
|
111
|
-
# try: res = scan(path=app, pct=idx / len(apps_paths_raw) * 100)
|
|
112
|
-
# except ValueError as ve:
|
|
113
|
-
# print(f"❌ ERROR | {ve}")
|
|
114
|
-
# res = None
|
|
115
|
-
# if res is None:
|
|
116
|
-
# positive_pct.append(None)
|
|
117
|
-
# detailed_results.append({app.stem: None})
|
|
118
|
-
# else:
|
|
119
|
-
# ppct, results_data = res
|
|
120
|
-
# positive_pct.append(ppct)
|
|
121
|
-
# detailed_results.append({app.stem: results_data})
|
|
122
|
-
# scan_time.append(datetime.now().strftime("%Y-%m-%d %H:%M"))
|
|
123
|
-
|
|
124
|
-
# # Create list of dictionaries instead of DataFrame
|
|
125
|
-
# app_data = []
|
|
126
|
-
# for i, app_path in enumerate(apps_paths_raw):
|
|
127
|
-
# app_data.append({
|
|
128
|
-
# "app_name": app_path.stem,
|
|
129
|
-
# "version": app_versions[i],
|
|
130
|
-
# "positive_pct": positive_pct[i],
|
|
131
|
-
# "scan_time": scan_time[i],
|
|
132
|
-
# "app_path": app_path.collapseuser(strict=False).as_posix()
|
|
133
|
-
# })
|
|
134
|
-
|
|
135
|
-
# # Add app URLs
|
|
136
|
-
# for i, app_info in enumerate(tqdm(app_data, desc="Uploading apps")):
|
|
137
|
-
# apps_safe_url = upload(PathExtended(app_info["app_path"]).expanduser())
|
|
138
|
-
# app_info["app_url"] = apps_safe_url.as_posix() if (apps_safe_url is not None and type(apps_safe_url) is P) else str(apps_safe_url) if apps_safe_url is not None else ""
|
|
139
|
-
|
|
140
|
-
# # Write to CSV using standard library
|
|
141
|
-
# csv_path = APP_SUMMARY_PATH.with_suffix(".csv")
|
|
142
|
-
# csv_path.parent.mkdir(parents=True, exist_ok=True)
|
|
143
|
-
# with open(csv_path, 'w', newline='', encoding='utf-8') as csvfile:
|
|
144
|
-
# if app_data:
|
|
145
|
-
# fieldnames = app_data[0].keys()
|
|
146
|
-
# writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
|
|
147
|
-
# writer.writeheader()
|
|
148
|
-
# writer.writerows(app_data)
|
|
149
|
-
|
|
150
|
-
# # Create markdown table
|
|
151
|
-
# def format_app_table_markdown(data: list[dict[str, Any]]) -> str:
|
|
152
|
-
# if not data:
|
|
153
|
-
# return ""
|
|
154
|
-
# keys = list(data[0].keys())
|
|
155
|
-
# header = "|" + "|".join(f" {key} " for key in keys) + "|"
|
|
156
|
-
# separator = "|" + "|".join(" --- " for _ in keys) + "|"
|
|
157
|
-
# rows = []
|
|
158
|
-
# for row in data:
|
|
159
|
-
# row_values = [f" {str(row.get(key, ''))} " for key in keys]
|
|
160
|
-
# rows.append("|" + "|".join(row_values) + "|")
|
|
161
|
-
# return "\n".join([header, separator] + rows)
|
|
162
|
-
|
|
163
|
-
# markdown_content = format_app_table_markdown(app_data)
|
|
164
|
-
# APP_SUMMARY_PATH.with_suffix(".md").write_text(markdown_content, encoding="utf-8")
|
|
165
|
-
|
|
166
|
-
# print(f"""
|
|
167
|
-
# {'=' * 150}
|
|
168
|
-
# 📊 SAFETY REPORT | Summary of app scanning results
|
|
169
|
-
# {'=' * 150}
|
|
170
|
-
# """)
|
|
171
|
-
# print(markdown_content)
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
# def upload(path: PathExtended):
|
|
175
|
-
# import call_function_with_timeout
|
|
176
|
-
# set_time_out = call_function_with_timeout.SetTimeout
|
|
177
|
-
# func_with_timeout = set_time_out(lambda: path.to_cloud(CLOUD, rel2home=True, share=True, os_specific=True), timeout=180)
|
|
178
|
-
# is_done, _is_timeout, _erro_message, results = func_with_timeout()
|
|
179
|
-
# if is_done: return results
|
|
180
|
-
# else: return None
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
# class precheckedPackages:
|
|
184
|
-
# def __init__(self):
|
|
185
|
-
# # Read CSV using standard library
|
|
186
|
-
# self.data = []
|
|
187
|
-
# if APP_SUMMARY_PATH.exists():
|
|
188
|
-
# with open(APP_SUMMARY_PATH, 'r', encoding='utf-8') as csvfile:
|
|
189
|
-
# reader = csv.DictReader(csvfile)
|
|
190
|
-
# self.data = list(reader)
|
|
191
|
-
|
|
192
|
-
# @staticmethod
|
|
193
|
-
# def download_google_links(url: str):
|
|
194
|
-
# # if "drive.google.com" in str(url): url = str(url).replace("open?", "uc?")
|
|
195
|
-
# # else: raise NotImplementedError("Only google drive is supported for now.")
|
|
196
|
-
# # return PathExtended(url).download(name=name)
|
|
197
|
-
# gdrive_id = PathExtended(url).parts[-1].split("id=")[1]
|
|
198
|
-
# result = PathExtended(gdown.download(id=gdrive_id)).absolute()
|
|
199
|
-
# return result
|
|
200
|
-
|
|
201
|
-
# @staticmethod
|
|
202
|
-
# def install_cli_apps(app_url: str):
|
|
203
|
-
# try:
|
|
204
|
-
# exe = precheckedPackages.download_google_links(app_url)
|
|
205
|
-
# except Exception as ex: # type: ignore
|
|
206
|
-
# print(f"❌ ERROR | Failed downloading {app_url}: {ex}")
|
|
207
|
-
# return None
|
|
208
|
-
# if platform.system().lower() in ["linux", "darwin"]:
|
|
209
|
-
# Terminal().run(f"chmod +x {exe}")
|
|
210
|
-
# Terminal().run(f"mv {exe} /usr/local/bin/")
|
|
211
|
-
# elif platform.system().lower() == "windows":
|
|
212
|
-
# exe.move(folder=PathExtended.home().joinpath("AppData/Local/Microsoft/WindowsApps"), overwrite=True)
|
|
213
|
-
# return True
|
|
214
|
-
|
|
215
|
-
# def download_safe_apps(self, name: str="essentials"):
|
|
216
|
-
# # if platform.system().lower() == "windows":
|
|
217
|
-
# # from machineconfig.jobs.python.python_windows_installers_all import get_cli_py_installers
|
|
218
|
-
# # cli_installers = get_cli_py_installers()
|
|
219
|
-
# # elif platform.system().lower() == "linux":
|
|
220
|
-
# # from machineconfig.jobs.python.python_linux_installers_all import get_cli_py_installers
|
|
221
|
-
# # cli_installers = get_cli_py_installers()
|
|
222
|
-
# # else: raise NotImplementedError(f"Platform {platform.system().lower()} is not supported yet.")
|
|
223
|
-
|
|
224
|
-
# print(f"""
|
|
225
|
-
# {'=' * 150}
|
|
226
|
-
# 📥 DOWNLOAD | Downloading {len(self.data)} apps...
|
|
227
|
-
# {'=' * 150}
|
|
228
|
-
# """)
|
|
229
|
-
# print(self.data)
|
|
230
|
-
# app_urls = [item['app_url'] for item in self.data]
|
|
231
|
-
# from concurrent.futures import ThreadPoolExecutor
|
|
232
|
-
# with ThreadPoolExecutor(max_workers=20) as executor:
|
|
233
|
-
# _res = list(executor.map(precheckedPackages.install_cli_apps, app_urls))
|
|
234
|
-
# else:
|
|
235
|
-
# app_items = [item for item in self.data if item['app_name'] == name]
|
|
236
|
-
# if not app_items:
|
|
237
|
-
# raise ValueError(f"App '{name}' not found in data")
|
|
238
|
-
# app_url = app_items[0]['app_url']
|
|
239
|
-
# _res = precheckedPackages.install_cli_apps(app_url=app_url)
|
|
240
|
-
|
|
241
|
-
# # print("\n" * 3)
|
|
242
|
-
# # for item_flag, item_name in zip(res, self.df["app_name"]):
|
|
243
|
-
# # if item_flag: print(f"✅ {item_name} is installed. 😁")
|
|
244
|
-
# # else: print(f"❌ {item_name} failed to install for reasons explained in the log above, try manually.")
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
# if __name__ == '__main__':
|
|
248
|
-
# pass
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
# locations to be backed up to the cloud.
|
|
3
|
-
|
|
4
|
-
[thunderbird_windows]
|
|
5
|
-
path = '~/AppData/Roaming/Thunderbird/Profiles'
|
|
6
|
-
encrypt = 'True'
|
|
7
|
-
zip = 'True'
|
|
8
|
-
rel2home = 'True'
|
|
9
|
-
os_specific = 'True'
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
[thunderbird_linux]
|
|
13
|
-
path = '~/.thunderbird'
|
|
14
|
-
encrypt = 'True'
|
|
15
|
-
zip = 'True'
|
|
16
|
-
rel2home = 'True'
|
|
17
|
-
os_specific = 'True'
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
[zoxide_windows]
|
|
21
|
-
path = '~/AppData/Local/zoxide/db.zo'
|
|
22
|
-
encrypt = 'False'
|
|
23
|
-
zip = 'False'
|
|
24
|
-
rel2home = 'True'
|
|
25
|
-
os_specific = 'True'
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
[zoxide_linux]
|
|
29
|
-
path = '~/.local/share/zoxide/db.zo'
|
|
30
|
-
encrypt = 'False'
|
|
31
|
-
zip = 'False'
|
|
32
|
-
rel2home = 'True'
|
|
33
|
-
os_specific = 'True'
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
#[dotfiles]
|
|
37
|
-
# path = '~/dotfiles'
|
|
38
|
-
# encrypt = 'True'
|
|
39
|
-
# zip = 'True'
|
|
40
|
-
# rel2home = 'True'
|
|
41
|
-
# os_specific = 'True'
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
[ipython]
|
|
45
|
-
path = '~/.ipython'
|
|
46
|
-
encrypt = 'True'
|
|
47
|
-
zip = 'True'
|
|
48
|
-
rel2home = 'True'
|
|
49
|
-
os_specific = 'False'
|
|
@@ -1,263 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
# =================== PRIVATE ================================
|
|
4
|
-
|
|
5
|
-
[git]
|
|
6
|
-
gitconfig = {this = '~/.gitconfig', to_this = '~/dotfiles/creds/git/.gitconfig'}
|
|
7
|
-
gitcred = {this = '~/.git-credentials', to_this = '~/dotfiles/creds/git/.git-credentials'}
|
|
8
|
-
|
|
9
|
-
[ssh]
|
|
10
|
-
keys = {this = '~/.ssh', to_this = '~/dotfiles/creds/.ssh', contents = true}
|
|
11
|
-
|
|
12
|
-
[pypi]
|
|
13
|
-
creds = {this = '~/.pypirc', to_this = '~/dotfiles/creds/msc/.pypirc'}
|
|
14
|
-
|
|
15
|
-
[rclone_linux]
|
|
16
|
-
config = {this = '~/.config/rclone/rclone.conf', to_this = '~/dotfiles/creds/rclone/rclone.conf'}
|
|
17
|
-
|
|
18
|
-
[rclone_windows]
|
|
19
|
-
config = {this = '~/AppData/Roaming/rclone/rclone.conf', to_this = '~/dotfiles/creds/rclone/rclone.conf'}
|
|
20
|
-
|
|
21
|
-
[cloudflare]
|
|
22
|
-
config = {this = '~/.cloudflared', to_this = '~/dotfiles/creds/cloudflare/.cloudflared'}
|
|
23
|
-
|
|
24
|
-
[ngrok_linux]
|
|
25
|
-
config = {this = '~/.config/ngrok/ngrok.yml', to_this = '~/dotfiles/creds/tokens/ngrok.yml'}
|
|
26
|
-
|
|
27
|
-
[ngrok_windows]
|
|
28
|
-
config = {this = '~/AppData/Local/ngrok/ngrok.yml', to_this = '~/dotfiles/creds/tokens/ngrok.yml'}
|
|
29
|
-
|
|
30
|
-
[m365]
|
|
31
|
-
config1 = {this = '~/.cli-m365-msal.json', to_this = '~/dotfiles/creds/tokens/.cli-m365-msal.json'}
|
|
32
|
-
config2 = {this = '~/.cli-m365-all-connections.json', to_this = '~/dotfiles/creds/tokens/.cli-m365-all-connections.json'}
|
|
33
|
-
config3 = {this = '~/.cli-m365-connection.json', to_this = '~/dotfiles/creds/tokens/.cli-m365-connection.json'}
|
|
34
|
-
# config2 = {this = '~/.cli-m365-tokens.json', to_this = '~/dotfiles/creds/tokens/.cli-m365-tokens.json'}
|
|
35
|
-
|
|
36
|
-
[remmina]
|
|
37
|
-
data = {this = '~/.var/app/org.remmina.Remmina/data/remmina', to_this = '~/dotfiles/creds/RDP/remmina/data/remmina'}
|
|
38
|
-
|
|
39
|
-
[webapp_linux]
|
|
40
|
-
brave = {this = '~/.local/share/applications', to_this = '~/dotfiles/config/webapps/linux/brave', contents = true}
|
|
41
|
-
|
|
42
|
-
# [startup_windows]
|
|
43
|
-
# startup = {this = '~/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup', to_this = '~/dotfiles/scripts/windows_startup', contents = true}
|
|
44
|
-
|
|
45
|
-
# [aws]
|
|
46
|
-
# config = {this = '~/.aws/config', to_this = '~/dotfiles/aws/.aws', contents = true}
|
|
47
|
-
|
|
48
|
-
[wt_windows]
|
|
49
|
-
settings = { this = '~/AppData/Local/Packages/Microsoft.WindowsTerminal_8wekyb3d8bbwe/LocalState/settings.json', to_this = 'CONFIG_ROOT/settings/shells/wt/settings.json' }
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
# =================== LLMs ============================
|
|
53
|
-
|
|
54
|
-
[chatgpt]
|
|
55
|
-
config = { this = '~/.config/chatgpt/config.json', to_this = '~/dotfiles/creds/llm/chatgpt_cli/config.json' }
|
|
56
|
-
|
|
57
|
-
[mods]
|
|
58
|
-
config = {this = '~/.config/mods/mods.yml', to_this = '~/dotfiles/creds/llm/mods_cli/mods.yml'}
|
|
59
|
-
|
|
60
|
-
[github_cli_token]
|
|
61
|
-
token = {this = '~/.copilot-cli-access-token', to_this = '~/dotfiles/creds/llm/github_cli/.copilot-cli-access-token'}
|
|
62
|
-
|
|
63
|
-
[aider]
|
|
64
|
-
config = {this = '~/.aider.conf.yml', to_this = '~/dotfiles/creds/llm/aider/.aider.conf.yml'}
|
|
65
|
-
|
|
66
|
-
[marvin]
|
|
67
|
-
config = {this = '~/.marvin/.env', to_this = '~/dotfiles/creds/llm/marvin/.env'}
|
|
68
|
-
threads = {this = '~/.marvin/cli/threads/default.json', to_this = '~/dotfiles/creds/llm/marvin/threads/default.json'}
|
|
69
|
-
|
|
70
|
-
[docker]
|
|
71
|
-
config = {this = '~/.docker/config.json', to_this = '~/dotfiles/creds/docker/config.json'}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
# =========================== PUBLIC ======================================
|
|
75
|
-
|
|
76
|
-
[marimo]
|
|
77
|
-
config = {this = '~/.config/marimo/marimo.toml', to_this = 'CONFIG_ROOT/settings/marimo/marimo.toml'}
|
|
78
|
-
|
|
79
|
-
[presenterm]
|
|
80
|
-
config = {this = '~/.config/presenterm/config.yaml', to_this = 'CONFIG_ROOT/settings/presenterm/config.yaml'}
|
|
81
|
-
|
|
82
|
-
[keras]
|
|
83
|
-
config = {this = '~/.keras/keras.json', to_this = 'CONFIG_ROOT/settings/keras/keras.json'}
|
|
84
|
-
|
|
85
|
-
[streamlit]
|
|
86
|
-
config = {this = '~/.streamlit/config.toml', to_this = 'CONFIG_ROOT/settings/streamlit/config.toml'}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
[procs]
|
|
90
|
-
config = {this = '~/.procs.toml', to_this = 'CONFIG_ROOT/settings/procs/.procs.toml'}
|
|
91
|
-
config_again = {this = '~/.config/procs/config.toml', to_this = 'CONFIG_ROOT/settings/procs/.procs.toml'}
|
|
92
|
-
|
|
93
|
-
[rofi_linux]
|
|
94
|
-
config = {this = '~/.config/rofi/config.rasi', to_this = 'CONFIG_ROOT/settings/rofi/config.rasi'}
|
|
95
|
-
|
|
96
|
-
[yazi_windows]
|
|
97
|
-
yazi = {this = '~/AppData/Roaming/yazi/config/yazi.toml', to_this = 'CONFIG_ROOT/settings/yazi/yazi_windows.toml'}
|
|
98
|
-
keymap = {this = '~/AppData/Roaming/yazi/config/keymap.toml', to_this = 'CONFIG_ROOT/settings/yazi/keymap_windows.toml'}
|
|
99
|
-
theme = {this = '~/AppData/Roaming/yazi/config/theme.toml', to_this = 'CONFIG_ROOT/settings/yazi/theme.toml'}
|
|
100
|
-
init = {this = '~/AppData/Roaming/yazi/config/init.lua', to_this = 'CONFIG_ROOT/settings/yazi/init.lua'}
|
|
101
|
-
|
|
102
|
-
[television_linux]
|
|
103
|
-
cable = {this = '~/.config/television/cable', to_this = 'CONFIG_ROOT/settings/television/cable_unix', contents = true}
|
|
104
|
-
|
|
105
|
-
[television_windows]
|
|
106
|
-
cable = {this = '~/AppData/Local/television/config/cable', to_this = 'CONFIG_ROOT/settings/television/cable_windows', contents = true}
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
[yazi_linux]
|
|
110
|
-
yazi = {this = '~/.config/yazi/yazi.toml', to_this = 'CONFIG_ROOT/settings/yazi/yazi_linux.toml'}
|
|
111
|
-
keymap = {this = '~/.config/yazi/keymap.toml', to_this = 'CONFIG_ROOT/settings/yazi/keymap_linux.toml'}
|
|
112
|
-
theme = {this = '~/.config/yazi/theme.toml', to_this = 'CONFIG_ROOT/settings/yazi/theme.toml'}
|
|
113
|
-
init = {this = '~/.config/yazi/init.lua', to_this = 'CONFIG_ROOT/settings/yazi/init.lua'}
|
|
114
|
-
|
|
115
|
-
[lf_windows]
|
|
116
|
-
config = {this = '~/AppData/Local/lf/lfrc', to_this = 'CONFIG_ROOT/settings/lf/windows/lfrc'}
|
|
117
|
-
colors = {this = '~/AppData/Local/lf/colors', to_this = 'CONFIG_ROOT/settings/lf/windows/colors'}
|
|
118
|
-
icons = {this = '~/AppData/Local/lf/icons', to_this = 'CONFIG_ROOT/settings/lf/windows/icons'}
|
|
119
|
-
|
|
120
|
-
[lf_linux]
|
|
121
|
-
colors = {this = '~/.config/lf/colors', to_this = 'CONFIG_ROOT/settings/lf/linux/colors'}
|
|
122
|
-
config = {this = '~/.config/lf/lfrc', to_this = 'CONFIG_ROOT/settings/lf/linux/lfrc'}
|
|
123
|
-
icons = {this = '~/.config/lf/icons', to_this = 'CONFIG_ROOT/settings/lf/linux/icons'}
|
|
124
|
-
|
|
125
|
-
[broot]
|
|
126
|
-
config = {this = '~/.config/broot/conf.toml', to_this = 'CONFIG_ROOT/settings/broot/conf.toml'}
|
|
127
|
-
|
|
128
|
-
[pistol_linux]
|
|
129
|
-
config = {this = '~/.config/pistol/pistol.conf', to_this = 'CONFIG_ROOT/settings/pistol/pistol.conf'}
|
|
130
|
-
|
|
131
|
-
[glow]
|
|
132
|
-
config = {this = '~/.config/glow/glow.yml', to_this = 'CONFIG_ROOT/settings/glow/glow.yml'}
|
|
133
|
-
|
|
134
|
-
[gromit_linux]
|
|
135
|
-
config = {this = '~/.var/app/net.christianbeier.Gromit-MPX/config/gromit-mpx.cfg', to_this = 'CONFIG_ROOT/settings/gromit-mpx/gromit-mpx.cfg', copy = true}
|
|
136
|
-
|
|
137
|
-
# zoxide can't read symlink files see: https://github.com/ajeetdsouza/zoxide/issues?q=is%3Aissue+is%3Aopen+symlink
|
|
138
|
-
# [zoxide_windows]
|
|
139
|
-
# database = {this = '~/AppData/Local/zoxide/db.zo', to_this = '~/dotfiles/settings/zoxide_windows/db.zo'}
|
|
140
|
-
|
|
141
|
-
# [zoxide_linux]
|
|
142
|
-
# database = {this = '~/.local/share/zoxide/db.zo', to_this = '~/dotfiles/settings/zoxide_linux/db.zo'}
|
|
143
|
-
|
|
144
|
-
#[broot_windows]
|
|
145
|
-
#config = { this = '~/AppData/Roaming/dystroy/config', to_this = 'CONFIG_ROOT/settings/broot/config' }
|
|
146
|
-
|
|
147
|
-
[starship]
|
|
148
|
-
config = {this = '~/.config/starship.toml', to_this = 'CONFIG_ROOT/settings/shells/starship/starship.toml'}
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
[kanata]
|
|
152
|
-
config = {this = '~/.config/kanata/kanata.kbd', to_this = 'CONFIG_ROOT/settings/keyboard/kanata/kanata.kbd'}
|
|
153
|
-
|
|
154
|
-
[espanso]
|
|
155
|
-
config = {this = '~/.config/espanso/config/default.yml', to_this = 'CONFIG_ROOT/settings/keyboard/espanso/config/default.yml'}
|
|
156
|
-
match = {this = '~/.config/espanso/match/base.yml', to_this = 'CONFIG_ROOT/settings/keyboard/espanso/match/base.yml', copy = true}
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
[pudb]
|
|
160
|
-
config = {this = '~/.config/pudb/pudb.cfg', to_this = 'CONFIG_ROOT/settings/pudb/pudb.cfg'}
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
# ============================= shells profiles ==================================
|
|
164
|
-
|
|
165
|
-
# [powershell_windows]
|
|
166
|
-
# CurrentUserCurrentHost = {this = '~/Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1', to_this = '~/dotfiles/shells/windows_powershell/CurrentUserCurrentHost/Microsoft.PowerShell_profile.ps1'}
|
|
167
|
-
# CurrentUserAllHosts = {this = '~/Documents\WindowsPowerShell\profile.ps1', to_this = '~/dotfiles/shells/windows_powershell/CurrentUserAllHosts/profile.ps1'}
|
|
168
|
-
# AllUsersCurrentHost = {this = 'C:\Windows\System32\WindowsPowerShell\v1.0\Microsoft.PowerShell_profile.ps1', to_this = '~/dotfiles/shells/powershell/AllUsersCurrentHost/Microsoft.PowerShell_profile.ps1'}
|
|
169
|
-
# AllUsersAllHosts = {this = 'C:\Windows\System32\WindowsPowerShell\v1.0\profile.ps1', to_this = '~/dotfiles/shells/windows_powershell/AllUsersAllHosts/profile.ps1'}
|
|
170
|
-
|
|
171
|
-
# [pwsh_windows]
|
|
172
|
-
# CurrentUserCurrentHost = {this = '~/Documents/PowerShell/Microsoft.PowerShell_profile.ps1', to_this = 'CONFIG_ROOT/settings/shells/pwsh/init.ps1'}
|
|
173
|
-
# CurrentUserAllHosts = {this = '~/Documents/PowerShell/profile.ps1', to_this = 'CONFIG_ROOT/settings/shells/pwsh/profile.ps1'}
|
|
174
|
-
# AllUsersCurrentHost = {this = 'C:\Program Files\PowerShell\7\Microsoft.PowerShell_profile.ps1', to_this = 'CONFIG_ROOT/settings/shells/pwsh/init.ps1'}
|
|
175
|
-
# AllUsersAllHosts = {this = 'C:\Program Files\PowerShell\7\profile.ps1', to_this = 'CONFIG_ROOT/settings/shells/pwsh/init.ps1'}
|
|
176
|
-
|
|
177
|
-
[nushell_windows]
|
|
178
|
-
config = {this = '~/AppData/Roaming/nushell/config.nu', to_this = 'CONFIG_ROOT/settings/shells/nushell/config.nu'}
|
|
179
|
-
env = {this = '~/AppData/Roaming/nushell/env.nu', to_this = 'CONFIG_ROOT/settings/shells/nushell/env.nu'}
|
|
180
|
-
|
|
181
|
-
[nushell_linux]
|
|
182
|
-
config = {this = '~/.config/nushell/config.nu', to_this = 'CONFIG_ROOT/settings/shells/nushell/config.nu'}
|
|
183
|
-
env = {this = '~/.config/nushell/env.nu', to_this = 'CONFIG_ROOT/settings/shells/nushell/env.nu'}
|
|
184
|
-
|
|
185
|
-
[kitty_linux]
|
|
186
|
-
config = {this = '~/.config/kitty/kitty.conf', to_this = 'CONFIG_ROOT/settings/shells/kitty/kitty.conf'}
|
|
187
|
-
|
|
188
|
-
[alacritty_linux]
|
|
189
|
-
config = {this = '~/.config/alacritty/alacritty.toml', to_this = 'CONFIG_ROOT/settings/shells/alacritty/alacritty.toml'}
|
|
190
|
-
config_yaml = {this = '~/.config/alacritty/alacritty.yml', to_this = 'CONFIG_ROOT/settings/shells/alacritty/alacritty.yml'}
|
|
191
|
-
|
|
192
|
-
[alacritty_windows]
|
|
193
|
-
config = {this = '~/AppData/Roaming/alacritty/alacritty.toml', to_this = 'CONFIG_ROOT/settings/shells/alacritty/alacritty.toml'}
|
|
194
|
-
|
|
195
|
-
[hyper_terminal]
|
|
196
|
-
config = {this = '~/.hyper.js', to_this = 'CONFIG_ROOT/settings/shells/hyper/.hyper.js'}
|
|
197
|
-
|
|
198
|
-
[wezterminal]
|
|
199
|
-
config = {this = '~/.config/wezterm/wezterm.lua', to_this = 'CONFIG_ROOT/settings/shells/wezterm/wezterm.lua'}
|
|
200
|
-
|
|
201
|
-
[vtm_windows]
|
|
202
|
-
settings = {this = '~/.config/vtm/settings.xml', to_this = 'CONFIG_ROOT/settings/shells/vtm/settings.xml'}
|
|
203
|
-
|
|
204
|
-
# [ipython_default_config]
|
|
205
|
-
# config = {this = '~/.ipython/profile_default/ipython_config.py', to_this = 'CONFIG_ROOT/settings/shells/ipy/profiles/default/ipython_config.py'}
|
|
206
|
-
# play_extension = {this = '~/.ipython/profile_default/startup/playext.py', to_this = 'CONFIG_ROOT/settings/shells/ipy/profiles/default/startup/playext.py'}
|
|
207
|
-
|
|
208
|
-
[mprocs_windows]
|
|
209
|
-
config = {this = '~/mprocs.yaml', to_this = 'CONFIG_ROOT/settings/mprocs/windows/mprocs.yaml'}
|
|
210
|
-
|
|
211
|
-
# [tmux_linux]
|
|
212
|
-
# config = {this = '~/.tmux.conf', to_this = 'CONFIG_ROOT/settings/tmux/.tmux.conf'}
|
|
213
|
-
# tmate = {this = '~/.tmate.conf', to_this = 'CONFIG_ROOT/settings/tmux/.tmate.conf'}
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
[zellij_linux]
|
|
217
|
-
config = { this = '~/.config/zellij', to_this = 'CONFIG_ROOT/settings/zellij' }
|
|
218
|
-
#themes = { this = '~/.config/zellij/themes', to_this = 'CONFIG_ROOT/settings/zellij/themes' }
|
|
219
|
-
#layouts = { this = '~/.config/zellij/layouts', to_this = 'CONFIG_ROOT/settings/zellij/layouts' }
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
# ===================== IDEs ============================
|
|
223
|
-
|
|
224
|
-
[zed_linux]
|
|
225
|
-
settings = {this = '~/.config/zed/settings.json', to_this = 'CONFIG_ROOT/settings/zed/settings.json'}
|
|
226
|
-
|
|
227
|
-
[helix_windows]
|
|
228
|
-
languages = { this = '~/AppData/Roaming/helix/languages.toml', to_this = 'CONFIG_ROOT/settings/helix/languages.toml' }
|
|
229
|
-
config = { this = '~/AppData/Roaming/helix/config.toml', to_this = 'CONFIG_ROOT/settings/helix/config.toml' }
|
|
230
|
-
|
|
231
|
-
[helix_linux]
|
|
232
|
-
languages = { this = '~/.config/helix/languages.toml', to_this = 'CONFIG_ROOT/settings/helix/languages.toml' }
|
|
233
|
-
config = { this = '~/.config/helix/config.toml', to_this = 'CONFIG_ROOT/settings/helix/config.toml' }
|
|
234
|
-
yazi_picker = { this = '~/.config/helix/yazi-picker.sh', to_this = 'CONFIG_ROOT/settings/helix/yazi-picker.sh' }
|
|
235
|
-
|
|
236
|
-
[lvim_windows]
|
|
237
|
-
config = { this = '~/AppData/Local/lvim/config.lua', to_this = 'CONFIG_ROOT/settings/lvim/windows/config.lua' }
|
|
238
|
-
|
|
239
|
-
[lvim_linux]
|
|
240
|
-
config = { this = '~/.config/lvim/config.lua', to_this = 'CONFIG_ROOT/settings/lvim/linux/config.lua' }
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
[svim_windows]
|
|
244
|
-
init = { this = '~/.SpaceVim.d/init.toml', to_this = 'CONFIG_ROOT/settings/svim/windows/init.toml' }
|
|
245
|
-
|
|
246
|
-
[svim_linux]
|
|
247
|
-
init = { this = '~/.SpaceVim.d/init.toml', to_this = 'CONFIG_ROOT/settings/svim/linux/init.toml' }
|
|
248
|
-
|
|
249
|
-
[linters]
|
|
250
|
-
flake8 = {this = '~/.flake8', to_this = 'CONFIG_ROOT/settings/linters/.flake8'}
|
|
251
|
-
# as per https://mypy.readthedocs.io/en/stable/config_file.html
|
|
252
|
-
mypy = {this = '~/mypy/config/mypy.ini', to_this = 'CONFIG_ROOT/settings/linters/.mypy.ini'}
|
|
253
|
-
mypy2 = {this = '~/.config/mypy/config', to_this = 'CONFIG_ROOT/settings/linters/.mypy.ini'}
|
|
254
|
-
ruff = {this = '~/.ruff.toml', to_this = 'CONFIG_ROOT/settings/linters/.ruff.toml'}
|
|
255
|
-
pylint = {this = '~/.pylintrc', to_this = 'CONFIG_ROOT/settings/linters/.pylintrc'}
|
|
256
|
-
|
|
257
|
-
# ======================= OS ===============================
|
|
258
|
-
|
|
259
|
-
[apps_windows]
|
|
260
|
-
notepadpp = {this = '~/AppData/Local/Microsoft/WindowsApps/notepad++.exe', to_this = 'C:/Program Files/Notepad++/notepad++.exe'}
|
|
261
|
-
# tesseract = {this = '~/AppData/Local/Microsoft/WindowsApps/tesseract.exe', to_this = '~/AppData/Local/Tesseract-OCR/tesseract.exe'} # doesn't work without whole installation dir is on PATH.
|
|
262
|
-
|
|
263
|
-
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
from typing import Literal, Annotated
|
|
4
|
-
from pathlib import Path
|
|
5
|
-
import typer
|
|
6
|
-
import machineconfig.scripts.python.helpers_devops.cli_config_dotfile as dotfile_module
|
|
7
|
-
import machineconfig.profile.create_links_export as create_links_export
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
def configure_shell_profile(which: Annotated[Literal["default", "d", "nushell", "n"], typer.Option(..., "--which", "-w", help="Which shell profile to create/configure")]="default"):
|
|
11
|
-
"""🔗 Configure your shell profile."""
|
|
12
|
-
from machineconfig.profile.create_shell_profile import create_default_shell_profile, create_nu_shell_profile
|
|
13
|
-
match which:
|
|
14
|
-
case "nushell" | "n":
|
|
15
|
-
create_nu_shell_profile()
|
|
16
|
-
return
|
|
17
|
-
case "default" | "d":
|
|
18
|
-
create_default_shell_profile()
|
|
19
|
-
return
|
|
20
|
-
typer.echo(f"[red]Error:[/] Unknown shell profile type: {which}")
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
def pwsh_theme():
|
|
25
|
-
"""🔗 Select powershell prompt theme."""
|
|
26
|
-
import machineconfig.scripts.python.helpers_devops.themes as themes
|
|
27
|
-
file = Path(themes.__file__).parent / "choose_pwsh_theme.ps1"
|
|
28
|
-
import subprocess
|
|
29
|
-
subprocess.run(["pwsh", "-File", str(file)])
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
def starship_theme():
|
|
33
|
-
"""🔗 Select starship prompt theme."""
|
|
34
|
-
import subprocess
|
|
35
|
-
from machineconfig.utils.code import run_shell_script
|
|
36
|
-
|
|
37
|
-
presets: list[str] = ["catppuccin-powerline", "pastel-powerline", "tokyo-night", "gruvbox-rainbow", "jetpack"]
|
|
38
|
-
config_path: Path = Path.home() / ".config" / "starship.toml"
|
|
39
|
-
|
|
40
|
-
typer.echo("\n🚀 Starship Theme Selector\n")
|
|
41
|
-
for idx, preset in enumerate(presets, start=1):
|
|
42
|
-
typer.echo(f"{idx}. {preset}")
|
|
43
|
-
|
|
44
|
-
choice: str = typer.prompt("Select a preset")
|
|
45
|
-
|
|
46
|
-
try:
|
|
47
|
-
choice_idx: int = int(choice)
|
|
48
|
-
if 1 <= choice_idx <= len(presets):
|
|
49
|
-
selected_preset: str = presets[choice_idx - 1]
|
|
50
|
-
typer.echo(f"\n✨ Applying {selected_preset}...")
|
|
51
|
-
run_shell_script(f"""starship preset {selected_preset} -o {config_path}""")
|
|
52
|
-
typer.echo("\n📋 Preview:")
|
|
53
|
-
subprocess.run(["starship", "module", "all"], check=False)
|
|
54
|
-
typer.echo(f"\n✅ {selected_preset} applied!")
|
|
55
|
-
else:
|
|
56
|
-
typer.echo("❌ Invalid selection")
|
|
57
|
-
except ValueError:
|
|
58
|
-
typer.echo("❌ Please enter a valid number")
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
def copy_assets(which: Annotated[Literal["scripts", "s", "settings", "t", "both", "b"], typer.Argument(..., help="Which assets to copy")]):
|
|
62
|
-
"""🔗 Copy asset files from library to machine."""
|
|
63
|
-
import machineconfig.profile.create_helper as create_helper
|
|
64
|
-
match which:
|
|
65
|
-
case "both" | "b":
|
|
66
|
-
create_helper.copy_assets_to_machine(which="scripts")
|
|
67
|
-
create_helper.copy_assets_to_machine(which="settings")
|
|
68
|
-
return
|
|
69
|
-
case "scripts" | "s":
|
|
70
|
-
create_helper.copy_assets_to_machine(which="scripts")
|
|
71
|
-
return
|
|
72
|
-
case "settings" | "t":
|
|
73
|
-
create_helper.copy_assets_to_machine(which="settings")
|
|
74
|
-
return
|
|
75
|
-
typer.echo(f"[red]Error:[/] Unknown asset type: {which}")
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
def link_wsl_and_windows_home():
|
|
79
|
-
"""🔗 Link WSL home and Windows home directories."""
|
|
80
|
-
import machineconfig.utils.ssh_utils.wsl as wsl_utils
|
|
81
|
-
wsl_utils.link_wsl_and_windows()
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
def get_app():
|
|
85
|
-
config_apps = typer.Typer(help="⚙️ [c] configuration subcommands", no_args_is_help=True, add_help_option=False, add_completion=False)
|
|
86
|
-
config_apps.command("private", no_args_is_help=True, help="🔗 [v] Manage private configuration files.")(create_links_export.main_private_from_parser)
|
|
87
|
-
config_apps.command("v", no_args_is_help=True, hidden=True)(create_links_export.main_private_from_parser)
|
|
88
|
-
config_apps.command("public", no_args_is_help=True, help="🔗 [b] Manage public configuration files.")(create_links_export.main_public_from_parser)
|
|
89
|
-
config_apps.command("b", no_args_is_help=True, help="Manage public configuration files.", hidden=True)(create_links_export.main_public_from_parser)
|
|
90
|
-
config_apps.command("dotfile", no_args_is_help=True, help="🔗 [d] Manage dotfiles.")(dotfile_module.main)
|
|
91
|
-
config_apps.command("d", no_args_is_help=True, hidden=True)(dotfile_module.main)
|
|
92
|
-
config_apps.command("shell", no_args_is_help=False, help="🔗 [s] Configure your shell profile.")(configure_shell_profile)
|
|
93
|
-
config_apps.command("s", no_args_is_help=False, help="Configure your shell profile.", hidden=True)(configure_shell_profile)
|
|
94
|
-
config_apps.command("starship-theme", no_args_is_help=False, help="🔗 [t] Select starship prompt theme.")(starship_theme)
|
|
95
|
-
config_apps.command("t", no_args_is_help=False, help="Select starship prompt theme.", hidden=True)(starship_theme)
|
|
96
|
-
config_apps.command("pwsh-theme", no_args_is_help=False, help="🔗 [T] Select powershell prompt theme.")(pwsh_theme)
|
|
97
|
-
config_apps.command("T", no_args_is_help=False, help="Select powershell prompt theme.", hidden=True)(pwsh_theme)
|
|
98
|
-
|
|
99
|
-
config_apps.command("copy-assets", no_args_is_help=True, help="🔗 [c] Copy asset files from library to machine.", hidden=False)(copy_assets)
|
|
100
|
-
config_apps.command("c", no_args_is_help=True, help="Copy asset files from library to machine.", hidden=True)(copy_assets)
|
|
101
|
-
|
|
102
|
-
config_apps.command("link-wsl-windows", no_args_is_help=False, help="🔗 [l] Link WSL home and Windows home directories.", hidden=False)(link_wsl_and_windows_home)
|
|
103
|
-
config_apps.command("l", no_args_is_help=False, help="Link WSL home and Windows home directories.", hidden=True)(link_wsl_and_windows_home)
|
|
104
|
-
|
|
105
|
-
return config_apps
|