machineconfig 3.99__py3-none-any.whl → 7.66__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of machineconfig might be problematic. Click here for more details.
- machineconfig/__init__.py +0 -28
- machineconfig/cluster/remote/distribute.py +0 -1
- machineconfig/cluster/remote/file_manager.py +0 -2
- machineconfig/cluster/remote/script_execution.py +1 -2
- machineconfig/cluster/sessions_managers/{enhanced_command_runner.py → helpers/enhanced_command_runner.py} +4 -6
- machineconfig/cluster/sessions_managers/helpers/load_balancer_helper.py +145 -0
- machineconfig/cluster/sessions_managers/utils/load_balancer.py +53 -0
- machineconfig/cluster/sessions_managers/utils/maker.py +69 -0
- machineconfig/cluster/sessions_managers/wt_local.py +128 -330
- machineconfig/cluster/sessions_managers/wt_local_manager.py +53 -187
- machineconfig/cluster/sessions_managers/wt_remote.py +51 -43
- machineconfig/cluster/sessions_managers/wt_remote_manager.py +49 -197
- machineconfig/cluster/sessions_managers/wt_utils/layout_generator.py +6 -19
- machineconfig/cluster/sessions_managers/wt_utils/manager_persistence.py +52 -0
- machineconfig/cluster/sessions_managers/wt_utils/monitoring_helpers.py +50 -0
- machineconfig/cluster/sessions_managers/wt_utils/status_reporter.py +4 -2
- machineconfig/cluster/sessions_managers/wt_utils/status_reporting.py +76 -0
- machineconfig/cluster/sessions_managers/wt_utils/wt_helpers.py +199 -0
- machineconfig/cluster/sessions_managers/zellij_local.py +81 -375
- machineconfig/cluster/sessions_managers/zellij_local_manager.py +22 -172
- machineconfig/cluster/sessions_managers/zellij_remote.py +40 -41
- machineconfig/cluster/sessions_managers/zellij_remote_manager.py +13 -10
- machineconfig/cluster/sessions_managers/zellij_utils/example_usage.py +4 -8
- machineconfig/cluster/sessions_managers/zellij_utils/layout_generator.py +5 -20
- machineconfig/cluster/sessions_managers/zellij_utils/process_monitor.py +3 -9
- machineconfig/cluster/sessions_managers/zellij_utils/status_reporter.py +3 -1
- machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_helper.py +298 -0
- machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_helper_restart.py +77 -0
- machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_helper_with_panes.py +228 -0
- machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_manager_helper.py +165 -0
- machineconfig/jobs/{python → installer}/check_installations.py +2 -16
- machineconfig/jobs/installer/custom/boxes.py +61 -0
- machineconfig/jobs/installer/custom/gh.py +69 -53
- machineconfig/jobs/installer/custom/hx.py +77 -20
- machineconfig/jobs/installer/custom_dev/alacritty.py +45 -30
- machineconfig/jobs/installer/custom_dev/brave.py +43 -35
- machineconfig/jobs/installer/custom_dev/bypass_paywall.py +31 -20
- machineconfig/jobs/installer/custom_dev/cloudflare_warp_cli.py +23 -0
- machineconfig/jobs/installer/custom_dev/code.py +33 -21
- machineconfig/jobs/installer/custom_dev/dubdb_adbc.py +30 -0
- machineconfig/jobs/installer/custom_dev/espanso.py +64 -41
- machineconfig/jobs/installer/custom_dev/goes.py +41 -36
- machineconfig/jobs/installer/custom_dev/lvim.py +49 -33
- machineconfig/jobs/installer/custom_dev/nerdfont.py +71 -47
- machineconfig/jobs/installer/custom_dev/nerfont_windows_helper.py +32 -26
- machineconfig/jobs/installer/custom_dev/redis.py +51 -33
- machineconfig/jobs/installer/custom_dev/sysabc.py +119 -0
- machineconfig/jobs/installer/custom_dev/wezterm.py +55 -39
- machineconfig/jobs/installer/custom_dev/winget.py +1 -0
- machineconfig/jobs/installer/installer_data.json +3406 -0
- machineconfig/jobs/installer/linux_scripts/brave.sh +4 -14
- machineconfig/jobs/installer/linux_scripts/{warp-cli.sh → cloudflare_warp_cli.sh} +5 -17
- machineconfig/jobs/installer/linux_scripts/docker.sh +5 -17
- machineconfig/jobs/installer/linux_scripts/docker_start.sh +6 -14
- machineconfig/jobs/installer/linux_scripts/edge.sh +3 -11
- machineconfig/jobs/{linux/msc → installer/linux_scripts}/lid.sh +2 -8
- machineconfig/jobs/installer/linux_scripts/nerdfont.sh +5 -17
- machineconfig/jobs/{linux/msc → installer/linux_scripts}/network.sh +2 -8
- machineconfig/jobs/installer/linux_scripts/ngrok.sh +6 -0
- machineconfig/jobs/installer/linux_scripts/q.sh +9 -0
- machineconfig/jobs/installer/linux_scripts/redis.sh +6 -17
- machineconfig/jobs/installer/linux_scripts/vscode.sh +5 -17
- machineconfig/jobs/installer/linux_scripts/wezterm.sh +4 -12
- machineconfig/jobs/installer/package_groups.py +255 -0
- machineconfig/logger.py +0 -1
- machineconfig/profile/backup.toml +49 -0
- machineconfig/profile/bash_shell_profiles.md +11 -0
- machineconfig/profile/create_helper.py +74 -0
- machineconfig/profile/create_links.py +288 -0
- machineconfig/profile/create_links_export.py +100 -0
- machineconfig/profile/create_shell_profile.py +136 -0
- machineconfig/profile/mapper.toml +258 -0
- machineconfig/scripts/Restore-ThunderbirdProfile.ps1 +92 -0
- machineconfig/scripts/__init__.py +0 -4
- machineconfig/scripts/linux/{share_cloud.sh → other/share_cloud.sh} +14 -25
- machineconfig/scripts/linux/wrap_mcfg +47 -0
- machineconfig/scripts/nu/wrap_mcfg.nu +69 -0
- machineconfig/scripts/python/agents.py +198 -0
- machineconfig/scripts/python/ai/command_runner/command_runner.sh +9 -0
- machineconfig/scripts/python/ai/command_runner/prompt.txt +9 -0
- machineconfig/scripts/python/ai/generate_files.py +307 -42
- machineconfig/scripts/python/ai/initai.py +3 -28
- machineconfig/scripts/python/ai/scripts/lint_and_type_check.ps1 +17 -18
- machineconfig/scripts/python/ai/scripts/lint_and_type_check.sh +17 -18
- machineconfig/scripts/python/ai/solutions/_shared.py +9 -1
- machineconfig/scripts/python/ai/solutions/copilot/instructions/python/dev.instructions.md +1 -1
- machineconfig/scripts/python/ai/solutions/copilot/prompts/pyright_fix.md +16 -0
- machineconfig/scripts/python/ai/solutions/generic.py +27 -4
- machineconfig/scripts/python/ai/vscode_tasks.py +37 -0
- machineconfig/scripts/python/cloud.py +29 -0
- machineconfig/scripts/python/croshell.py +117 -181
- machineconfig/scripts/python/define.py +31 -0
- machineconfig/scripts/python/devops.py +44 -124
- machineconfig/scripts/python/devops_navigator.py +10 -0
- machineconfig/scripts/python/env_manager/__init__.py +1 -0
- machineconfig/scripts/python/env_manager/path_manager_backend.py +47 -0
- machineconfig/scripts/python/env_manager/path_manager_tui.py +228 -0
- machineconfig/scripts/python/explore.py +49 -0
- machineconfig/scripts/python/fire_jobs.py +106 -244
- machineconfig/scripts/python/ftpx.py +125 -68
- machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_crush.json +14 -0
- machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_crush.py +37 -0
- machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_cursor_agents.py +22 -0
- machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_gemini.py +42 -0
- machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_qwen.py +30 -0
- machineconfig/scripts/python/helpers_agents/fire_agents_help_launch.py +110 -0
- machineconfig/scripts/python/helpers_agents/fire_agents_helper_types.py +34 -0
- machineconfig/scripts/python/helpers_agents/fire_agents_load_balancer.py +22 -0
- machineconfig/scripts/python/helpers_agents/templates/prompt.txt +6 -0
- machineconfig/scripts/python/helpers_agents/templates/template.ps1 +14 -0
- machineconfig/scripts/python/helpers_agents/templates/template.sh +24 -0
- machineconfig/scripts/python/{cloud_copy.py → helpers_cloud/cloud_copy.py} +30 -23
- machineconfig/scripts/python/{cloud_mount.py → helpers_cloud/cloud_mount.py} +11 -19
- machineconfig/scripts/python/{cloud_sync.py → helpers_cloud/cloud_sync.py} +12 -18
- machineconfig/scripts/python/{helpers → helpers_cloud}/helpers2.py +3 -3
- machineconfig/scripts/python/helpers_croshell/crosh.py +39 -0
- machineconfig/scripts/python/{start_slidev.py → helpers_croshell/start_slidev.py} +17 -7
- machineconfig/scripts/python/helpers_devops/cli_config.py +95 -0
- machineconfig/scripts/python/helpers_devops/cli_config_dotfile.py +89 -0
- machineconfig/scripts/python/helpers_devops/cli_data.py +25 -0
- machineconfig/scripts/python/helpers_devops/cli_nw.py +134 -0
- machineconfig/scripts/python/helpers_devops/cli_repos.py +182 -0
- machineconfig/scripts/python/helpers_devops/cli_self.py +134 -0
- machineconfig/scripts/python/helpers_devops/cli_share_file.py +137 -0
- machineconfig/scripts/python/helpers_devops/cli_share_server.py +141 -0
- machineconfig/scripts/python/helpers_devops/cli_terminal.py +156 -0
- machineconfig/scripts/python/helpers_devops/cli_utils.py +96 -0
- machineconfig/scripts/python/{devops_backup_retrieve.py → helpers_devops/devops_backup_retrieve.py} +7 -10
- machineconfig/scripts/python/helpers_devops/devops_status.py +511 -0
- machineconfig/scripts/python/helpers_devops/devops_update_repos.py +269 -0
- machineconfig/scripts/python/helpers_devops/themes/choose_pwsh_theme.ps1 +81 -0
- machineconfig/scripts/python/helpers_devops/themes/choose_starship_theme.bash +3 -0
- machineconfig/scripts/python/{choose_wezterm_theme.py → helpers_devops/themes/choose_wezterm_theme.py} +2 -2
- machineconfig/scripts/python/helpers_fire_command/__init__.py +0 -0
- machineconfig/scripts/python/{helpers/helpers4.py → helpers_fire_command/file_wrangler.py} +57 -87
- machineconfig/scripts/python/helpers_fire_command/fire_jobs_args_helper.py +145 -0
- machineconfig/scripts/python/helpers_fire_command/fire_jobs_route_helper.py +110 -0
- machineconfig/scripts/python/helpers_fire_command/fire_jobs_streamlit_helper.py +0 -0
- machineconfig/scripts/python/helpers_msearch/__init__.py +5 -0
- machineconfig/scripts/{linux → python/helpers_msearch/scripts_linux}/fzfag +1 -1
- machineconfig/scripts/{linux → python/helpers_msearch/scripts_linux}/fzfg +1 -1
- machineconfig/scripts/{linux → python/helpers_msearch/scripts_linux}/fzfrga +1 -1
- machineconfig/scripts/python/helpers_navigator/__init__.py +20 -0
- machineconfig/scripts/python/helpers_navigator/command_builder.py +111 -0
- machineconfig/scripts/python/helpers_navigator/command_detail.py +44 -0
- machineconfig/scripts/python/helpers_navigator/command_tree.py +588 -0
- machineconfig/scripts/python/helpers_navigator/data_models.py +28 -0
- machineconfig/scripts/python/helpers_navigator/main_app.py +272 -0
- machineconfig/scripts/python/helpers_navigator/search_bar.py +15 -0
- machineconfig/scripts/python/helpers_repos/action.py +209 -0
- machineconfig/scripts/python/helpers_repos/action_helper.py +150 -0
- machineconfig/scripts/python/{repos_helper_clone.py → helpers_repos/clone.py} +6 -7
- machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py +218 -0
- machineconfig/scripts/python/helpers_repos/count_lines.py +348 -0
- machineconfig/scripts/python/helpers_repos/count_lines_frontend.py +17 -0
- machineconfig/scripts/python/helpers_repos/entrypoint.py +77 -0
- machineconfig/scripts/python/helpers_repos/grource.py +340 -0
- machineconfig/scripts/python/{repos_helper_record.py → helpers_repos/record.py} +7 -4
- machineconfig/scripts/python/helpers_repos/sync.py +66 -0
- machineconfig/scripts/python/{repos_helper_update.py → helpers_repos/update.py} +3 -3
- machineconfig/scripts/python/helpers_sessions/__init__.py +0 -0
- machineconfig/scripts/python/helpers_sessions/sessions_multiprocess.py +58 -0
- machineconfig/scripts/python/helpers_utils/download.py +152 -0
- machineconfig/scripts/python/helpers_utils/path.py +108 -0
- machineconfig/scripts/python/interactive.py +79 -160
- machineconfig/scripts/python/machineconfig.py +63 -0
- machineconfig/scripts/python/msearch.py +21 -0
- machineconfig/scripts/python/nw/__init__.py +0 -0
- machineconfig/scripts/python/{devops_add_identity.py → nw/devops_add_identity.py} +1 -3
- machineconfig/scripts/python/{devops_add_ssh_key.py → nw/devops_add_ssh_key.py} +74 -44
- machineconfig/scripts/{linux → python/nw}/mount_nfs +1 -1
- machineconfig/scripts/python/{mount_nfs.py → nw/mount_nfs.py} +19 -16
- machineconfig/scripts/{linux → python/nw}/mount_nw_drive +1 -2
- machineconfig/scripts/python/{mount_ssh.py → nw/mount_ssh.py} +7 -8
- machineconfig/scripts/python/{onetimeshare.py → nw/onetimeshare.py} +0 -1
- machineconfig/scripts/python/nw/ssh_debug_linux.py +391 -0
- machineconfig/scripts/python/nw/ssh_debug_windows.py +338 -0
- machineconfig/scripts/python/{wifi_conn.py → nw/wifi_conn.py} +1 -53
- machineconfig/scripts/python/{wsl_windows_transfer.py → nw/wsl_windows_transfer.py} +6 -5
- machineconfig/scripts/python/sessions.py +167 -0
- machineconfig/scripts/python/terminal.py +127 -0
- machineconfig/scripts/python/utils.py +66 -0
- machineconfig/scripts/windows/{mount_nfs.ps1 → mounts/mount_nfs.ps1} +1 -3
- machineconfig/scripts/windows/{mount_ssh.ps1 → mounts/mount_ssh.ps1} +1 -1
- machineconfig/scripts/windows/{share_smb.ps1 → mounts/share_smb.ps1} +0 -6
- machineconfig/scripts/windows/wrap_mcfg.ps1 +60 -0
- machineconfig/settings/broot/br.sh +0 -4
- machineconfig/settings/broot/conf.toml +1 -1
- machineconfig/settings/helix/config.toml +16 -0
- machineconfig/settings/helix/languages.toml +13 -4
- machineconfig/settings/helix/yazi-picker.sh +12 -0
- machineconfig/settings/lf/linux/exe/lfcd.sh +1 -0
- machineconfig/settings/lf/linux/exe/previewer.sh +9 -3
- machineconfig/settings/lf/linux/lfrc +10 -12
- machineconfig/settings/lf/windows/fzf_edit.ps1 +2 -2
- machineconfig/settings/lf/windows/lfrc +18 -38
- machineconfig/settings/lf/windows/mkfile.ps1 +1 -1
- machineconfig/settings/linters/.ruff.toml +1 -1
- machineconfig/settings/lvim/windows/archive/config_additional.lua +0 -6
- machineconfig/settings/marimo/marimo.toml +80 -0
- machineconfig/settings/marimo/snippets/globalize.py +34 -0
- machineconfig/settings/pistol/pistol.conf +1 -1
- machineconfig/settings/shells/bash/init.sh +55 -31
- machineconfig/settings/shells/nushell/config.nu +1 -34
- machineconfig/settings/shells/nushell/init.nu +127 -0
- machineconfig/settings/shells/pwsh/init.ps1 +60 -43
- machineconfig/settings/shells/starship/starship.toml +16 -0
- machineconfig/settings/shells/wezterm/wezterm.lua +2 -0
- machineconfig/settings/shells/wt/settings.json +32 -17
- machineconfig/settings/shells/zsh/init.sh +89 -0
- machineconfig/settings/svim/linux/init.toml +0 -4
- machineconfig/settings/svim/windows/init.toml +0 -3
- machineconfig/settings/yazi/init.lua +57 -0
- machineconfig/settings/yazi/keymap_linux.toml +79 -0
- machineconfig/settings/yazi/keymap_windows.toml +78 -0
- machineconfig/settings/yazi/shell/yazi_cd.ps1 +33 -0
- machineconfig/settings/yazi/shell/yazi_cd.sh +8 -0
- machineconfig/settings/yazi/yazi.toml +13 -0
- machineconfig/setup_linux/__init__.py +10 -0
- machineconfig/setup_linux/apps_desktop.sh +89 -0
- machineconfig/setup_linux/apps_gui.sh +64 -0
- machineconfig/setup_linux/{nix → others}/cli_installation.sh +9 -29
- machineconfig/setup_linux/ssh/openssh_all.sh +25 -0
- machineconfig/setup_linux/ssh/openssh_wsl.sh +38 -0
- machineconfig/setup_linux/uv.sh +15 -0
- machineconfig/setup_linux/web_shortcuts/interactive.sh +26 -6
- machineconfig/setup_mac/__init__.py +16 -0
- machineconfig/setup_mac/apps_gui.sh +248 -0
- machineconfig/setup_mac/ssh/openssh_setup.sh +114 -0
- machineconfig/setup_mac/uv.sh +36 -0
- machineconfig/setup_windows/__init__.py +8 -0
- machineconfig/setup_windows/others/power_options.ps1 +7 -0
- machineconfig/setup_windows/ssh/add-sshkey.ps1 +29 -0
- machineconfig/setup_windows/ssh/add_identity.ps1 +11 -0
- machineconfig/setup_windows/ssh/openssh-server.ps1 +37 -0
- machineconfig/setup_windows/uv.ps1 +10 -0
- machineconfig/setup_windows/web_shortcuts/interactive.ps1 +27 -9
- machineconfig/setup_windows/web_shortcuts/quick_init.ps1 +16 -0
- machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py +37 -23
- machineconfig/utils/accessories.py +7 -5
- machineconfig/utils/cloud/onedrive/README.md +139 -0
- machineconfig/utils/code.py +140 -93
- machineconfig/utils/files/art/fat_croco.txt +10 -0
- machineconfig/utils/files/art/halfwit_croco.txt +9 -0
- machineconfig/utils/files/art/happy_croco.txt +22 -0
- machineconfig/utils/files/art/water_croco.txt +11 -0
- machineconfig/utils/files/ascii_art.py +118 -0
- machineconfig/utils/files/dbms.py +257 -0
- machineconfig/utils/files/headers.py +68 -0
- machineconfig/utils/files/ouch/__init__.py +0 -0
- machineconfig/utils/files/ouch/decompress.py +45 -0
- machineconfig/utils/files/read.py +95 -0
- machineconfig/utils/installer_utils/github_release_bulk.py +2 -12
- machineconfig/utils/installer_utils/installer_class.py +68 -126
- machineconfig/utils/installer_utils/installer_cli.py +181 -0
- machineconfig/utils/installer_utils/{installer_abc.py → installer_locator_utils.py} +38 -85
- machineconfig/utils/{installer.py → installer_utils/installer_runner.py} +69 -69
- machineconfig/utils/io.py +77 -23
- machineconfig/utils/links.py +309 -100
- machineconfig/utils/meta.py +255 -0
- machineconfig/utils/notifications.py +1 -1
- machineconfig/utils/options.py +10 -25
- machineconfig/utils/path_extended.py +94 -104
- machineconfig/utils/path_helper.py +75 -22
- machineconfig/utils/procs.py +50 -74
- machineconfig/utils/scheduler.py +94 -97
- machineconfig/utils/scheduling.py +0 -3
- machineconfig/utils/schemas/fire_agents/fire_agents_input.py +5 -17
- machineconfig/utils/schemas/installer/installer_types.py +0 -1
- machineconfig/utils/schemas/layouts/layout_types.py +2 -1
- machineconfig/utils/source_of_truth.py +3 -6
- machineconfig/utils/ssh.py +742 -254
- machineconfig/utils/ssh_utils/utils.py +0 -0
- machineconfig/utils/terminal.py +3 -140
- machineconfig/utils/tst.py +20 -0
- machineconfig/utils/upgrade_packages.py +109 -28
- machineconfig/utils/ve.py +13 -5
- machineconfig-7.66.dist-info/METADATA +124 -0
- machineconfig-7.66.dist-info/RECORD +451 -0
- machineconfig-7.66.dist-info/entry_points.txt +15 -0
- machineconfig/cluster/templates/utils.py +0 -51
- machineconfig/jobs/installer/linux_scripts/pgsql.sh +0 -49
- machineconfig/jobs/installer/linux_scripts/timescaledb.sh +0 -85
- machineconfig/jobs/installer/packages_custom_dev.json +0 -226
- machineconfig/jobs/installer/packages_custom_essential.json +0 -39
- machineconfig/jobs/installer/packages_github_dev.json +0 -1110
- machineconfig/jobs/installer/packages_github_essential.json +0 -804
- machineconfig/jobs/linux/msc/cli_agents.sh +0 -37
- machineconfig/jobs/python/create_bootable_media.py +0 -16
- machineconfig/jobs/python/python_cargo_build_share.py +0 -59
- machineconfig/jobs/python/python_ve_symlink.py +0 -29
- machineconfig/jobs/python/tasks.py +0 -3
- machineconfig/jobs/python/vscode/api.py +0 -49
- machineconfig/jobs/python/vscode/sync_code.py +0 -58
- machineconfig/jobs/windows/archive/archive_pygraphviz.ps1 +0 -14
- machineconfig/jobs/windows/start_terminal.ps1 +0 -6
- machineconfig/jobs/windows/startup_file.cmd +0 -2
- machineconfig/profile/create.py +0 -170
- machineconfig/profile/shell.py +0 -176
- machineconfig/scripts/cloud/init.sh +0 -119
- machineconfig/scripts/linux/choose_wezterm_theme +0 -3
- machineconfig/scripts/linux/cloud_copy +0 -2
- machineconfig/scripts/linux/cloud_mount +0 -2
- machineconfig/scripts/linux/cloud_repo_sync +0 -2
- machineconfig/scripts/linux/cloud_sync +0 -2
- machineconfig/scripts/linux/croshell +0 -3
- machineconfig/scripts/linux/devops +0 -2
- machineconfig/scripts/linux/fire +0 -2
- machineconfig/scripts/linux/fire_agents +0 -2
- machineconfig/scripts/linux/ftpx +0 -2
- machineconfig/scripts/linux/fzf2g +0 -21
- machineconfig/scripts/linux/fzffg +0 -25
- machineconfig/scripts/linux/gh_models +0 -2
- machineconfig/scripts/linux/initai +0 -2
- machineconfig/scripts/linux/kill_process +0 -2
- machineconfig/scripts/linux/programs +0 -21
- machineconfig/scripts/linux/repos +0 -2
- machineconfig/scripts/linux/scheduler +0 -2
- machineconfig/scripts/linux/share_smb +0 -1
- machineconfig/scripts/linux/start_slidev +0 -2
- machineconfig/scripts/linux/start_terminals +0 -3
- machineconfig/scripts/linux/warp-cli.sh +0 -122
- machineconfig/scripts/linux/wifi_conn +0 -2
- machineconfig/scripts/linux/z_ls +0 -104
- machineconfig/scripts/python/ai/solutions/copilot/prompts/allLintersAndTypeCheckers.prompt.md +0 -5
- machineconfig/scripts/python/cloud_repo_sync.py +0 -186
- machineconfig/scripts/python/devops_devapps_install.py +0 -159
- machineconfig/scripts/python/devops_update_repos.py +0 -180
- machineconfig/scripts/python/dotfile.py +0 -52
- machineconfig/scripts/python/fire_agents.py +0 -175
- machineconfig/scripts/python/fire_agents_help_launch.py +0 -143
- machineconfig/scripts/python/fire_agents_load_balancer.py +0 -50
- machineconfig/scripts/python/fire_jobs_args_helper.py +0 -75
- machineconfig/scripts/python/fire_jobs_layout_helper.py +0 -74
- machineconfig/scripts/python/get_zellij_cmd.py +0 -15
- machineconfig/scripts/python/gh_models.py +0 -104
- machineconfig/scripts/python/helpers/repo_sync_helpers.py +0 -114
- machineconfig/scripts/python/repos.py +0 -80
- machineconfig/scripts/python/repos_helper_action.py +0 -335
- machineconfig/scripts/python/share_terminal.py +0 -104
- machineconfig/scripts/python/snapshot.py +0 -25
- machineconfig/scripts/python/start_terminals.py +0 -121
- machineconfig/scripts/python/t4.py +0 -17
- machineconfig/scripts/windows/choose_wezterm_theme.ps1 +0 -1
- machineconfig/scripts/windows/cloud_copy.ps1 +0 -1
- machineconfig/scripts/windows/cloud_mount.ps1 +0 -1
- machineconfig/scripts/windows/cloud_repo_sync.ps1 +0 -1
- machineconfig/scripts/windows/cloud_sync.ps1 +0 -1
- machineconfig/scripts/windows/croshell.ps1 +0 -1
- machineconfig/scripts/windows/devops.ps1 +0 -1
- machineconfig/scripts/windows/dotfile.ps1 +0 -1
- machineconfig/scripts/windows/fire.ps1 +0 -1
- machineconfig/scripts/windows/ftpx.ps1 +0 -1
- machineconfig/scripts/windows/gpt.ps1 +0 -1
- machineconfig/scripts/windows/grep.ps1 +0 -2
- machineconfig/scripts/windows/initai.ps1 +0 -1
- machineconfig/scripts/windows/kill_process.ps1 +0 -1
- machineconfig/scripts/windows/nano.ps1 +0 -3
- machineconfig/scripts/windows/pomodoro.ps1 +0 -1
- machineconfig/scripts/windows/reload_path.ps1 +0 -3
- machineconfig/scripts/windows/repos.ps1 +0 -1
- machineconfig/scripts/windows/scheduler.ps1 +0 -1
- machineconfig/scripts/windows/snapshot.ps1 +0 -1
- machineconfig/scripts/windows/start_slidev.ps1 +0 -1
- machineconfig/scripts/windows/start_terminals.ps1 +0 -1
- machineconfig/scripts/windows/wifi_conn.ps1 +0 -2
- machineconfig/scripts/windows/wsl_rdp_windows_port_forwarding.ps1 +0 -46
- machineconfig/scripts/windows/wsl_ssh_windows_port_forwarding.ps1 +0 -76
- machineconfig/settings/lf/linux/exe/fzf_nano.sh +0 -16
- machineconfig/setup_linux/others/openssh-server_add_pub_key.sh +0 -57
- machineconfig/setup_linux/web_shortcuts/ascii_art.sh +0 -93
- machineconfig/setup_linux/web_shortcuts/croshell.sh +0 -11
- machineconfig/setup_linux/web_shortcuts/ssh.sh +0 -52
- machineconfig/setup_windows/web_shortcuts/all.ps1 +0 -18
- machineconfig/setup_windows/web_shortcuts/ascii_art.ps1 +0 -36
- machineconfig/setup_windows/web_shortcuts/croshell.ps1 +0 -16
- machineconfig/setup_windows/web_shortcuts/ssh.ps1 +0 -11
- machineconfig/utils/ai/generate_file_checklist.py +0 -68
- machineconfig-3.99.dist-info/METADATA +0 -167
- machineconfig-3.99.dist-info/RECORD +0 -409
- machineconfig-3.99.dist-info/entry_points.txt +0 -18
- machineconfig/cluster/{templates → remote}/run_cloud.py +0 -0
- machineconfig/cluster/{templates → remote}/run_cluster.py +0 -0
- machineconfig/cluster/{templates → remote}/run_remote.py +0 -0
- machineconfig/scripts/linux/{share_nfs → other/share_nfs} +0 -0
- machineconfig/scripts/linux/{start_docker → other/start_docker} +0 -0
- machineconfig/scripts/linux/{switch_ip → other/switch_ip} +0 -0
- machineconfig/{jobs/python → scripts/python/helpers_agents}/__init__.py +0 -0
- machineconfig/scripts/python/{helpers → helpers_agents/agentic_frameworks}/__init__.py +0 -0
- machineconfig/scripts/python/{fire_agents_help_search.py → helpers_agents/fire_agents_help_search.py} +0 -0
- machineconfig/{jobs/windows/msc/cli_agents.bat → scripts/python/helpers_cloud/__init__.py} +0 -0
- machineconfig/scripts/python/{helpers → helpers_cloud}/cloud_helpers.py +1 -1
- /machineconfig/scripts/python/{helpers → helpers_cloud}/helpers5.py +0 -0
- /machineconfig/{jobs/windows/msc/cli_agents.ps1 → scripts/python/helpers_croshell/__init__.py} +0 -0
- /machineconfig/scripts/python/{pomodoro.py → helpers_croshell/pomodoro.py} +0 -0
- /machineconfig/scripts/python/{scheduler.py → helpers_croshell/scheduler.py} +0 -0
- /machineconfig/scripts/python/{viewer.py → helpers_croshell/viewer.py} +0 -0
- /machineconfig/scripts/python/{viewer_template.py → helpers_croshell/viewer_template.py} +0 -0
- /machineconfig/scripts/python/{fire_jobs_streamlit_helper.py → helpers_devops/__init__.py} +0 -0
- /machineconfig/scripts/{windows/share_nfs.ps1 → python/helpers_devops/themes/__init__.py} +0 -0
- /machineconfig/{settings/yazi/keymap.toml → scripts/python/helpers_devops/themes/choose_starship_theme.ps1} +0 -0
- /machineconfig/scripts/python/{cloud_manager.py → helpers_fire_command/cloud_manager.py} +0 -0
- /machineconfig/scripts/{linux → python/helpers_msearch/scripts_linux}/skrg +0 -0
- /machineconfig/scripts/{windows → python/helpers_msearch/scripts_windows}/fzfb.ps1 +0 -0
- /machineconfig/scripts/{windows → python/helpers_msearch/scripts_windows}/fzfg.ps1 +0 -0
- /machineconfig/scripts/{windows → python/helpers_msearch/scripts_windows}/fzfrga.bat +0 -0
- /machineconfig/scripts/{linux → python/nw}/mount_drive +0 -0
- /machineconfig/scripts/python/{mount_nw_drive.py → nw/mount_nw_drive.py} +0 -0
- /machineconfig/scripts/{linux → python/nw}/mount_smb +0 -0
- /machineconfig/scripts/windows/{mount_nw.ps1 → mounts/mount_nw.ps1} +0 -0
- /machineconfig/scripts/windows/{mount_smb.ps1 → mounts/mount_smb.ps1} +0 -0
- /machineconfig/scripts/windows/{share_cloud.cmd → mounts/share_cloud.cmd} +0 -0
- /machineconfig/scripts/windows/{unlock_bitlocker.ps1 → mounts/unlock_bitlocker.ps1} +0 -0
- /machineconfig/setup_linux/{web_shortcuts → others}/android.sh +0 -0
- /machineconfig/{jobs/windows/archive → setup_windows/ssh}/openssh-server_add_key.ps1 +0 -0
- /machineconfig/{jobs/windows/archive → setup_windows/ssh}/openssh-server_copy-ssh-id.ps1 +0 -0
- {machineconfig-3.99.dist-info → machineconfig-7.66.dist-info}/WHEEL +0 -0
- {machineconfig-3.99.dist-info → machineconfig-7.66.dist-info}/top_level.txt +0 -0
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
"""natural language to API
|
|
2
|
-
https://github.com/
|
|
3
|
-
try:
|
|
4
|
-
subprocess.run(install_script, shell=True, text=True, check=True)
|
|
5
|
-
print("✅ Go installation completed successfully")
|
|
6
|
-
except subprocess.CalledProcessError as e:
|
|
7
|
-
print(f"❌ Installation failed with exit code {e.returncode}")
|
|
8
|
-
raisel/gorilla
|
|
2
|
+
https://github.com/ShishirPatil/gorilla
|
|
9
3
|
"""
|
|
10
4
|
|
|
11
5
|
import subprocess
|
|
6
|
+
from rich import box
|
|
7
|
+
from rich.console import Console
|
|
8
|
+
from rich.panel import Panel
|
|
12
9
|
from machineconfig.utils.schemas.installer.installer_types import InstallerData
|
|
13
10
|
|
|
14
11
|
# config_dict: InstallerData = {
|
|
@@ -20,44 +17,52 @@ from machineconfig.utils.schemas.installer.installer_types import InstallerData
|
|
|
20
17
|
ve_name = "goex"
|
|
21
18
|
|
|
22
19
|
|
|
23
|
-
def main(installer_data: InstallerData):
|
|
20
|
+
def main(installer_data: InstallerData) -> None:
|
|
21
|
+
console = Console()
|
|
24
22
|
_ = installer_data
|
|
25
|
-
print(
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
""
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
23
|
+
console.print(
|
|
24
|
+
Panel.fit(
|
|
25
|
+
"\n".join(
|
|
26
|
+
[
|
|
27
|
+
"Natural language to API converter",
|
|
28
|
+
"🌐 Source: https://github.com/ShishirPatil/gorilla",
|
|
29
|
+
f"📦 Virtual Environment: {ve_name}",
|
|
30
|
+
]
|
|
31
|
+
),
|
|
32
|
+
title="🦍 Gorilla Installer",
|
|
33
|
+
border_style="blue",
|
|
34
|
+
box=box.ROUNDED,
|
|
35
|
+
)
|
|
36
|
+
)
|
|
35
37
|
|
|
38
|
+
console.print("🔄 Preparing installation script...", style="bold")
|
|
39
|
+
install_script = """
|
|
36
40
|
cd ~/code/foreign
|
|
37
41
|
git clone https://github.com/ShishirPatil/gorilla --depth 1
|
|
38
42
|
cd gorilla/goex
|
|
39
43
|
uv sync
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
print(f"""
|
|
43
|
-
{"=" * 150}
|
|
44
|
-
📋 INSTALLATION STEPS:
|
|
45
|
-
1️⃣ Creating Python 3.13 virtual environment: {ve_name}
|
|
46
|
-
2️⃣ Cloning Gorilla repository to ~/code/foreign
|
|
47
|
-
3️⃣ Installing Gorilla in development mode
|
|
48
|
-
{"=" * 150}
|
|
44
|
+
"""
|
|
49
45
|
|
|
50
|
-
|
|
51
|
-
|
|
46
|
+
console.print(
|
|
47
|
+
Panel.fit(
|
|
48
|
+
"\n".join(
|
|
49
|
+
[
|
|
50
|
+
f"1️⃣ Create Python 3.13 virtual environment: {ve_name}",
|
|
51
|
+
"2️⃣ Clone Gorilla repository to ~/code/foreign",
|
|
52
|
+
"3️⃣ Install Gorilla in development mode",
|
|
53
|
+
]
|
|
54
|
+
),
|
|
55
|
+
title="📋 Installation Steps",
|
|
56
|
+
subtitle="✅ Installation script prepared successfully!",
|
|
57
|
+
border_style="magenta",
|
|
58
|
+
box=box.ROUNDED,
|
|
59
|
+
)
|
|
60
|
+
)
|
|
52
61
|
|
|
53
|
-
print("🔄 EXECUTING | Running Gorilla installation...")
|
|
62
|
+
console.print("🔄 EXECUTING | Running Gorilla installation...", style="bold yellow")
|
|
54
63
|
try:
|
|
55
64
|
subprocess.run(install_script, shell=True, text=True, check=True)
|
|
56
|
-
print("✅ Gorilla installation completed successfully")
|
|
65
|
+
console.print("✅ Gorilla installation completed successfully", style="bold green")
|
|
57
66
|
except subprocess.CalledProcessError as e:
|
|
58
|
-
print(f"❌ Installation failed with exit code {e.returncode}")
|
|
67
|
+
console.print(f"❌ Installation failed with exit code {e.returncode}", style="bold red")
|
|
59
68
|
raise
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
if __name__ == "__main__":
|
|
63
|
-
pass
|
|
@@ -1,29 +1,37 @@
|
|
|
1
1
|
"""lvim"""
|
|
2
2
|
|
|
3
|
-
from
|
|
3
|
+
from rich import box
|
|
4
|
+
from rich.console import Console
|
|
5
|
+
from rich.panel import Panel
|
|
4
6
|
import subprocess
|
|
5
7
|
import platform
|
|
6
8
|
from typing import Optional
|
|
7
9
|
from machineconfig.utils.schemas.installer.installer_types import InstallerData
|
|
8
10
|
|
|
9
11
|
|
|
10
|
-
_ = Terminal, subprocess
|
|
11
12
|
# as per https://www.lunarvim.org/docs/installation
|
|
12
13
|
|
|
13
14
|
|
|
14
|
-
def main(installer_data: InstallerData, version: Optional[str]):
|
|
15
|
+
def main(installer_data: InstallerData, version: Optional[str]) -> None:
|
|
16
|
+
console = Console()
|
|
15
17
|
_ = installer_data
|
|
16
|
-
print(
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
18
|
+
console.print(
|
|
19
|
+
Panel.fit(
|
|
20
|
+
"\n".join(
|
|
21
|
+
[
|
|
22
|
+
f"🔄 Version: {'latest' if version is None else version}",
|
|
23
|
+
"📚 Branch: release-1.4/neovim-0.9",
|
|
24
|
+
]
|
|
25
|
+
),
|
|
26
|
+
title="🌙 LunarVim Installer",
|
|
27
|
+
border_style="purple",
|
|
28
|
+
box=box.ROUNDED,
|
|
29
|
+
)
|
|
30
|
+
)
|
|
23
31
|
|
|
24
32
|
_ = version
|
|
25
33
|
if platform.system() == "Windows":
|
|
26
|
-
print("🪟 Installing LunarVim on Windows...")
|
|
34
|
+
console.print("🪟 Installing LunarVim on Windows...", style="bold")
|
|
27
35
|
program = """
|
|
28
36
|
|
|
29
37
|
pwsh -c "`$LV_BRANCH='release-1.4/neovim-0.9'; iwr https://raw.githubusercontent.com/LunarVim/LunarVim/release-1.4/neovim-0.9/utils/installer/install.ps1 -UseBasicParsing | iex"
|
|
@@ -31,7 +39,7 @@ pwsh -c "`$LV_BRANCH='release-1.4/neovim-0.9'; iwr https://raw.githubusercontent
|
|
|
31
39
|
"""
|
|
32
40
|
elif platform.system() in ["Linux", "Darwin"]:
|
|
33
41
|
system_name = "Linux" if platform.system() == "Linux" else "macOS"
|
|
34
|
-
print(f"🐧 Installing LunarVim on {system_name}...")
|
|
42
|
+
console.print(f"🐧 Installing LunarVim on {system_name}...", style="bold")
|
|
35
43
|
program = """
|
|
36
44
|
|
|
37
45
|
LV_BRANCH='release-1.4/neovim-0.9' bash <(curl -s https://raw.githubusercontent.com/LunarVim/LunarVim/release-1.4/neovim-0.9/utils/installer/install.sh)
|
|
@@ -39,33 +47,41 @@ LV_BRANCH='release-1.4/neovim-0.9' bash <(curl -s https://raw.githubusercontent.
|
|
|
39
47
|
"""
|
|
40
48
|
else:
|
|
41
49
|
error_msg = f"Unsupported platform: {platform.system()}"
|
|
42
|
-
print(
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
""
|
|
50
|
+
console.print(
|
|
51
|
+
Panel.fit(
|
|
52
|
+
"\n".join([error_msg]),
|
|
53
|
+
title="❌ Error",
|
|
54
|
+
subtitle="⚠️ Unsupported platform",
|
|
55
|
+
border_style="red",
|
|
56
|
+
box=box.ROUNDED,
|
|
57
|
+
)
|
|
58
|
+
)
|
|
47
59
|
raise NotImplementedError(error_msg)
|
|
48
60
|
|
|
49
|
-
print(
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
61
|
+
console.print(
|
|
62
|
+
Panel.fit(
|
|
63
|
+
"\n".join(
|
|
64
|
+
[
|
|
65
|
+
"📝 IDE-like experience for Neovim",
|
|
66
|
+
"🔌 Built-in plugin management",
|
|
67
|
+
"🛠️ LSP configuration out of the box",
|
|
68
|
+
"🔍 Powerful fuzzy finding",
|
|
69
|
+
"⚙️ Simple and unified configuration",
|
|
70
|
+
"⚠️ Installer will prompt for user input during installation.",
|
|
71
|
+
]
|
|
72
|
+
),
|
|
73
|
+
title="ℹ️ LunarVim Features",
|
|
74
|
+
border_style="magenta",
|
|
75
|
+
box=box.ROUNDED,
|
|
76
|
+
)
|
|
77
|
+
)
|
|
58
78
|
|
|
59
|
-
|
|
60
|
-
""")
|
|
61
|
-
|
|
62
|
-
print("🔄 EXECUTING | Running LunarVim installation...")
|
|
79
|
+
console.print("🔄 EXECUTING | Running LunarVim installation...", style="bold yellow")
|
|
63
80
|
try:
|
|
64
|
-
# Run with shell=True and allow interaction for user input
|
|
65
81
|
subprocess.run(program, shell=True, check=True)
|
|
66
|
-
print("✅ LunarVim installation completed successfully")
|
|
82
|
+
console.print("✅ LunarVim installation completed successfully", style="bold green")
|
|
67
83
|
except subprocess.CalledProcessError as e:
|
|
68
|
-
print(f"❌ Installation failed with exit code {e.returncode}")
|
|
84
|
+
console.print(f"❌ Installation failed with exit code {e.returncode}", style="bold red")
|
|
69
85
|
raise
|
|
70
86
|
|
|
71
87
|
|
|
@@ -3,83 +3,107 @@
|
|
|
3
3
|
import platform
|
|
4
4
|
import subprocess
|
|
5
5
|
from typing import Optional
|
|
6
|
+
from rich import box
|
|
7
|
+
from rich.console import Console
|
|
8
|
+
from rich.panel import Panel
|
|
6
9
|
from machineconfig.utils.schemas.installer.installer_types import InstallerData
|
|
7
10
|
|
|
8
11
|
|
|
9
12
|
def main(installer_data: InstallerData, version: Optional[str]) -> None:
|
|
10
13
|
"""Main entry point for Nerd Fonts installation.
|
|
11
|
-
|
|
14
|
+
|
|
12
15
|
Args:
|
|
13
16
|
installer_data: Installation configuration data
|
|
14
17
|
version: Specific version to install (None for latest)
|
|
15
18
|
"""
|
|
19
|
+
console = Console()
|
|
16
20
|
_ = installer_data
|
|
17
|
-
print(
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
console.print(
|
|
22
|
+
Panel.fit(
|
|
23
|
+
"\n".join([f"💻 Platform: {platform.system()}", f"🔄 Version: {'latest' if version is None else version}"]),
|
|
24
|
+
title="🔤 Nerd Fonts Installer",
|
|
25
|
+
border_style="blue",
|
|
26
|
+
box=box.ROUNDED,
|
|
27
|
+
)
|
|
28
|
+
)
|
|
24
29
|
|
|
25
30
|
_ = version
|
|
26
31
|
current_platform = platform.system()
|
|
27
|
-
|
|
32
|
+
|
|
28
33
|
if current_platform == "Windows":
|
|
29
|
-
print("🪟 Installing Nerd Fonts on Windows...")
|
|
34
|
+
console.print("🪟 Installing Nerd Fonts on Windows...", style="bold")
|
|
30
35
|
from machineconfig.jobs.installer.custom_dev.nerfont_windows_helper import install_nerd_fonts
|
|
31
|
-
|
|
36
|
+
|
|
32
37
|
try:
|
|
33
38
|
install_nerd_fonts()
|
|
34
|
-
print(
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
console.print(
|
|
40
|
+
Panel.fit(
|
|
41
|
+
"\n".join(["💡 Restart terminal applications to see the new fonts."]),
|
|
42
|
+
title="✅ Nerd Fonts Installed",
|
|
43
|
+
border_style="green",
|
|
44
|
+
box=box.ROUNDED,
|
|
45
|
+
)
|
|
46
|
+
)
|
|
47
|
+
except Exception as e: # noqa: BLE001
|
|
41
48
|
error_msg = f"Windows Nerd Fonts installation failed: {e}"
|
|
42
|
-
print(
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
""
|
|
49
|
+
console.print(
|
|
50
|
+
Panel.fit(
|
|
51
|
+
"\n".join(
|
|
52
|
+
[
|
|
53
|
+
error_msg,
|
|
54
|
+
"💡 Try running as administrator or install manually from https://www.nerdfonts.com",
|
|
55
|
+
]
|
|
56
|
+
),
|
|
57
|
+
title="❌ Error",
|
|
58
|
+
subtitle="⚠️ Installation issue",
|
|
59
|
+
border_style="red",
|
|
60
|
+
box=box.ROUNDED,
|
|
61
|
+
)
|
|
62
|
+
)
|
|
48
63
|
raise RuntimeError(error_msg) from e
|
|
49
|
-
|
|
64
|
+
|
|
50
65
|
elif current_platform in ["Linux", "Darwin"]:
|
|
51
|
-
print(f"🐧 Installing Nerd Fonts on {current_platform} using installation script...")
|
|
66
|
+
console.print(f"🐧 Installing Nerd Fonts on {current_platform} using installation script...", style="bold")
|
|
52
67
|
import machineconfig.jobs.installer as module
|
|
53
68
|
from pathlib import Path
|
|
54
69
|
|
|
55
70
|
program = Path(module.__file__).parent.joinpath("linux_scripts/nerdfont.sh").read_text(encoding="utf-8")
|
|
56
|
-
|
|
57
|
-
print(
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
71
|
+
|
|
72
|
+
console.print(
|
|
73
|
+
Panel.fit(
|
|
74
|
+
"\n".join(
|
|
75
|
+
[
|
|
76
|
+
"🎨 Programming fonts patched with icons",
|
|
77
|
+
"🔣 Includes icons from popular sets (FontAwesome, Devicons, etc.)",
|
|
78
|
+
"🖥️ Perfect for terminals and coding environments",
|
|
79
|
+
"🧰 Works with many terminal applications and editors",
|
|
80
|
+
]
|
|
81
|
+
),
|
|
82
|
+
title="ℹ️ Nerd Fonts Features",
|
|
83
|
+
border_style="magenta",
|
|
84
|
+
box=box.ROUNDED,
|
|
85
|
+
)
|
|
86
|
+
)
|
|
87
|
+
|
|
88
|
+
console.print("🔄 EXECUTING | Running Nerd Fonts installation...", style="bold yellow")
|
|
68
89
|
try:
|
|
69
90
|
subprocess.run(program, shell=True, text=True, check=True)
|
|
70
|
-
print("✅ Nerd Fonts installation completed successfully")
|
|
91
|
+
console.print("✅ Nerd Fonts installation completed successfully", style="bold green")
|
|
71
92
|
except subprocess.CalledProcessError as e:
|
|
72
|
-
print(f"❌ Installation failed with exit code {e.returncode}")
|
|
93
|
+
console.print(f"❌ Installation failed with exit code {e.returncode}", style="bold red")
|
|
73
94
|
raise
|
|
74
|
-
|
|
95
|
+
|
|
75
96
|
else:
|
|
76
97
|
error_msg = f"Unsupported platform: {current_platform}"
|
|
77
|
-
print(
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
""
|
|
98
|
+
console.print(
|
|
99
|
+
Panel.fit(
|
|
100
|
+
"\n".join([error_msg, "💡 Supported platforms are Windows, Linux, and macOS (Darwin)"]),
|
|
101
|
+
title="❌ Error",
|
|
102
|
+
subtitle="⚠️ Unsupported platform",
|
|
103
|
+
border_style="red",
|
|
104
|
+
box=box.ROUNDED,
|
|
105
|
+
)
|
|
106
|
+
)
|
|
83
107
|
raise NotImplementedError(error_msg)
|
|
84
108
|
|
|
85
109
|
|
|
@@ -8,38 +8,40 @@ using PowerShell scripts and font enumeration.
|
|
|
8
8
|
import subprocess
|
|
9
9
|
from typing import Iterable
|
|
10
10
|
|
|
11
|
+
from rich import box
|
|
12
|
+
from rich.console import Console
|
|
13
|
+
from rich.panel import Panel
|
|
14
|
+
|
|
11
15
|
from machineconfig.utils.path_extended import PathExtended
|
|
12
16
|
from machineconfig.utils.source_of_truth import LIBRARY_ROOT
|
|
13
17
|
from machineconfig.utils.installer_utils.installer_class import Installer
|
|
14
18
|
from machineconfig.utils.schemas.installer.installer_types import InstallerData
|
|
15
19
|
|
|
16
20
|
|
|
17
|
-
# Nerd Fonts installer configuration data
|
|
18
21
|
nerd_fonts: InstallerData = {
|
|
19
22
|
"appName": "Cascadia Code Nerd Font",
|
|
20
23
|
"repoURL": "https://github.com/ryanoasis/nerd-fonts",
|
|
21
24
|
"doc": "Nerd Fonts is a project that patches developer targeted fonts with a high number of glyphs (icons)",
|
|
22
25
|
"fileNamePattern": {
|
|
23
26
|
"amd64": {
|
|
24
|
-
"windows": "
|
|
25
|
-
"linux": "
|
|
26
|
-
"macos": "
|
|
27
|
+
"windows": "CascadiaCode.zip",
|
|
28
|
+
"linux": "CascadiaCode.zip",
|
|
29
|
+
"macos": "CascadiaCode.zip",
|
|
27
30
|
},
|
|
28
31
|
"arm64": {
|
|
29
|
-
"windows": "
|
|
30
|
-
"linux": "
|
|
31
|
-
"macos": "
|
|
32
|
+
"windows": "CascadiaCode.zip",
|
|
33
|
+
"linux": "CascadiaCode.zip",
|
|
34
|
+
"macos": "CascadiaCode.zip",
|
|
32
35
|
}
|
|
33
36
|
}
|
|
34
37
|
}
|
|
35
38
|
|
|
36
39
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
)
|
|
40
|
+
console = Console()
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
def render_banner(message: str, title: str, border_style: str, box_style: box.Box) -> None:
|
|
44
|
+
console.print(Panel.fit(message, title=title, border_style=border_style, box=box_style, padding=(1, 4)))
|
|
43
45
|
|
|
44
46
|
|
|
45
47
|
def _list_installed_fonts() -> list[str]:
|
|
@@ -64,7 +66,7 @@ def _list_installed_fonts() -> list[str]:
|
|
|
64
66
|
fonts = [x.strip().replace("_", "") for x in res.stdout.splitlines() if x.strip() != ""]
|
|
65
67
|
return fonts
|
|
66
68
|
except Exception as exc: # noqa: BLE001
|
|
67
|
-
print(f"⚠️ Could not enumerate installed fonts (continuing with install). Reason: {exc}")
|
|
69
|
+
console.print(f"⚠️ Could not enumerate installed fonts (continuing with install). Reason: {exc}")
|
|
68
70
|
return []
|
|
69
71
|
|
|
70
72
|
|
|
@@ -81,7 +83,7 @@ def _missing_required_fonts(installed_fonts: Iterable[str]) -> list[str]:
|
|
|
81
83
|
|
|
82
84
|
installed_norm = [f.lower().replace(" ", "") for f in installed_fonts]
|
|
83
85
|
missing: list[str] = []
|
|
84
|
-
for pattern in
|
|
86
|
+
for pattern in ["cascadiacode*"]:
|
|
85
87
|
regex = re.compile(pattern)
|
|
86
88
|
if not any(regex.search(f) for f in installed_norm):
|
|
87
89
|
missing.append(pattern)
|
|
@@ -100,30 +102,32 @@ def install_nerd_fonts() -> None:
|
|
|
100
102
|
Raises:
|
|
101
103
|
subprocess.CalledProcessError: If PowerShell installation fails
|
|
102
104
|
"""
|
|
103
|
-
print(
|
|
105
|
+
console.print()
|
|
106
|
+
render_banner("📦 INSTALLING NERD FONTS 📦", "Nerd Fonts Installer", "magenta", box.DOUBLE)
|
|
107
|
+
console.print()
|
|
104
108
|
|
|
105
109
|
installed = _list_installed_fonts()
|
|
106
110
|
missing = _missing_required_fonts(installed)
|
|
107
111
|
|
|
108
112
|
if len(missing) == 0:
|
|
109
|
-
print("✅ Required Nerd Fonts already installed. Skipping download & install.")
|
|
113
|
+
console.print("✅ Required Nerd Fonts already installed. Skipping download & install.")
|
|
110
114
|
return
|
|
111
115
|
|
|
112
|
-
print(f"🔍 Missing fonts detected: {', '.join(missing)}. Proceeding with installation...")
|
|
113
|
-
print("🔍 Downloading Nerd Fonts package...")
|
|
116
|
+
console.print(f"🔍 Missing fonts detected: {', '.join(missing)}. Proceeding with installation...")
|
|
117
|
+
console.print("🔍 Downloading Nerd Fonts package...")
|
|
114
118
|
|
|
115
|
-
folder, _version_to_be_installed = Installer(installer_data=nerd_fonts).
|
|
119
|
+
folder, _version_to_be_installed = Installer(installer_data=nerd_fonts).binary_download(version=None)
|
|
116
120
|
|
|
117
|
-
print("🧹 Cleaning up unnecessary files...")
|
|
121
|
+
console.print("🧹 Cleaning up unnecessary files...")
|
|
118
122
|
[p.delete(sure=True) for p in folder.search("*Windows*")]
|
|
119
123
|
[p.delete(sure=True) for p in folder.search("*readme*")]
|
|
120
124
|
[p.delete(sure=True) for p in folder.search("*LICENSE*")]
|
|
121
125
|
|
|
122
|
-
print("⚙️ Installing fonts via PowerShell...")
|
|
126
|
+
console.print("⚙️ Installing fonts via PowerShell...")
|
|
123
127
|
file = PathExtended.tmpfile(suffix=".ps1")
|
|
124
128
|
file.parent.mkdir(parents=True, exist_ok=True)
|
|
125
129
|
|
|
126
|
-
raw_content = LIBRARY_ROOT.joinpath("
|
|
130
|
+
raw_content = LIBRARY_ROOT.joinpath("jobs/installer/pwsh_scripts/install_fonts.ps1").read_text(encoding="utf-8").replace(r".\fonts-to-be-installed", str(folder))
|
|
127
131
|
# PowerShell 5.1 can choke on certain unicode chars in some locales; keep ASCII only.
|
|
128
132
|
content = "".join(ch for ch in raw_content if ord(ch) < 128)
|
|
129
133
|
file.write_text(content, encoding="utf-8")
|
|
@@ -131,13 +135,15 @@ def install_nerd_fonts() -> None:
|
|
|
131
135
|
try:
|
|
132
136
|
subprocess.run(rf"powershell.exe -executionpolicy Bypass -nologo -noninteractive -File {str(file)}", check=True)
|
|
133
137
|
except subprocess.CalledProcessError as cpe:
|
|
134
|
-
print(f"💥 Font installation script failed: {cpe}")
|
|
138
|
+
console.print(f"💥 Font installation script failed: {cpe}")
|
|
135
139
|
raise
|
|
136
140
|
finally:
|
|
137
|
-
print("🗑️ Cleaning up temporary files...")
|
|
141
|
+
console.print("🗑️ Cleaning up temporary files...")
|
|
138
142
|
if folder.exists():
|
|
139
143
|
folder.delete(sure=True)
|
|
140
144
|
if file.exists():
|
|
141
145
|
file.delete(sure=True)
|
|
142
146
|
|
|
143
|
-
print(
|
|
147
|
+
console.print()
|
|
148
|
+
render_banner("✅ Nerd Fonts installation complete! ✅", "Nerd Fonts Installer", "green", box.DOUBLE)
|
|
149
|
+
console.print()
|
|
@@ -3,34 +3,42 @@
|
|
|
3
3
|
import platform
|
|
4
4
|
import subprocess
|
|
5
5
|
from typing import Optional
|
|
6
|
+
from rich import box
|
|
7
|
+
from rich.console import Console
|
|
8
|
+
from rich.panel import Panel
|
|
6
9
|
from machineconfig.utils.schemas.installer.installer_types import InstallerData
|
|
7
10
|
|
|
8
11
|
# config_dict: InstallerData = {"appName": "Redis", "repoURL": "CMD", "doc": "submillisecond fast key-value db"}
|
|
9
12
|
|
|
10
13
|
|
|
11
|
-
def main(installer_data: InstallerData, version: Optional[str]):
|
|
14
|
+
def main(installer_data: InstallerData, version: Optional[str]) -> None:
|
|
15
|
+
console = Console()
|
|
12
16
|
_ = installer_data
|
|
13
|
-
print(
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
console.print(
|
|
18
|
+
Panel.fit(
|
|
19
|
+
"\n".join([f"💻 Platform: {platform.system()}", f"🔄 Version: {'latest' if version is None else version}"]),
|
|
20
|
+
title="🗃️ Redis Installer",
|
|
21
|
+
border_style="red",
|
|
22
|
+
box=box.ROUNDED,
|
|
23
|
+
)
|
|
24
|
+
)
|
|
20
25
|
|
|
21
26
|
_ = version
|
|
22
27
|
if platform.system() == "Windows":
|
|
23
28
|
error_msg = "Redis installation not supported on Windows through this installer"
|
|
24
|
-
print(
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
""
|
|
29
|
+
console.print(
|
|
30
|
+
Panel.fit(
|
|
31
|
+
"\n".join([error_msg, "💡 Consider using WSL2 or Docker to run Redis on Windows"]),
|
|
32
|
+
title="❌ Error",
|
|
33
|
+
subtitle="⚠️ Unsupported platform",
|
|
34
|
+
border_style="red",
|
|
35
|
+
box=box.ROUNDED,
|
|
36
|
+
)
|
|
37
|
+
)
|
|
30
38
|
raise NotImplementedError(error_msg)
|
|
31
39
|
elif platform.system() in ["Linux", "Darwin"]:
|
|
32
40
|
system_name = "Linux" if platform.system() == "Linux" else "macOS"
|
|
33
|
-
print(f"🐧 Installing Redis on {system_name} using installation script...")
|
|
41
|
+
console.print(f"🐧 Installing Redis on {system_name} using installation script...", style="bold")
|
|
34
42
|
import machineconfig.jobs.installer as module
|
|
35
43
|
from pathlib import Path
|
|
36
44
|
if platform.system() == "Linux":
|
|
@@ -39,30 +47,40 @@ def main(installer_data: InstallerData, version: Optional[str]):
|
|
|
39
47
|
program = "brew install redis"
|
|
40
48
|
else:
|
|
41
49
|
error_msg = f"Unsupported platform: {platform.system()}"
|
|
42
|
-
print(
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
""
|
|
50
|
+
console.print(
|
|
51
|
+
Panel.fit(
|
|
52
|
+
"\n".join([error_msg]),
|
|
53
|
+
title="❌ Error",
|
|
54
|
+
subtitle="⚠️ Unsupported platform",
|
|
55
|
+
border_style="red",
|
|
56
|
+
box=box.ROUNDED,
|
|
57
|
+
)
|
|
58
|
+
)
|
|
47
59
|
raise NotImplementedError(error_msg)
|
|
48
60
|
|
|
49
|
-
print(
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
61
|
+
console.print(
|
|
62
|
+
Panel.fit(
|
|
63
|
+
"\n".join(
|
|
64
|
+
[
|
|
65
|
+
"⚡ In-memory data structure store",
|
|
66
|
+
"🔑 Key-value database with optional persistence",
|
|
67
|
+
"🚀 Sub-millisecond response times",
|
|
68
|
+
"💾 Supports strings, lists, sets, sorted sets, hashes",
|
|
69
|
+
"🔄 Built-in replication and Lua scripting",
|
|
70
|
+
]
|
|
71
|
+
),
|
|
72
|
+
title="ℹ️ Redis Features",
|
|
73
|
+
border_style="magenta",
|
|
74
|
+
box=box.ROUNDED,
|
|
75
|
+
)
|
|
76
|
+
)
|
|
59
77
|
|
|
60
|
-
print("🔄 EXECUTING | Running Redis installation...")
|
|
78
|
+
console.print("🔄 EXECUTING | Running Redis installation...", style="bold yellow")
|
|
61
79
|
try:
|
|
62
80
|
subprocess.run(program, shell=True, text=True, check=True)
|
|
63
|
-
print("✅ Redis installation completed successfully")
|
|
81
|
+
console.print("✅ Redis installation completed successfully", style="bold green")
|
|
64
82
|
except subprocess.CalledProcessError as e:
|
|
65
|
-
print(f"❌ Installation failed with exit code {e.returncode}")
|
|
83
|
+
console.print(f"❌ Installation failed with exit code {e.returncode}", style="bold red")
|
|
66
84
|
raise
|
|
67
85
|
|
|
68
86
|
|