machineconfig 7.98__py3-none-any.whl → 8.51__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.
- 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 +271 -152
- machineconfig/jobs/installer/linux_scripts/docker.sh +6 -9
- machineconfig/jobs/installer/package_groups.py +11 -9
- machineconfig/jobs/installer/{custom → python_scripts}/boxes.py +1 -2
- machineconfig/jobs/installer/{custom_dev → python_scripts}/brave.py +1 -1
- machineconfig/jobs/installer/{custom_dev → python_scripts}/code.py +10 -8
- machineconfig/jobs/installer/{custom → python_scripts}/hx.py +30 -13
- machineconfig/jobs/installer/{custom_dev → python_scripts}/nerdfont.py +1 -1
- machineconfig/jobs/installer/{custom_dev → python_scripts}/nerfont_windows_helper.py +6 -5
- machineconfig/jobs/installer/{custom_dev → python_scripts}/sysabc.py +26 -20
- machineconfig/jobs/installer/{custom_dev → python_scripts}/wezterm.py +1 -1
- machineconfig/jobs/installer/{custom → python_scripts}/yazi.py +39 -19
- machineconfig/jobs/scripts/powershell_scripts/cmatrix.ps1 +52 -0
- machineconfig/jobs/scripts/powershell_scripts/mount_ssh.ps1 +13 -0
- machineconfig/jobs/scripts/powershell_scripts/obs.ps1 +4 -0
- machineconfig/jobs/scripts_dynamic/a.py +428 -0
- machineconfig/logger.py +1 -1
- machineconfig/profile/create_helper.py +21 -10
- machineconfig/profile/create_links.py +77 -20
- machineconfig/profile/create_links_export.py +63 -58
- machineconfig/profile/create_shell_profile.py +14 -0
- machineconfig/profile/mapper_data.toml +45 -0
- machineconfig/profile/mapper_dotfiles.toml +249 -0
- machineconfig/scripts/python/agents.py +76 -171
- 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 +8 -6
- 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 -155
- machineconfig/scripts/python/devops.py +57 -38
- machineconfig/scripts/python/devops_navigator.py +17 -3
- machineconfig/scripts/python/fire_jobs.py +10 -193
- machineconfig/scripts/python/ftpx.py +5 -224
- 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 +10 -7
- machineconfig/scripts/python/helpers/helpers_agents/privacy/configs/aichat/config.yaml +5 -0
- machineconfig/scripts/python/helpers/helpers_agents/privacy/configs/aider/.aider.conf.yml +2 -0
- machineconfig/scripts/python/helpers/helpers_agents/privacy/configs/copilot/config.yml +1 -0
- machineconfig/scripts/python/helpers/helpers_agents/privacy/configs/crush/crush.json +10 -0
- machineconfig/scripts/python/helpers/helpers_agents/privacy/configs/gemini/settings.json +12 -0
- machineconfig/scripts/python/helpers/helpers_agents/privacy/privacy.py +109 -0
- machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/templates/template.sh +3 -1
- 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 +4 -4
- 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 +262 -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 +67 -0
- machineconfig/scripts/python/{helpers_devops → helpers/helpers_devops}/cli_nw.py +69 -82
- machineconfig/scripts/python/helpers/helpers_devops/cli_repos.py +274 -0
- machineconfig/scripts/python/{helpers_devops → helpers/helpers_devops}/cli_self.py +47 -22
- 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} +64 -50
- machineconfig/scripts/python/helpers/helpers_devops/run_script.py +197 -0
- 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_fire_command → helpers/helpers_fire_command}/file_wrangler.py +1 -0
- machineconfig/scripts/python/{helpers_fire_command → helpers/helpers_fire_command}/fire_jobs_args_helper.py +1 -0
- 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_network → helpers/helpers_network}/address.py +52 -10
- machineconfig/scripts/python/helpers/helpers_network/address_switch.py +78 -0
- 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 +118 -34
- 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 -2
- 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_devops/cli_utils.py → helpers/helpers_utils/pdf.py} +2 -2
- machineconfig/scripts/python/{helpers_utils/path.py → helpers/helpers_utils/python.py} +65 -40
- machineconfig/scripts/python/helpers/helpers_utils/specs.py +246 -0
- machineconfig/scripts/python/mcfg_entry.py +133 -48
- machineconfig/scripts/python/msearch.py +16 -61
- machineconfig/scripts/python/sessions.py +68 -203
- machineconfig/scripts/python/terminal.py +27 -102
- machineconfig/scripts/python/utils.py +101 -22
- machineconfig/settings/atuin/config.toml +294 -0
- machineconfig/settings/atuin/themes/catppuccin-mocha-mauve.toml +12 -0
- machineconfig/settings/linters/.ruff.toml +2 -1
- machineconfig/settings/mprocs/windows/mprocs.yaml +2 -2
- machineconfig/settings/shells/bash/init.sh +6 -3
- machineconfig/settings/shells/nushell/config.nu +23 -1
- machineconfig/settings/shells/nushell/env.nu +22 -48
- machineconfig/settings/shells/nushell/init.nu +64 -240
- 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 +21 -21
- 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/wt/__init__.py +0 -0
- machineconfig/settings/yazi/yazi_linux.toml +18 -8
- machineconfig/settings/zellij/layouts/st.kdl +40 -9
- machineconfig/settings/zellij/layouts/st2.kdl +1 -1
- machineconfig/setup_linux/__init__.py +0 -1
- machineconfig/setup_linux/apps_desktop.sh +8 -27
- 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 +2 -5
- 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 +78 -33
- 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 +8 -7
- 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 +73 -23
- machineconfig/utils/ssh_utils/abc.py +1 -1
- machineconfig/utils/ssh_utils/copy_from_here.py +19 -14
- machineconfig/utils/ssh_utils/copy_to_here.py +2 -1
- machineconfig/utils/ssh_utils/utils.py +23 -7
- 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-7.98.dist-info → machineconfig-8.51.dist-info}/METADATA +30 -22
- machineconfig-8.51.dist-info/RECORD +543 -0
- machineconfig/jobs/installer/check_installations.py +0 -248
- machineconfig/profile/backup.toml +0 -49
- machineconfig/profile/mapper.toml +0 -263
- machineconfig/scripts/linux/other/switch_ip +0 -20
- machineconfig/scripts/python/helpers/run_py_script.py +0 -79
- machineconfig/scripts/python/helpers/tmp_py_scripts/a.py +0 -26
- 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 -215
- 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/devops_add_identity.py +0 -82
- machineconfig/scripts/python/helpers_network/devops_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_network/wsl_windows_transfer.py +0 -67
- machineconfig/scripts/python/helpers_repos/entrypoint.py +0 -77
- machineconfig/scripts/windows/mounts/mount_ssh.ps1 +0 -13
- machineconfig/setup_linux/others/mint_keyboard_shortcuts.sh +0 -30
- machineconfig/setup_linux/ssh/openssh_all.sh +0 -25
- machineconfig/setup_linux/ssh/openssh_wsl.sh +0 -38
- machineconfig/setup_mac/ssh/openssh_setup.sh +0 -114
- machineconfig/setup_windows/others/obs.ps1 +0 -4
- machineconfig/setup_windows/ssh/add-sshkey.ps1 +0 -29
- machineconfig/setup_windows/ssh/add_identity.ps1 +0 -11
- machineconfig/setup_windows/ssh/openssh-server.ps1 +0 -37
- machineconfig/setup_windows/ssh/openssh-server_add_key.ps1 +0 -7
- machineconfig/setup_windows/ssh/openssh-server_copy-ssh-id.ps1 +0 -14
- machineconfig/utils/options_tv.py +0 -119
- machineconfig/utils/tst.py +0 -20
- machineconfig-7.98.dist-info/RECORD +0 -504
- /machineconfig/jobs/installer/{custom_dev → checks}/__init__.py +0 -0
- /machineconfig/{scripts/python/helpers_agents → jobs/installer/python_scripts}/__init__.py +0 -0
- /machineconfig/jobs/installer/{custom_dev → python_scripts}/alacritty.py +0 -0
- /machineconfig/jobs/installer/{custom_dev → python_scripts}/bypass_paywall.py +0 -0
- /machineconfig/jobs/installer/{custom_dev → python_scripts}/cloudflare_warp_cli.py +0 -0
- /machineconfig/jobs/installer/{custom_dev → python_scripts}/cursor.py +0 -0
- /machineconfig/jobs/installer/{custom_dev → python_scripts}/dubdb_adbc.py +0 -0
- /machineconfig/jobs/installer/{custom_dev → python_scripts}/espanso.py +0 -0
- /machineconfig/jobs/installer/{custom → python_scripts}/gh.py +0 -0
- /machineconfig/jobs/installer/{custom_dev → python_scripts}/goes.py +0 -0
- /machineconfig/jobs/installer/{custom_dev → python_scripts}/lvim.py +0 -0
- /machineconfig/jobs/installer/{custom_dev → python_scripts}/redis.py +0 -0
- /machineconfig/jobs/installer/{custom_dev → python_scripts}/winget.py +0 -0
- /machineconfig/{setup_linux/others → jobs/scripts/bash_scripts}/android.sh +0 -0
- /machineconfig/jobs/{installer/linux_scripts → scripts/bash_scripts}/lid.sh +0 -0
- /machineconfig/{scripts/python/helpers_network → jobs/scripts/bash_scripts}/mount_drive +0 -0
- /machineconfig/{scripts/python/helpers_network → jobs/scripts/bash_scripts}/mount_nfs +0 -0
- /machineconfig/{scripts/python/helpers_network → jobs/scripts/bash_scripts}/mount_nw_drive +0 -0
- /machineconfig/{scripts/python/helpers_network → jobs/scripts/bash_scripts}/mount_smb +0 -0
- /machineconfig/{scripts/linux/other → jobs/scripts/bash_scripts}/share_cloud.sh +0 -0
- /machineconfig/{scripts/linux/other → jobs/scripts/bash_scripts}/share_nfs +0 -0
- /machineconfig/{scripts/linux/other → jobs/scripts/bash_scripts}/start_docker +0 -0
- /machineconfig/{scripts/windows/mounts → jobs/scripts/powershell_scripts}/Restore-ThunderbirdProfile.ps1 +0 -0
- /machineconfig/{setup_windows/others → jobs/scripts/powershell_scripts}/docker.ps1 +0 -0
- /machineconfig/{scripts/windows/mounts → jobs/scripts/powershell_scripts}/mount_nfs.ps1 +0 -0
- /machineconfig/{scripts/windows/mounts → jobs/scripts/powershell_scripts}/mount_nw.ps1 +0 -0
- /machineconfig/{scripts/windows/mounts → jobs/scripts/powershell_scripts}/mount_smb.ps1 +0 -0
- /machineconfig/{setup_windows/others → jobs/scripts/powershell_scripts}/power_options.ps1 +0 -0
- /machineconfig/{scripts/windows/mounts → jobs/scripts/powershell_scripts}/share_cloud.cmd +0 -0
- /machineconfig/{scripts/windows/mounts → jobs/scripts/powershell_scripts}/share_smb.ps1 +0 -0
- /machineconfig/{scripts/windows/mounts → jobs/scripts/powershell_scripts}/unlock_bitlocker.ps1 +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}/templates/prompt.txt +0 -0
- /machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/templates/template.ps1 +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/{setup_windows/wt_and_pwsh → scripts/python/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}/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_devops/themes/choose_starship_theme.ps1 → helpers/helpers_network/__init__.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/{setup_windows/wt_and_pwsh → settings/wt}/set_wt_settings.py +0 -0
- {machineconfig-7.98.dist-info → machineconfig-8.51.dist-info}/WHEEL +0 -0
- {machineconfig-7.98.dist-info → machineconfig-8.51.dist-info}/entry_points.txt +0 -0
- {machineconfig-7.98.dist-info → machineconfig-8.51.dist-info}/top_level.txt +0 -0
|
@@ -109,15 +109,12 @@ echo """✅ INSTALLATION COMPLETE | Docker has been installed successfully
|
|
|
109
109
|
For systemd systems: systemctl start dockerd
|
|
110
110
|
For WSL without systemd: sudo service docker start
|
|
111
111
|
- For more information, visit: https://docs.docker.com/engine/install/linux-postinstall/
|
|
112
|
+
|
|
113
|
+
sudo systemctl start docker
|
|
114
|
+
sudo systemctl enable docker
|
|
115
|
+
sudo usermod -aG docker alex
|
|
116
|
+
logout
|
|
117
|
+
|
|
112
118
|
"""
|
|
113
119
|
|
|
114
120
|
# Additional notes:
|
|
115
|
-
# - In older WSL, after installation, 'docker run hello-world' may fail with connection error
|
|
116
|
-
# See: https://stackoverflow.com/questions/44678725/cannot-connect-to-the-docker-daemon-at-unix-var-run-docker-sock-is-the-docker
|
|
117
|
-
#
|
|
118
|
-
# - No internet in WSL docker instance: add /etc/docker/daemon.json
|
|
119
|
-
# See: https://github.com/MicrosoftDocs/WSL/issues/422
|
|
120
|
-
#
|
|
121
|
-
# - For Databricks environments only:
|
|
122
|
-
# sudo nala install fuse-overlayfs
|
|
123
|
-
|
|
@@ -14,7 +14,6 @@ AGENTS = [
|
|
|
14
14
|
"gemini",
|
|
15
15
|
"crush",
|
|
16
16
|
"opencode-ai",
|
|
17
|
-
# "ollama",
|
|
18
17
|
"chatgpt",
|
|
19
18
|
"mods",
|
|
20
19
|
"q",
|
|
@@ -24,7 +23,9 @@ AGENTS = [
|
|
|
24
23
|
"kilocode",
|
|
25
24
|
"cline",
|
|
26
25
|
"auggie",
|
|
26
|
+
# "codex",
|
|
27
27
|
# "gorilla",
|
|
28
|
+
# "ollama",
|
|
28
29
|
]
|
|
29
30
|
|
|
30
31
|
|
|
@@ -116,6 +117,7 @@ PACKAGES_DEV_UTILS = [
|
|
|
116
117
|
|
|
117
118
|
# Code Analysis, Git & Docs - Code analysis, statistics, documentation, and Git tools
|
|
118
119
|
PACKAGES_CODE_ANALYSIS = [
|
|
120
|
+
"nano",
|
|
119
121
|
"lazygit",
|
|
120
122
|
"onefetch",
|
|
121
123
|
"gitcs",
|
|
@@ -150,22 +152,23 @@ PACKAGES_PRODUCTIVITY = [
|
|
|
150
152
|
]
|
|
151
153
|
|
|
152
154
|
|
|
153
|
-
# sudo nala install cowsay -y || true
|
|
154
|
-
# sudo nala install lolcat -y || true
|
|
155
|
-
# sudo nala install boxes -y || true
|
|
156
|
-
# sudo nala install figlet -y || true
|
|
157
|
-
# sudo nala install fortune -y || true
|
|
158
|
-
# sudo nala install toilet -y || true
|
|
159
155
|
TERMINAL_EYE_CANDY = [
|
|
160
156
|
"lolcatjs",
|
|
161
157
|
"figlet-cli",
|
|
162
158
|
"boxes",
|
|
159
|
+
"cowsay",
|
|
163
160
|
# "transmission",
|
|
164
161
|
# "bytehound",
|
|
165
162
|
# "xcrawl3r",
|
|
166
163
|
# "obsidian",
|
|
167
164
|
# "istio",
|
|
168
165
|
# "cointop",
|
|
166
|
+
# sudo nala install cowsay -y || true
|
|
167
|
+
# sudo nala install lolcat -y || true
|
|
168
|
+
# sudo nala install boxes -y || true
|
|
169
|
+
# sudo nala install figlet -y || true
|
|
170
|
+
# sudo nala install fortune -y || true
|
|
171
|
+
# sudo nala install toilet -y || true
|
|
169
172
|
]
|
|
170
173
|
|
|
171
174
|
|
|
@@ -189,8 +192,8 @@ PACKAGES_SYSTEM_MONITORS = [
|
|
|
189
192
|
|
|
190
193
|
# Search & Archive Tools - File and content search utilities, archive management
|
|
191
194
|
PACKAGES_FILE = [
|
|
195
|
+
|
|
192
196
|
"nerdfont",
|
|
193
|
-
"winget",
|
|
194
197
|
"fd",
|
|
195
198
|
"fzf",
|
|
196
199
|
"tv",
|
|
@@ -253,4 +256,3 @@ PACKAGE_GROUP2NAMES: dict[str, list[str]] = {
|
|
|
253
256
|
"sys-monitor": PACKAGES_SYSTEM_MONITORS,
|
|
254
257
|
"search": PACKAGES_FILE,
|
|
255
258
|
}
|
|
256
|
-
|
|
@@ -40,8 +40,7 @@ def main(installer_data: InstallerData, version: Optional[str] = None) -> None:
|
|
|
40
40
|
)
|
|
41
41
|
|
|
42
42
|
installer = Installer(installer_data=installer_data_modified)
|
|
43
|
-
|
|
44
|
-
decomp_path = downloaded.decompress()
|
|
43
|
+
decomp_path, _version_to_be_installed = installer.binary_download(version=version)
|
|
45
44
|
from pathlib import Path
|
|
46
45
|
for item in decomp_path.rglob("*"):
|
|
47
46
|
if "boxes.exe" in item.name:
|
|
@@ -73,7 +73,7 @@ winget install --no-upgrade --name "Brave" --Id "Brave.Br
|
|
|
73
73
|
from machineconfig.utils.code import print_code, run_shell_script
|
|
74
74
|
try:
|
|
75
75
|
print_code(code=program, lexer="shell", desc="Installation Script Preview")
|
|
76
|
-
run_shell_script(program)
|
|
76
|
+
run_shell_script(program, display_script=True, clean_env=False)
|
|
77
77
|
console.print("✅ Installation completed successfully!", style="bold green")
|
|
78
78
|
except subprocess.CalledProcessError as e:
|
|
79
79
|
console.print(f"❌ Installation failed with exit code {e.returncode}", style="bold red")
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
from typing import Optional
|
|
4
4
|
import platform
|
|
5
|
-
import subprocess
|
|
6
5
|
from rich import box
|
|
7
6
|
from rich.console import Console
|
|
8
7
|
from rich.panel import Panel
|
|
@@ -50,13 +49,16 @@ winget install --no-upgrade --name "Microsoft Visual Studio Code" --Id "Microsof
|
|
|
50
49
|
raise NotImplementedError(error_msg)
|
|
51
50
|
_ = version
|
|
52
51
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
52
|
+
# import subprocess
|
|
53
|
+
# console.print("🔄 EXECUTING | Running VS Code installation...", style="bold yellow")
|
|
54
|
+
# try:
|
|
55
|
+
# subprocess.run(install_script, shell=True, text=True, check=True)
|
|
56
|
+
# console.print("✅ VS Code installation completed successfully", style="bold green")
|
|
57
|
+
# except subprocess.CalledProcessError as e:
|
|
58
|
+
# console.print(f"❌ Installation failed with exit code {e.returncode}", style="bold red")
|
|
59
|
+
# raise
|
|
60
|
+
from machineconfig.utils.code import run_shell_script
|
|
61
|
+
run_shell_script(install_script, display_script=True, clean_env=False)
|
|
60
62
|
|
|
61
63
|
|
|
62
64
|
if __name__ == "__main__":
|
|
@@ -14,7 +14,7 @@ from rich.panel import Panel
|
|
|
14
14
|
from machineconfig.utils.schemas.installer.installer_types import InstallerData
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
LANGUAGES_SUPPORTED = ["python", "nu", "bash", "lua", "powershell", "json", "json5", "toml", "ini", "yaml", "markdown", "markdoc", "markdown_inline"]
|
|
18
18
|
config_dict: InstallerData = {
|
|
19
19
|
"appName": "hx",
|
|
20
20
|
"repoURL": "CMD",
|
|
@@ -50,9 +50,9 @@ def main(installer_data: InstallerData, version: Optional[str], install_lib: boo
|
|
|
50
50
|
|
|
51
51
|
print("\n🔍 [Step 2/5] Locating executable and components...")
|
|
52
52
|
if platform.system() == "Windows":
|
|
53
|
-
hx_file_search = downloaded.
|
|
53
|
+
hx_file_search = [p for p in downloaded.rglob("hx.exe") if p.is_file()]
|
|
54
54
|
else:
|
|
55
|
-
hx_file_search = downloaded.
|
|
55
|
+
hx_file_search = [p for p in downloaded.rglob("hx") if p.is_file()]
|
|
56
56
|
|
|
57
57
|
if not hx_file_search:
|
|
58
58
|
console.print(Panel("❌ ERROR: Could not find 'hx' executable in downloaded files.", title="Error", expand=False))
|
|
@@ -73,12 +73,29 @@ def main(installer_data: InstallerData, version: Optional[str], install_lib: boo
|
|
|
73
73
|
print(" ✨ Executable and components located.")
|
|
74
74
|
|
|
75
75
|
print("\n🗑️ [Step 3/5] Cleaning up previous installation (if any)...")
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
76
|
+
if platform.system() in ["Linux", "Darwin"]:
|
|
77
|
+
runtime_path = PathExtended.home().joinpath(".config/helix/runtime")
|
|
78
|
+
contrib_path = PathExtended.home().joinpath(".config/helix/contrib")
|
|
79
|
+
target_config_dir = PathExtended.home().joinpath(".config/helix").expanduser()
|
|
80
|
+
target_config_dir.mkdir(parents=True, exist_ok=True)
|
|
81
|
+
elif platform.system() == "Windows":
|
|
82
|
+
runtime_path = PathExtended.home().joinpath("AppData/Roaming/helix/runtime")
|
|
83
|
+
contrib_path = PathExtended.home().joinpath("AppData/Roaming/helix/contrib")
|
|
84
|
+
target_config_dir = PathExtended.home().joinpath("AppData/Roaming/helix").expanduser()
|
|
85
|
+
target_config_dir.mkdir(parents=True, exist_ok=True)
|
|
86
|
+
else:
|
|
87
|
+
console.print(
|
|
88
|
+
Panel(
|
|
89
|
+
f"""⚠️ WARNING | Unsupported operating system: {platform.system()}
|
|
90
|
+
| Installation aborted.""",
|
|
91
|
+
title="Warning",
|
|
92
|
+
expand=False,
|
|
93
|
+
)
|
|
94
|
+
)
|
|
95
|
+
print("\n🧹 [Step 5/5] Cleaning up temporary download files...")
|
|
96
|
+
downloaded.delete(sure=True)
|
|
97
|
+
print(" ✨ Cleanup complete.")
|
|
98
|
+
return f"Error: Unsupported OS: {platform.system()}"
|
|
82
99
|
|
|
83
100
|
if platform.system() in ["Linux", "Darwin"]:
|
|
84
101
|
target_bin_path = PathExtended(LINUX_INSTALL_PATH) if platform.system() == "Linux" else PathExtended("/usr/local/bin")
|
|
@@ -104,8 +121,8 @@ def main(installer_data: InstallerData, version: Optional[str], install_lib: boo
|
|
|
104
121
|
continue
|
|
105
122
|
if child.name == "grammars":
|
|
106
123
|
# copy only the specific language files from runtime/grammars if they exist
|
|
107
|
-
for a_language in
|
|
108
|
-
lang_file = child.joinpath(a_language)
|
|
124
|
+
for a_language in LANGUAGES_SUPPORTED:
|
|
125
|
+
lang_file = child.joinpath(f"{a_language}.so")
|
|
109
126
|
if lang_file.exists() and lang_file.is_file():
|
|
110
127
|
dest = target_runtime.joinpath("grammars")
|
|
111
128
|
lang_file.copy(folder=dest, overwrite=True)
|
|
@@ -150,8 +167,8 @@ def main(installer_data: InstallerData, version: Optional[str], install_lib: boo
|
|
|
150
167
|
if not child.exists():
|
|
151
168
|
continue
|
|
152
169
|
if child.name == "grammars":
|
|
153
|
-
for a_language in
|
|
154
|
-
lang_file = child.joinpath(a_language)
|
|
170
|
+
for a_language in LANGUAGES_SUPPORTED:
|
|
171
|
+
lang_file = child.joinpath(f"{a_language}.dll")
|
|
155
172
|
if lang_file.exists() and lang_file.is_file():
|
|
156
173
|
dest = target_runtime.joinpath("grammars")
|
|
157
174
|
lang_file.copy(folder=dest, overwrite=True)
|
|
@@ -32,7 +32,7 @@ def main(installer_data: InstallerData, version: Optional[str]) -> None:
|
|
|
32
32
|
|
|
33
33
|
if current_platform == "Windows":
|
|
34
34
|
console.print("🪟 Installing Nerd Fonts on Windows...", style="bold")
|
|
35
|
-
from machineconfig.jobs.installer.
|
|
35
|
+
from machineconfig.jobs.installer.python_scripts.nerfont_windows_helper import install_nerd_fonts
|
|
36
36
|
|
|
37
37
|
try:
|
|
38
38
|
install_nerd_fonts()
|
|
@@ -13,6 +13,7 @@ from rich.console import Console
|
|
|
13
13
|
from rich.panel import Panel
|
|
14
14
|
|
|
15
15
|
from machineconfig.utils.path_extended import PathExtended
|
|
16
|
+
from machineconfig.utils.accessories import randstr
|
|
16
17
|
from machineconfig.utils.source_of_truth import LIBRARY_ROOT
|
|
17
18
|
from machineconfig.utils.installer_utils.installer_class import Installer
|
|
18
19
|
from machineconfig.utils.schemas.installer.installer_types import InstallerData
|
|
@@ -125,16 +126,16 @@ def install_nerd_fonts() -> None:
|
|
|
125
126
|
folder, _version_to_be_installed = Installer(installer_data=nerd_fonts).binary_download(version=None)
|
|
126
127
|
|
|
127
128
|
console.print("🧹 Cleaning up unnecessary files...")
|
|
128
|
-
[p.delete(sure=True) for p in folder.
|
|
129
|
-
[p.delete(sure=True) for p in folder.
|
|
130
|
-
[p.delete(sure=True) for p in folder.
|
|
129
|
+
[PathExtended(p).delete(sure=True) for p in folder.glob("*Windows*")]
|
|
130
|
+
[PathExtended(p).delete(sure=True) for p in folder.glob("*readme*")]
|
|
131
|
+
[PathExtended(p).delete(sure=True) for p in folder.glob("*LICENSE*")]
|
|
131
132
|
|
|
132
133
|
print("Fonts to be installed:")
|
|
133
|
-
for font in (folder.
|
|
134
|
+
for font in (list(folder.glob("*.ttf")) + list(folder.glob("*.otf"))):
|
|
134
135
|
print(f" - {font}")
|
|
135
136
|
|
|
136
137
|
console.print("⚙️ Installing fonts via PowerShell...")
|
|
137
|
-
file = PathExtended.
|
|
138
|
+
file = PathExtended("~/tmp_results/tmp_files").expanduser().joinpath(f"{randstr()}.ps1")
|
|
138
139
|
file.parent.mkdir(parents=True, exist_ok=True)
|
|
139
140
|
|
|
140
141
|
raw_content = LIBRARY_ROOT.joinpath("jobs/installer/powershell_scripts/install_fonts.ps1").read_text(encoding="utf-8").replace(r".\fonts-to-be-installed", str(folder))
|
|
@@ -22,7 +22,9 @@ if (-not $winget) {
|
|
|
22
22
|
}
|
|
23
23
|
Write-Host "Downloading winget installer..."
|
|
24
24
|
# Invoke-WebRequest -Uri $DownloadUrl -OutFile $DestFile
|
|
25
|
-
Start-BitsTransfer -Source $DownloadUrl -Destination $DestFile
|
|
25
|
+
# Start-BitsTransfer -Source $DownloadUrl -Destination $DestFile #
|
|
26
|
+
#Invoke-WebRequest -Uri $DownloadUrl -OutFile $DestFile -UseBasicParsing
|
|
27
|
+
curl.exe -L -o $DestFile $DownloadUrl
|
|
26
28
|
Write-Host "Saved to: $DestFile"
|
|
27
29
|
# We MUST run Add-AppxPackage in Windows PowerShell
|
|
28
30
|
Write-Host "Installing package via Windows PowerShell..."
|
|
@@ -33,17 +35,18 @@ else {
|
|
|
33
35
|
Write-Host "winget already available. Skipping installation."
|
|
34
36
|
}
|
|
35
37
|
|
|
36
|
-
# [System.Environment]::SetEnvironmentVariable('PYTHONUTF8', '1', 'User')
|
|
37
|
-
# [System.Environment]::SetEnvironmentVariable('PYTHONIOENCODING', 'utf-8', 'User')
|
|
38
|
-
|
|
39
|
-
|
|
40
38
|
winget install --no-upgrade --name "Powershell" --Id "Microsoft.PowerShell" --source winget --scope user --accept-package-agreements --accept-source-agreements # powershell require admin
|
|
41
39
|
winget install --no-upgrade --name "Windows Terminal" --Id "Microsoft.WindowsTerminal" --source winget --scope user --accept-package-agreements --accept-source-agreements # Terminal is is installed by default on W 11
|
|
42
|
-
|
|
40
|
+
winget install --no-upgrade --name "Git" --Id "Git.Git" --source winget --scope user --accept-package-agreements --accept-source-agreements
|
|
41
|
+
powershell -c "irm bun.sh/install.ps1|iex"
|
|
42
|
+
|
|
43
43
|
# --GROUP:gui:Brave+VSCode+Git+WezTerm
|
|
44
44
|
# --GROUP:dev2:VSRedistrib+VSBuildTools+Codeblocks+GnuWin32: Make+GnuPG+graphviz+WinFsp+SSHFS-win+xming+Node.js+Rustup+Cloudflare+Cloudflare WARP+Microsoft Garage Mouse without Borders
|
|
45
45
|
# --GROUP:user:nu+Chrome+ChromeRemoteDesktop+Zoom+7zip+Firefox+Thunderbird+StreamlabsOBS+OBSStudio+MiKTeX+TexMaker+notepad+++Lapce+TesseractOCR+perl+DB Browser for SQLite+sql server management studio+Adobe Acrobat Reader DC+julia+Chafa+bottom+onefetch+Just+hyperfine+AWS CLI
|
|
46
46
|
# Install-Module -Name Terminal-Icons -Repository PSGallery -Force -AcceptLicense -PassThru -Confirm # -RequiredVersion 2.5.10
|
|
47
|
+
# [System.Environment]::SetEnvironmentVariable('PYTHONUTF8', '1', 'User')
|
|
48
|
+
# [System.Environment]::SetEnvironmentVariable('PYTHONIOENCODING', 'utf-8', 'User')
|
|
49
|
+
|
|
47
50
|
|
|
48
51
|
"""
|
|
49
52
|
|
|
@@ -51,23 +54,19 @@ zsh = r"""
|
|
|
51
54
|
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
|
52
55
|
echo "🔄 Updating Homebrew..."
|
|
53
56
|
brew update || true
|
|
57
|
+
|
|
58
|
+
curl -fsSL https://bun.com/install | bash
|
|
59
|
+
|
|
54
60
|
# Note: git and nano are pre-installed on macOS, but we install via Homebrew to ensure latest versions
|
|
55
61
|
# brew install git || true
|
|
56
62
|
# brew install nano || true
|
|
57
63
|
# brew install curl || true
|
|
58
|
-
#
|
|
59
|
-
if [ ! -s "$HOME/.nvm/nvm.sh" ]; then
|
|
60
|
-
echo "📥 Installing NVM (Node Version Manager)..."
|
|
61
|
-
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
|
|
62
|
-
fi
|
|
63
|
-
echo "🔧 Configuring NVM environment..."
|
|
64
|
-
export NVM_DIR="$HOME/.nvm"
|
|
65
|
-
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
|
|
66
|
-
echo "📥 Installing latest Node.js..."
|
|
67
|
-
nvm install node || true
|
|
64
|
+
# nvm install node || true
|
|
68
65
|
# brew install make
|
|
69
66
|
# brew install ffmpeg
|
|
70
67
|
# brew install openssl
|
|
68
|
+
|
|
69
|
+
|
|
71
70
|
echo "✅ Essential tools installation complete."
|
|
72
71
|
"""
|
|
73
72
|
|
|
@@ -80,9 +79,16 @@ sudo nala install build-essential python3-dev -y || true # C build toolchain: W
|
|
|
80
79
|
# sudo nala install libssl-dev -y
|
|
81
80
|
# sudo nala install libaa-bin -y
|
|
82
81
|
|
|
83
|
-
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
|
|
84
|
-
source ~/.bashrc || true
|
|
85
|
-
nvm install node || true
|
|
82
|
+
# curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
|
|
83
|
+
# source ~/.bashrc || true
|
|
84
|
+
# nvm install node || true
|
|
85
|
+
|
|
86
|
+
sudo nala install unzip -y # required by bun installer
|
|
87
|
+
curl -fsSL https://bun.com/install | bash
|
|
88
|
+
. ~/.bashrc || true
|
|
89
|
+
# sudo ln -s $(which bun) /usr/local/bin/node # trick programs that expect node to use bun runtime.
|
|
90
|
+
sudo ln -s ~/.bun/bin/bun /usr/local/bin/node
|
|
91
|
+
|
|
86
92
|
|
|
87
93
|
sudo nala install samba -y || true
|
|
88
94
|
sudo nala install fuse3 -y || true
|
|
@@ -136,4 +142,4 @@ def main(installer_data: InstallerData, version: Optional[str]) -> None:
|
|
|
136
142
|
raise NotImplementedError(error_msg)
|
|
137
143
|
from machineconfig.utils.code import print_code, run_shell_script
|
|
138
144
|
print_code(code=program, lexer="shell", desc="Installation Script Preview")
|
|
139
|
-
run_shell_script(program)
|
|
145
|
+
run_shell_script(program, display_script=True, clean_env=False)
|
|
@@ -31,7 +31,7 @@ def main(installer_data: InstallerData, version: Optional[str]):
|
|
|
31
31
|
|
|
32
32
|
_ = version
|
|
33
33
|
if platform.system() == "Windows":
|
|
34
|
-
program = """winget install --no-upgrade --name "WezTerm"
|
|
34
|
+
program = """winget install --no-upgrade --name "WezTerm" --Id "wez.wezterm" --source winget --accept-package-agreements --accept-source-agreements
|
|
35
35
|
"""
|
|
36
36
|
elif platform.system() in ["Linux", "Darwin"]:
|
|
37
37
|
system_name = "LINUX" if platform.system() == "Linux" else "MACOS"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
from typing import Optional
|
|
2
|
+
from typing import Optional, Any, Callable
|
|
3
3
|
import platform
|
|
4
4
|
from machineconfig.utils.installer_utils.installer_class import Installer
|
|
5
5
|
from machineconfig.utils.schemas.installer.installer_types import InstallerData
|
|
@@ -47,39 +47,59 @@ def main(installer_data: InstallerData, version: Optional[str]):
|
|
|
47
47
|
|
|
48
48
|
yazi_plugins_path = yazi_plugins_dir.joinpath("plugins")
|
|
49
49
|
yazi_flavours_path = yazi_plugins_dir.joinpath("flavors")
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
50
|
+
import shutil
|
|
51
|
+
import os
|
|
52
|
+
import stat
|
|
53
|
+
import time
|
|
54
|
+
|
|
55
|
+
def on_rm_error(_func: Callable[..., Any], path: str, exc: BaseException) -> None:
|
|
56
|
+
os.chmod(path, stat.S_IWRITE)
|
|
57
|
+
try:
|
|
58
|
+
os.unlink(path)
|
|
59
|
+
except Exception:
|
|
60
|
+
pass
|
|
61
|
+
|
|
62
|
+
def force_remove(path: Path) -> None:
|
|
63
|
+
if path.exists():
|
|
64
|
+
if path.is_file():
|
|
65
|
+
path.unlink()
|
|
66
|
+
elif path.is_dir():
|
|
67
|
+
shutil.rmtree(path, onexc=on_rm_error)
|
|
68
|
+
if path.exists():
|
|
69
|
+
time.sleep(0.1)
|
|
70
|
+
shutil.rmtree(path, ignore_errors=True)
|
|
71
|
+
|
|
72
|
+
force_remove(yazi_plugins_path)
|
|
56
73
|
yazi_plugins_dir.mkdir(parents=True, exist_ok=True)
|
|
57
74
|
import git
|
|
58
75
|
git.Repo.clone_from("https://github.com/yazi-rs/plugins", yazi_plugins_path)
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
yazi_flavours_path.unlink()
|
|
62
|
-
elif yazi_flavours_path.is_dir():
|
|
63
|
-
import shutil
|
|
64
|
-
shutil.rmtree(yazi_flavours_path)
|
|
76
|
+
|
|
77
|
+
force_remove(yazi_flavours_path)
|
|
65
78
|
yazi_plugins_dir.mkdir(parents=True, exist_ok=True)
|
|
66
79
|
import git
|
|
67
80
|
git.Repo.clone_from("https://github.com/yazi-rs/flavors", yazi_flavours_path)
|
|
68
81
|
|
|
69
82
|
# previewers:
|
|
83
|
+
from machineconfig.utils.installer_utils.installer_cli import install_if_missing
|
|
84
|
+
install_if_missing("glow")
|
|
85
|
+
install_if_missing("duckdb")
|
|
86
|
+
|
|
70
87
|
if platform.system() == "Linux":
|
|
71
88
|
script = r"""
|
|
72
89
|
sudo nala install poppler-utils -y || true # For PDF preview, needed by yazi.
|
|
73
90
|
"""
|
|
74
91
|
from machineconfig.utils.code import run_shell_script
|
|
75
|
-
run_shell_script(script)
|
|
92
|
+
run_shell_script(script, display_script=True, clean_env=False)
|
|
76
93
|
elif platform.system() == "Darwin":
|
|
77
94
|
script = r"""
|
|
78
95
|
brew install --upgrade poppler || true # For PDF preview, needed by yazi.
|
|
79
96
|
"""
|
|
80
97
|
from machineconfig.utils.code import run_shell_script
|
|
81
|
-
run_shell_script(script)
|
|
98
|
+
run_shell_script(script, display_script=True, clean_env=False)
|
|
82
99
|
elif platform.system() == "Windows":
|
|
100
|
+
install_if_missing(which="git")
|
|
101
|
+
install_if_missing(which="7zip")
|
|
102
|
+
install_if_missing(which="file")
|
|
83
103
|
popler_installer: InstallerData = {
|
|
84
104
|
"appName": "poppler",
|
|
85
105
|
"repoURL": "https://github.com/oschwartz10612/poppler-windows",
|
|
@@ -96,23 +116,23 @@ brew install --upgrade poppler || true # For PDF preview, needed by yazi.
|
|
|
96
116
|
"macos": None,
|
|
97
117
|
}
|
|
98
118
|
}
|
|
99
|
-
}
|
|
119
|
+
} # OR: winget install oschwartz10612.Poppler
|
|
100
120
|
inst_poppler = Installer(installer_data=popler_installer)
|
|
101
121
|
inst_poppler.install(version=None)
|
|
102
122
|
# assuming ouch is already installed
|
|
103
123
|
script = """
|
|
124
|
+
|
|
104
125
|
ya pkg add 'ndtoan96/ouch' # make ouch default previewer in yazi for compressed files
|
|
105
126
|
ya pkg add 'AnirudhG07/rich-preview' # rich-cli based previewer for yazi
|
|
106
|
-
ya
|
|
127
|
+
ya pkg add 'stelcodes/bunny'
|
|
107
128
|
ya pkg add 'Tyarel8/goto-drives'
|
|
108
129
|
ya pkg add 'uhs-robert/sshfs'
|
|
109
130
|
ya pkg add 'boydaihungst/file-extra-metadata'
|
|
110
131
|
ya pkg add 'wylie102/duckdb'
|
|
111
132
|
|
|
112
|
-
|
|
113
133
|
"""
|
|
114
134
|
from machineconfig.utils.code import run_shell_script
|
|
115
|
-
run_shell_script(script)
|
|
135
|
+
run_shell_script(script, display_script=True, clean_env=False)
|
|
116
136
|
|
|
117
137
|
|
|
118
138
|
if __name__ == "__main__":
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
<#
|
|
2
|
+
.SYNOPSIS
|
|
3
|
+
Starts Windows Terminal with 6 panes running rusty-rain in different styles.
|
|
4
|
+
.DESCRIPTION
|
|
5
|
+
Uses `wt.exe` command chaining to create a custom grid layout.
|
|
6
|
+
Requires rusty-rain to be in your system PATH.
|
|
7
|
+
#>
|
|
8
|
+
|
|
9
|
+
# Define the executable command
|
|
10
|
+
$rr = "rusty-rain"
|
|
11
|
+
|
|
12
|
+
# --- Pane Configuration ---
|
|
13
|
+
|
|
14
|
+
# 1. Main Pane: Classic Matrix (Green Binary, White Head)
|
|
15
|
+
$cmd1 = "$rr --group bin --color green --head white"
|
|
16
|
+
|
|
17
|
+
# 2. Right Side: Red Alert (Japanese, Red, Shaded)
|
|
18
|
+
$cmd2 = "$rr --group jap --color red --shade"
|
|
19
|
+
|
|
20
|
+
# 3. Bottom Right: The Ocean (Shapes, Blue RGB, Rising Up)
|
|
21
|
+
$cmd3 = "$rr --group shapes --color 0,191,255 --direction up"
|
|
22
|
+
|
|
23
|
+
# 4. Bottom Strip 1: Developer Mode (Programming Langs, Yellow/Orange)
|
|
24
|
+
$cmd4 = "$rr --group pglangs --color 255,215,0"
|
|
25
|
+
|
|
26
|
+
# 5. Bottom Strip 2: Nature (Plants, Green, Slow)
|
|
27
|
+
$cmd5 = "$rr --group plants --color green --speed 50"
|
|
28
|
+
|
|
29
|
+
# 6. Inner Vertical: Chaos (Emojis, random colors implied, moving Left)
|
|
30
|
+
$cmd6 = "$rr --group emojis --direction left"
|
|
31
|
+
|
|
32
|
+
# --- Layout Construction ---
|
|
33
|
+
# Logic:
|
|
34
|
+
# 1. Create Tab (Pane 1)
|
|
35
|
+
# 2. Split Vertical 40% (Pane 2)
|
|
36
|
+
# 3. Split that Pane Horizontal 50% (Pane 3)
|
|
37
|
+
# 4. Focus Left (Back to Pane 1) -> Split Horizontal 30% (Pane 4)
|
|
38
|
+
# 5. Split that bottom pane Vertical 50% (Pane 5)
|
|
39
|
+
# 6. Focus Up (Back to Main) -> Split Vertical 30% (Pane 6)
|
|
40
|
+
|
|
41
|
+
$wtArgs = "new-tab -p `"Windows PowerShell`" $cmd1 ; " + `
|
|
42
|
+
"split-pane -V -s 0.4 $cmd2 ; " + `
|
|
43
|
+
"split-pane -H -s 0.5 $cmd3 ; " + `
|
|
44
|
+
"move-focus left ; " + `
|
|
45
|
+
"split-pane -H -s 0.3 $cmd4 ; " + `
|
|
46
|
+
"split-pane -V -s 0.5 $cmd5 ; " + `
|
|
47
|
+
"move-focus up ; " + `
|
|
48
|
+
"split-pane -V -s 0.3 $cmd6"
|
|
49
|
+
|
|
50
|
+
# --- Execution ---
|
|
51
|
+
Write-Host "Launching Rusty Rain Grid..." -ForegroundColor Cyan
|
|
52
|
+
Start-Process wt -ArgumentList $wtArgs
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
winget install WinFsp.WinFsp --source winget --scope user --accept-package-agreements --accept-source-agreements; winget install SSHFS-Win.SSHFS-Win --source winget --scope user --accept-package-agreements --accept-source-agreements
|
|
4
|
+
|
|
5
|
+
$host = ''
|
|
6
|
+
$user = ''
|
|
7
|
+
$sharePath = ''
|
|
8
|
+
$driveLetter = ''
|
|
9
|
+
|
|
10
|
+
uv run --python 3.14 --with "machineconfig>=8.51" python -m machineconfig.scripts.python.mount_ssh
|
|
11
|
+
|
|
12
|
+
net use T: \\sshfs.kr\$user@$host.local
|
|
13
|
+
# this worked: net use T: \\sshfs\alex@alex-p51s-5.local
|