machineconfig 3.7__py3-none-any.whl → 7.69__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 +7 -21
- machineconfig/jobs/installer/custom/boxes.py +61 -0
- machineconfig/jobs/installer/custom/gh.py +128 -0
- machineconfig/jobs/{python_custom_installers → installer/custom}/hx.py +84 -18
- machineconfig/jobs/installer/custom_dev/alacritty.py +86 -0
- machineconfig/jobs/installer/custom_dev/brave.py +82 -0
- machineconfig/jobs/installer/custom_dev/bypass_paywall.py +59 -0
- machineconfig/jobs/installer/custom_dev/cloudflare_warp_cli.py +23 -0
- machineconfig/jobs/installer/custom_dev/code.py +63 -0
- machineconfig/jobs/{python_custom_installers/dev → installer/custom_dev}/cursor.py +7 -7
- machineconfig/jobs/installer/custom_dev/dubdb_adbc.py +30 -0
- machineconfig/jobs/installer/custom_dev/espanso.py +117 -0
- machineconfig/jobs/installer/custom_dev/goes.py +68 -0
- machineconfig/jobs/installer/custom_dev/lvim.py +89 -0
- machineconfig/jobs/installer/custom_dev/nerdfont.py +111 -0
- machineconfig/jobs/installer/custom_dev/nerfont_windows_helper.py +149 -0
- machineconfig/jobs/installer/custom_dev/redis.py +88 -0
- machineconfig/jobs/installer/custom_dev/sysabc.py +145 -0
- machineconfig/jobs/installer/custom_dev/wezterm.py +92 -0
- machineconfig/jobs/{python_custom_installers/dev → installer/custom_dev}/winget.py +2 -3
- machineconfig/jobs/installer/installer_data.json +3440 -0
- machineconfig/jobs/{python_custom_installers/scripts/linux → installer/linux_scripts}/brave.sh +4 -14
- machineconfig/jobs/{python_custom_installers/scripts/linux/warp-cli.sh → installer/linux_scripts/cloudflare_warp_cli.sh} +5 -17
- machineconfig/jobs/{python_custom_installers/scripts/linux → installer/linux_scripts}/docker.sh +6 -18
- machineconfig/jobs/installer/linux_scripts/docker_start.sh +37 -0
- machineconfig/jobs/{python_custom_installers/scripts/linux → installer/linux_scripts}/edge.sh +3 -11
- machineconfig/jobs/{linux/msc → installer/linux_scripts}/lid.sh +2 -8
- machineconfig/jobs/{python_custom_installers/scripts/linux → 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/{python_custom_installers/scripts/linux → installer/linux_scripts}/redis.sh +6 -17
- machineconfig/jobs/{python_custom_installers/scripts/linux → installer/linux_scripts}/vscode.sh +5 -17
- machineconfig/jobs/{python_custom_installers/scripts/linux → 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/__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/{mcinit.py → initai.py} +3 -38
- machineconfig/scripts/python/ai/scripts/lint_and_type_check.ps1 +114 -0
- machineconfig/scripts/python/ai/scripts/lint_and_type_check.sh +88 -22
- machineconfig/scripts/python/ai/solutions/_shared.py +9 -1
- machineconfig/scripts/python/ai/solutions/copilot/instructions/python/dev.instructions.md +4 -1
- machineconfig/scripts/python/ai/solutions/copilot/prompts/pyright_fix.md +16 -0
- machineconfig/scripts/python/ai/solutions/gemini/settings.json +1 -1
- 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 +129 -198
- machineconfig/scripts/python/define.py +31 -0
- machineconfig/scripts/python/devops.py +45 -131
- machineconfig/scripts/python/devops_navigator.py +6 -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/fire_jobs.py +166 -235
- machineconfig/scripts/python/ftpx.py +164 -100
- machineconfig/scripts/python/helpers/ast_search.py +74 -0
- machineconfig/scripts/python/helpers/repo_rag.py +325 -0
- machineconfig/scripts/python/helpers/symantic_search.py +25 -0
- 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} +52 -39
- machineconfig/scripts/python/{cloud_mount.py → helpers_cloud/cloud_mount.py} +13 -18
- machineconfig/scripts/python/helpers_cloud/cloud_sync.py +81 -0
- machineconfig/scripts/python/{helpers → helpers_cloud}/helpers2.py +3 -3
- machineconfig/scripts/python/helpers_croshell/crosh.py +39 -0
- machineconfig/scripts/python/{scheduler.py → helpers_croshell/scheduler.py} +0 -1
- machineconfig/scripts/python/{start_slidev.py → helpers_croshell/start_slidev.py} +32 -20
- 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/{cloud_manager.py → helpers_fire_command/cloud_manager.py} +0 -2
- machineconfig/scripts/python/{helpers/helpers4.py → helpers_fire_command/file_wrangler.py} +57 -89
- 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_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 +620 -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/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 +187 -0
- machineconfig/scripts/python/mcfg_entry.py +63 -0
- machineconfig/scripts/python/msearch.py +40 -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 -51
- machineconfig/scripts/python/nw/wsl_windows_transfer.py +67 -0
- machineconfig/scripts/python/sessions.py +167 -0
- machineconfig/scripts/python/terminal.py +127 -0
- machineconfig/scripts/python/utils.py +66 -0
- machineconfig/scripts/windows/mounts/Restore-ThunderbirdProfile.ps1 +92 -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/lfcd.ps1 +1 -1
- 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 +61 -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 +14 -1
- 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 +28 -203
- 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 +17 -0
- machineconfig/setup_windows/web_shortcuts/interactive.ps1 +28 -189
- machineconfig/setup_windows/web_shortcuts/quick_init.ps1 +17 -0
- machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py +37 -23
- machineconfig/utils/accessories.py +52 -12
- 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/decompress.py +45 -0
- machineconfig/utils/files/read.py +95 -0
- machineconfig/utils/installer_utils/github_release_bulk.py +188 -0
- machineconfig/utils/installer_utils/install_from_url.py +180 -0
- machineconfig/utils/installer_utils/installer_class.py +239 -316
- machineconfig/utils/installer_utils/installer_cli.py +186 -0
- machineconfig/utils/installer_utils/{installer_abc.py → installer_locator_utils.py} +90 -5
- machineconfig/utils/installer_utils/installer_runner.py +191 -0
- machineconfig/utils/io.py +77 -24
- machineconfig/utils/links.py +309 -100
- machineconfig/utils/meta.py +255 -0
- machineconfig/utils/notifications.py +1 -1
- machineconfig/utils/options.py +19 -47
- machineconfig/utils/path_extended.py +111 -121
- 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 +28 -6
- machineconfig/utils/schemas/layouts/layout_types.py +34 -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.69.dist-info/METADATA +124 -0
- machineconfig-7.69.dist-info/RECORD +454 -0
- machineconfig-7.69.dist-info/entry_points.txt +15 -0
- machineconfig/cluster/templates/cli_click.py +0 -102
- machineconfig/cluster/templates/cli_gooey.py +0 -115
- machineconfig/cluster/templates/utils.py +0 -51
- machineconfig/jobs/linux/msc/cli_agents.sh +0 -32
- 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 -48
- machineconfig/jobs/python/vscode/link_ve.py +0 -63
- machineconfig/jobs/python/vscode/select_interpreter.py +0 -87
- machineconfig/jobs/python/vscode/sync_code.py +0 -58
- machineconfig/jobs/python_custom_installers/archive/ngrok.py +0 -63
- machineconfig/jobs/python_custom_installers/dev/aider.py +0 -37
- machineconfig/jobs/python_custom_installers/dev/alacritty.py +0 -65
- machineconfig/jobs/python_custom_installers/dev/brave.py +0 -71
- machineconfig/jobs/python_custom_installers/dev/bypass_paywall.py +0 -50
- machineconfig/jobs/python_custom_installers/dev/code.py +0 -51
- machineconfig/jobs/python_custom_installers/dev/docker_desktop.py +0 -78
- machineconfig/jobs/python_custom_installers/dev/espanso.py +0 -90
- machineconfig/jobs/python_custom_installers/dev/goes.py +0 -55
- machineconfig/jobs/python_custom_installers/dev/lvim.py +0 -77
- machineconfig/jobs/python_custom_installers/dev/nerdfont.py +0 -68
- machineconfig/jobs/python_custom_installers/dev/redis.py +0 -65
- machineconfig/jobs/python_custom_installers/dev/reverse_proxy.md +0 -31
- machineconfig/jobs/python_custom_installers/dev/wezterm.py +0 -70
- machineconfig/jobs/python_custom_installers/docker.py +0 -74
- machineconfig/jobs/python_custom_installers/gh.py +0 -97
- machineconfig/jobs/python_custom_installers/scripts/linux/docker_start.sh +0 -45
- machineconfig/jobs/python_custom_installers/scripts/linux/pgsql.sh +0 -49
- machineconfig/jobs/python_custom_installers/scripts/linux/timescaledb.sh +0 -85
- machineconfig/jobs/python_custom_installers/warp-cli.py +0 -71
- machineconfig/jobs/python_generic_installers/config.json +0 -603
- machineconfig/jobs/python_generic_installers/config.json.bak +0 -414
- machineconfig/jobs/python_generic_installers/dev/config.archive.json +0 -18
- machineconfig/jobs/python_generic_installers/dev/config.json +0 -825
- machineconfig/jobs/python_generic_installers/dev/config.json.bak +0 -565
- machineconfig/jobs/python_linux_installers/archive/config.json +0 -18
- machineconfig/jobs/python_linux_installers/archive/config.json.bak +0 -10
- machineconfig/jobs/python_linux_installers/config.json +0 -145
- machineconfig/jobs/python_linux_installers/config.json.bak +0 -110
- machineconfig/jobs/python_linux_installers/dev/config.json +0 -276
- machineconfig/jobs/python_linux_installers/dev/config.json.bak +0 -206
- machineconfig/jobs/python_windows_installers/archive/file.json +0 -11
- machineconfig/jobs/python_windows_installers/config.json +0 -82
- machineconfig/jobs/python_windows_installers/config.json.bak +0 -56
- machineconfig/jobs/python_windows_installers/dev/config.json +0 -4
- machineconfig/jobs/python_windows_installers/dev/config.json.bak +0 -3
- 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 -169
- 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/kill_process +0 -2
- machineconfig/scripts/linux/mcinit +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/archive/im2text.py +0 -34
- machineconfig/scripts/python/archive/tmate_conn.py +0 -41
- machineconfig/scripts/python/archive/tmate_start.py +0 -44
- machineconfig/scripts/python/cloud_repo_sync.py +0 -192
- machineconfig/scripts/python/cloud_sync.py +0 -85
- machineconfig/scripts/python/devops_devapps_install.py +0 -202
- machineconfig/scripts/python/devops_update_repos.py +0 -180
- machineconfig/scripts/python/dotfile.py +0 -52
- machineconfig/scripts/python/fire_agents.py +0 -176
- 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 -84
- machineconfig/scripts/python/fire_jobs_layout_helper.py +0 -66
- 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 -160
- machineconfig/scripts/python/snapshot.py +0 -25
- machineconfig/scripts/python/start_terminals.py +0 -121
- machineconfig/scripts/python/wsl_windows_transfer.py +0 -72
- 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/kill_process.ps1 +0 -1
- machineconfig/scripts/windows/mcinit.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/setup_windows/wt_and_pwsh/install_nerd_fonts.py +0 -100
- machineconfig/utils/ai/generate_file_checklist.py +0 -68
- machineconfig/utils/installer.py +0 -255
- machineconfig-3.7.dist-info/METADATA +0 -165
- machineconfig-3.7.dist-info/RECORD +0 -432
- machineconfig-3.7.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/jobs/{python → installer}/__init__.py +0 -0
- machineconfig/jobs/{python_custom_installers → installer/custom_dev}/__init__.py +0 -0
- machineconfig/{setup_windows/wt_and_pwsh → jobs/installer/powershell_scripts}/install_fonts.ps1 +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_generic_installers → scripts/python/helpers_agents}/__init__.py +0 -0
- machineconfig/{jobs/python_linux_installers → scripts/python/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/python_linux_installers/dev → 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/python_windows_installers → scripts/python/helpers_croshell}/__init__.py +0 -0
- /machineconfig/scripts/python/{pomodoro.py → helpers_croshell/pomodoro.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/{jobs/python_windows_installers/archive → scripts/python/helpers_devops}/__init__.py +0 -0
- /machineconfig/{jobs/python_windows_installers/dev → scripts/python/helpers_devops/themes}/__init__.py +0 -0
- /machineconfig/{jobs/windows/msc/cli_agents.bat → scripts/python/helpers_devops/themes/choose_starship_theme.ps1} +0 -0
- /machineconfig/scripts/python/{helpers → helpers_fire_command}/__init__.py +0 -0
- /machineconfig/scripts/python/{fire_jobs_streamlit_helper.py → helpers_fire_command/fire_jobs_streamlit_helper.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/{jobs/windows/msc/cli_agents.ps1 → scripts/python/helpers_sessions/__init__.py} +0 -0
- /machineconfig/scripts/{windows/share_nfs.ps1 → python/nw/__init__.py} +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/{settings/yazi/keymap.toml → utils/files/ouch/__init__.py} +0 -0
- {machineconfig-3.7.dist-info → machineconfig-7.69.dist-info}/WHEEL +0 -0
- {machineconfig-3.7.dist-info → machineconfig-7.69.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
# macOS GUI Application Installation Script
|
|
4
|
+
# Comprehensive GUI application installation via Homebrew Cask and Mac App Store
|
|
5
|
+
# Supports Intel and Apple Silicon architectures
|
|
6
|
+
|
|
7
|
+
set -e # Exit on any error
|
|
8
|
+
|
|
9
|
+
# Color codes for output
|
|
10
|
+
RED='\033[0;31m'
|
|
11
|
+
GREEN='\033[0;32m'
|
|
12
|
+
YELLOW='\033[1;33m'
|
|
13
|
+
BLUE='\033[0;34m'
|
|
14
|
+
NC='\033[0m' # No Color
|
|
15
|
+
|
|
16
|
+
# Logging functions
|
|
17
|
+
log_info() {
|
|
18
|
+
echo -e "${BLUE}ℹ️ $1${NC}"
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
log_success() {
|
|
22
|
+
echo -e "${GREEN}✅ $1${NC}"
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
log_warning() {
|
|
26
|
+
echo -e "${YELLOW}⚠️ $1${NC}"
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
log_error() {
|
|
30
|
+
echo -e "${RED}❌ $1${NC}"
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
# Architecture detection
|
|
34
|
+
detect_architecture() {
|
|
35
|
+
local arch=$(uname -m)
|
|
36
|
+
if [[ "$arch" == "arm64" ]]; then
|
|
37
|
+
echo "arm64"
|
|
38
|
+
elif [[ "$arch" == "x86_64" ]]; then
|
|
39
|
+
echo "amd64"
|
|
40
|
+
else
|
|
41
|
+
log_warning "Unknown architecture: $arch, defaulting to amd64"
|
|
42
|
+
echo "amd64"
|
|
43
|
+
fi
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
# Check if Homebrew is installed
|
|
47
|
+
check_homebrew() {
|
|
48
|
+
if ! command -v brew &> /dev/null; then
|
|
49
|
+
log_error "Homebrew is not installed. Please run apps.sh first to install Homebrew."
|
|
50
|
+
exit 1
|
|
51
|
+
fi
|
|
52
|
+
log_success "Homebrew found"
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
# Setup Mac App Store CLI
|
|
56
|
+
setup_mas() {
|
|
57
|
+
log_info "Setting up Mac App Store CLI (mas)..."
|
|
58
|
+
|
|
59
|
+
if ! command -v mas &> /dev/null; then
|
|
60
|
+
log_info "Installing mas (Mac App Store CLI)..."
|
|
61
|
+
brew install mas || {
|
|
62
|
+
log_error "Failed to install mas"
|
|
63
|
+
return 1
|
|
64
|
+
}
|
|
65
|
+
else
|
|
66
|
+
log_success "mas already installed"
|
|
67
|
+
fi
|
|
68
|
+
|
|
69
|
+
# Check if user is signed in to Mac App Store
|
|
70
|
+
if ! mas account &> /dev/null; then
|
|
71
|
+
log_warning "Not signed in to Mac App Store. Some applications may not install."
|
|
72
|
+
log_info "Please sign in to the Mac App Store manually to install App Store applications."
|
|
73
|
+
else
|
|
74
|
+
log_success "Signed in to Mac App Store"
|
|
75
|
+
fi
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
# Install a GUI application with error handling
|
|
79
|
+
install_gui_app() {
|
|
80
|
+
local app_name="$1"
|
|
81
|
+
local description="$2"
|
|
82
|
+
local install_cmd="$3"
|
|
83
|
+
local fallback_cmd="$4"
|
|
84
|
+
|
|
85
|
+
log_info "Installing $description..."
|
|
86
|
+
|
|
87
|
+
if eval "$install_cmd"; then
|
|
88
|
+
log_success "$app_name installed successfully"
|
|
89
|
+
return 0
|
|
90
|
+
elif [[ -n "$fallback_cmd" ]]; then
|
|
91
|
+
log_warning "Primary installation failed, trying fallback method..."
|
|
92
|
+
if eval "$fallback_cmd"; then
|
|
93
|
+
log_success "$app_name installed via fallback method"
|
|
94
|
+
return 0
|
|
95
|
+
else
|
|
96
|
+
log_error "Failed to install $app_name via fallback method"
|
|
97
|
+
return 1
|
|
98
|
+
fi
|
|
99
|
+
else
|
|
100
|
+
log_error "Failed to install $app_name"
|
|
101
|
+
return 1
|
|
102
|
+
fi
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
# Install GUI applications from a list
|
|
106
|
+
install_gui_app_list() {
|
|
107
|
+
local group_name="$1"
|
|
108
|
+
shift
|
|
109
|
+
local apps=("$@")
|
|
110
|
+
|
|
111
|
+
log_info "Installing $group_name applications..."
|
|
112
|
+
|
|
113
|
+
local failed_apps=()
|
|
114
|
+
for app_info in "${apps[@]}"; do
|
|
115
|
+
IFS='|' read -r app_name description install_cmd fallback_cmd <<< "$app_info"
|
|
116
|
+
if ! install_gui_app "$app_name" "$description" "$install_cmd" "$fallback_cmd"; then
|
|
117
|
+
failed_apps+=("$app_name")
|
|
118
|
+
fi
|
|
119
|
+
done
|
|
120
|
+
|
|
121
|
+
if [[ ${#failed_apps[@]} -gt 0 ]]; then
|
|
122
|
+
log_warning "$group_name: Failed to install: ${failed_apps[*]}"
|
|
123
|
+
else
|
|
124
|
+
log_success "All $group_name applications installed successfully"
|
|
125
|
+
fi
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
# Main installation function
|
|
129
|
+
main() {
|
|
130
|
+
log_info "Starting macOS GUI application installation..."
|
|
131
|
+
log_info "Detected architecture: $(detect_architecture)"
|
|
132
|
+
|
|
133
|
+
# Check prerequisites
|
|
134
|
+
check_homebrew
|
|
135
|
+
setup_mas
|
|
136
|
+
|
|
137
|
+
# --GROUP:BROWSERS - Web browsers
|
|
138
|
+
local browsers=(
|
|
139
|
+
"brave-browser|Brave Browser - Privacy-focused web browser|brew install --cask brave-browser|"
|
|
140
|
+
"google-chrome|Google Chrome web browser|brew install --cask google-chrome|"
|
|
141
|
+
"firefox|Mozilla Firefox web browser|brew install --cask firefox|"
|
|
142
|
+
"microsoft-edge|Microsoft Edge web browser|brew install --cask microsoft-edge|"
|
|
143
|
+
"safari-technology-preview|Safari Technology Preview|brew install --cask safari-technology-preview|"
|
|
144
|
+
)
|
|
145
|
+
|
|
146
|
+
install_gui_app_list "Browsers" "${browsers[@]}"
|
|
147
|
+
|
|
148
|
+
# --GROUP:CODE_EDITORS - Code editors and IDEs
|
|
149
|
+
local code_editors=(
|
|
150
|
+
"visual-studio-code|Visual Studio Code|brew install --cask visual-studio-code|"
|
|
151
|
+
"cursor|Cursor AI-powered code editor|brew install --cask cursor|"
|
|
152
|
+
"sublime-text|Sublime Text editor|brew install --cask sublime-text|"
|
|
153
|
+
"atom|Atom text editor|brew install --cask atom|"
|
|
154
|
+
"webstorm|JetBrains WebStorm IDE|brew install --cask webstorm|"
|
|
155
|
+
"pycharm|JetBrains PyCharm IDE|brew install --cask pycharm|"
|
|
156
|
+
"intellij-idea|JetBrains IntelliJ IDEA|brew install --cask intellij-idea|"
|
|
157
|
+
"xcode|Xcode development environment|mas install 497799835|brew install --cask xcode"
|
|
158
|
+
)
|
|
159
|
+
|
|
160
|
+
install_gui_app_list "Code Editors & IDEs" "${code_editors[@]}"
|
|
161
|
+
|
|
162
|
+
# --GROUP:PRODUCTIVITY - Productivity and office applications
|
|
163
|
+
local productivity=(
|
|
164
|
+
"obsidian|Obsidian note-taking app|brew install --cask obsidian|"
|
|
165
|
+
"notion|Notion workspace|brew install --cask notion|"
|
|
166
|
+
"bitwarden|Bitwarden password manager|brew install --cask bitwarden|"
|
|
167
|
+
"1password|1Password password manager|brew install --cask 1password|mas install 1333542190"
|
|
168
|
+
"alfred|Alfred productivity app|brew install --cask alfred|"
|
|
169
|
+
"raycast|Raycast launcher and productivity tool|brew install --cask raycast|"
|
|
170
|
+
"rectangle|Rectangle window management|brew install --cask rectangle|"
|
|
171
|
+
"magnet|Magnet window manager|mas install 441258766|brew install --cask magnet"
|
|
172
|
+
"cleanmymac|CleanMyMac X system cleaner|mas install 1339170533|"
|
|
173
|
+
)
|
|
174
|
+
|
|
175
|
+
install_gui_app_list "Productivity" "${productivity[@]}"
|
|
176
|
+
|
|
177
|
+
# --GROUP:MEDIA - Media and entertainment applications
|
|
178
|
+
local media=(
|
|
179
|
+
"vlc|VLC media player|brew install --cask vlc|"
|
|
180
|
+
"obs|OBS Studio for streaming and recording|brew install --cask obs|"
|
|
181
|
+
"handbrake|HandBrake video transcoder|brew install --cask handbrake|"
|
|
182
|
+
"spotify|Spotify music streaming|brew install --cask spotify|mas install 324684580"
|
|
183
|
+
"youtube-music|YouTube Music|brew install --cask youtube-music|"
|
|
184
|
+
"plex|Plex media server|brew install --cask plex|"
|
|
185
|
+
"keka|Keka archive utility|brew install --cask keka|mas install 470158793"
|
|
186
|
+
"the-unarchiver|The Unarchiver|brew install --cask the-unarchiver|mas install 425424353"
|
|
187
|
+
)
|
|
188
|
+
|
|
189
|
+
install_gui_app_list "Media & Entertainment" "${media[@]}"
|
|
190
|
+
|
|
191
|
+
# --GROUP:DEVELOPMENT - Development and system tools
|
|
192
|
+
local development=(
|
|
193
|
+
"docker|Docker Desktop|brew install --cask docker|"
|
|
194
|
+
"postman|Postman API development|brew install --cask postman|"
|
|
195
|
+
"insomnia|Insomnia REST client|brew install --cask insomnia|"
|
|
196
|
+
"github-desktop|GitHub Desktop|brew install --cask github-desktop|"
|
|
197
|
+
"sourcetree|Sourcetree Git client|brew install --cask sourcetree|"
|
|
198
|
+
"iterm2|iTerm2 terminal emulator|brew install --cask iterm2|"
|
|
199
|
+
"warp|Warp modern terminal|brew install --cask warp|"
|
|
200
|
+
"alacritty|Alacritty terminal emulator|brew install --cask alacritty|"
|
|
201
|
+
)
|
|
202
|
+
|
|
203
|
+
install_gui_app_list "Development Tools" "${development[@]}"
|
|
204
|
+
|
|
205
|
+
# --GROUP:DATABASE - Database management tools
|
|
206
|
+
local database=(
|
|
207
|
+
"dbeaver-community|DBeaver database tool|brew install --cask dbeaver-community|"
|
|
208
|
+
"sequel-pro|Sequel Pro MySQL client|brew install --cask sequel-pro|"
|
|
209
|
+
"tableplus|TablePlus database client|brew install --cask tableplus|"
|
|
210
|
+
"redis-insight|RedisInsight Redis GUI|brew install --cask redisinsight|"
|
|
211
|
+
"mongodb-compass|MongoDB Compass|brew install --cask mongodb-compass|"
|
|
212
|
+
)
|
|
213
|
+
|
|
214
|
+
install_gui_app_list "Database Tools" "${database[@]}"
|
|
215
|
+
|
|
216
|
+
# --GROUP:COMMUNICATION - Communication and collaboration
|
|
217
|
+
local communication=(
|
|
218
|
+
"slack|Slack team communication|brew install --cask slack|mas install 803453959"
|
|
219
|
+
"discord|Discord voice and text chat|brew install --cask discord|"
|
|
220
|
+
"zoom|Zoom video conferencing|brew install --cask zoom|"
|
|
221
|
+
"microsoft-teams|Microsoft Teams|brew install --cask microsoft-teams|"
|
|
222
|
+
"whatsapp|WhatsApp Desktop|brew install --cask whatsapp|mas install 1147396723"
|
|
223
|
+
"telegram|Telegram messaging|brew install --cask telegram|mas install 747648890"
|
|
224
|
+
)
|
|
225
|
+
|
|
226
|
+
install_gui_app_list "Communication" "${communication[@]}"
|
|
227
|
+
|
|
228
|
+
# --GROUP:SYSTEM_UTILITIES - System utilities and maintenance
|
|
229
|
+
local system_utilities=(
|
|
230
|
+
"appcleaner|AppCleaner uninstaller|brew install --cask appcleaner|"
|
|
231
|
+
"coconutbattery|CoconutBattery system info|brew install --cask coconutbattery|"
|
|
232
|
+
"disk-utility|Disk Utility (built-in)|echo 'Disk Utility is built into macOS'|"
|
|
233
|
+
"activity-monitor|Activity Monitor (built-in)|echo 'Activity Monitor is built into macOS'|"
|
|
234
|
+
"finder|Finder (built-in)|echo 'Finder is built into macOS'|"
|
|
235
|
+
"homebrew|Homebrew package manager|echo 'Homebrew already installed'|"
|
|
236
|
+
)
|
|
237
|
+
|
|
238
|
+
install_gui_app_list "System Utilities" "${system_utilities[@]}"
|
|
239
|
+
|
|
240
|
+
log_success "macOS GUI application installation completed!"
|
|
241
|
+
log_info "Some applications may require additional setup or signing in to your accounts."
|
|
242
|
+
log_info "Check Applications folder for newly installed apps."
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
# Execute main function if script is run directly
|
|
246
|
+
if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
|
|
247
|
+
main "$@"
|
|
248
|
+
fi
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
# 🔐 OpenSSH Setup for macOS
|
|
4
|
+
# This script sets up SSH configuration and permissions on macOS
|
|
5
|
+
|
|
6
|
+
echo "🔐 Starting OpenSSH setup for macOS..."
|
|
7
|
+
|
|
8
|
+
# ✅ SSH is built-in on macOS (OpenSSH comes pre-installed)
|
|
9
|
+
echo "✅ OpenSSH is pre-installed on macOS"
|
|
10
|
+
|
|
11
|
+
# 📁 Create SSH directory with correct permissions
|
|
12
|
+
echo "📁 Setting up SSH directory..."
|
|
13
|
+
mkdir -p ~/.ssh
|
|
14
|
+
chmod 700 ~/.ssh
|
|
15
|
+
echo "✅ SSH directory created with correct permissions (700)"
|
|
16
|
+
|
|
17
|
+
# 📝 Create authorized_keys file if it doesn't exist
|
|
18
|
+
if [ ! -f ~/.ssh/authorized_keys ]; then
|
|
19
|
+
touch ~/.ssh/authorized_keys
|
|
20
|
+
chmod 600 ~/.ssh/authorized_keys
|
|
21
|
+
echo "✅ Created authorized_keys file"
|
|
22
|
+
else
|
|
23
|
+
echo "✅ authorized_keys file already exists"
|
|
24
|
+
chmod 600 ~/.ssh/authorized_keys
|
|
25
|
+
fi
|
|
26
|
+
|
|
27
|
+
# 🔑 Create SSH keys if they don't exist
|
|
28
|
+
if [ ! -f ~/.ssh/id_rsa ]; then
|
|
29
|
+
echo "🔑 Generating SSH keys (RSA)..."
|
|
30
|
+
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa -N "" -C "$(whoami)@$(hostname)"
|
|
31
|
+
echo "✅ SSH RSA keys generated: ~/.ssh/id_rsa"
|
|
32
|
+
else
|
|
33
|
+
echo "✅ SSH keys already exist"
|
|
34
|
+
fi
|
|
35
|
+
|
|
36
|
+
# 🔐 Create Ed25519 keys (modern alternative)
|
|
37
|
+
if [ ! -f ~/.ssh/id_ed25519 ]; then
|
|
38
|
+
echo "🔑 Generating SSH keys (Ed25519)..."
|
|
39
|
+
ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519 -N "" -C "$(whoami)@$(hostname)"
|
|
40
|
+
echo "✅ SSH Ed25519 keys generated: ~/.ssh/id_ed25519"
|
|
41
|
+
else
|
|
42
|
+
echo "✅ SSH Ed25519 keys already exist"
|
|
43
|
+
fi
|
|
44
|
+
|
|
45
|
+
# 🔧 Configure SSH config file for convenience
|
|
46
|
+
SSH_CONFIG="$HOME/.ssh/config"
|
|
47
|
+
if [ ! -f "$SSH_CONFIG" ]; then
|
|
48
|
+
echo "📝 Creating SSH config file..."
|
|
49
|
+
cat > "$SSH_CONFIG" << 'EOF'
|
|
50
|
+
# SSH Config File for macOS
|
|
51
|
+
# Add your remote hosts below
|
|
52
|
+
|
|
53
|
+
# Example host configuration:
|
|
54
|
+
# Host myserver
|
|
55
|
+
# HostName example.com
|
|
56
|
+
# User username
|
|
57
|
+
# Port 22
|
|
58
|
+
# IdentityFile ~/.ssh/id_ed25519
|
|
59
|
+
# IdentityFile ~/.ssh/id_rsa
|
|
60
|
+
|
|
61
|
+
# Global settings
|
|
62
|
+
Host *
|
|
63
|
+
AddKeysToAgent yes
|
|
64
|
+
UseKeychain yes
|
|
65
|
+
IdentityFile ~/.ssh/id_ed25519
|
|
66
|
+
IdentityFile ~/.ssh/id_rsa
|
|
67
|
+
ServerAliveInterval 60
|
|
68
|
+
EOF
|
|
69
|
+
chmod 600 "$SSH_CONFIG"
|
|
70
|
+
echo "✅ SSH config file created: $SSH_CONFIG"
|
|
71
|
+
else
|
|
72
|
+
echo "✅ SSH config file already exists"
|
|
73
|
+
fi
|
|
74
|
+
|
|
75
|
+
# 🔒 Ensure correct file permissions
|
|
76
|
+
echo "🔒 Setting correct SSH file permissions..."
|
|
77
|
+
chmod 700 ~/.ssh
|
|
78
|
+
chmod 600 ~/.ssh/authorized_keys 2>/dev/null || true
|
|
79
|
+
chmod 600 ~/.ssh/id_rsa 2>/dev/null || true
|
|
80
|
+
chmod 644 ~/.ssh/id_rsa.pub 2>/dev/null || true
|
|
81
|
+
chmod 600 ~/.ssh/id_ed25519 2>/dev/null || true
|
|
82
|
+
chmod 644 ~/.ssh/id_ed25519.pub 2>/dev/null || true
|
|
83
|
+
chmod 600 ~/.ssh/config 2>/dev/null || true
|
|
84
|
+
echo "✅ SSH file permissions configured correctly"
|
|
85
|
+
|
|
86
|
+
# ℹ️ Display SSH key information
|
|
87
|
+
echo ""
|
|
88
|
+
echo "📋 SSH Setup Summary:"
|
|
89
|
+
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
90
|
+
echo "SSH Directory: ~/.ssh"
|
|
91
|
+
echo "SSH Config: ~/.ssh/config"
|
|
92
|
+
echo ""
|
|
93
|
+
echo "Available SSH Keys:"
|
|
94
|
+
if [ -f ~/.ssh/id_rsa.pub ]; then
|
|
95
|
+
echo " • RSA Key: ~/.ssh/id_rsa"
|
|
96
|
+
fi
|
|
97
|
+
if [ -f ~/.ssh/id_ed25519.pub ]; then
|
|
98
|
+
echo " • Ed25519 Key: ~/.ssh/id_ed25519"
|
|
99
|
+
fi
|
|
100
|
+
echo ""
|
|
101
|
+
echo "💡 Next Steps:"
|
|
102
|
+
echo " 1. View your public key:"
|
|
103
|
+
echo " cat ~/.ssh/id_ed25519.pub (or id_rsa.pub)"
|
|
104
|
+
echo " 2. Add it to your GitHub/GitLab/server authorized_keys"
|
|
105
|
+
echo " 3. Test connection:"
|
|
106
|
+
echo " ssh -v your_server"
|
|
107
|
+
echo " 4. Configure hosts in ~/.ssh/config for easy access"
|
|
108
|
+
echo ""
|
|
109
|
+
echo "📚 Learn more about SSH:"
|
|
110
|
+
echo " • man ssh"
|
|
111
|
+
echo " • man ssh-keygen"
|
|
112
|
+
echo " • man ssh_config"
|
|
113
|
+
echo ""
|
|
114
|
+
echo "✅ OpenSSH setup complete!"
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
# Install or update uv (universal version manager) on macOS
|
|
4
|
+
# Mirrors Linux uv installer but adapts PATH and locations for mac
|
|
5
|
+
|
|
6
|
+
set -euo pipefail
|
|
7
|
+
|
|
8
|
+
UV_BIN="$HOME/.local/bin/uv"
|
|
9
|
+
|
|
10
|
+
if [ ! -f "$UV_BIN" ]; then
|
|
11
|
+
echo "📦 uv binary not found — installing uv to $HOME/.local/bin..."
|
|
12
|
+
mkdir -p "$HOME/.local/bin"
|
|
13
|
+
curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
14
|
+
echo "✅ uv installed to $UV_BIN"
|
|
15
|
+
else
|
|
16
|
+
echo "🔄 uv binary found — attempting self-update..."
|
|
17
|
+
"$UV_BIN" self update || true
|
|
18
|
+
fi
|
|
19
|
+
|
|
20
|
+
# Ensure local bin is in PATH for this run
|
|
21
|
+
export PATH="$HOME/.local/bin:$PATH"
|
|
22
|
+
|
|
23
|
+
if ! command -v uv &> /dev/null; then
|
|
24
|
+
echo "⚠️ uv not found in PATH even after install; add \"$HOME/.local/bin\" to your shell profile"
|
|
25
|
+
else
|
|
26
|
+
echo "🔧 uv available: $(command -v uv)"
|
|
27
|
+
fi
|
|
28
|
+
|
|
29
|
+
# Example uv usage: ensure Python 3.14 is available (adjust as needed)
|
|
30
|
+
if command -v uv &> /dev/null; then
|
|
31
|
+
echo "📥 Ensuring Python 3.14 via uv (if supported)"
|
|
32
|
+
# uv may manage various runtimes; this is an example command and will be skipped gracefully if unsupported
|
|
33
|
+
uv python install 3.14 || true
|
|
34
|
+
fi
|
|
35
|
+
|
|
36
|
+
echo "✅ uv setup complete"
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
|
|
2
|
+
from pathlib import Path
|
|
3
|
+
|
|
4
|
+
UV = Path(__file__).parent.joinpath("uv.ps1")
|
|
5
|
+
DOCKER = Path(__file__).parent.joinpath("others/docker.ps1")
|
|
6
|
+
OBS = Path(__file__).parent.joinpath("others/obs.ps1")
|
|
7
|
+
POWER_OPTIONS = Path(__file__).parent.joinpath("others/power_options.ps1")
|
|
8
|
+
SSH_SERVER = Path(__file__).parent.joinpath("ssh/openssh_server.ps1")
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
|
|
2
|
+
# This script adds a public key to the authorized_keys file for the sshd service
|
|
3
|
+
# as a result, a remote can connet to the machine if they got the corresponding private key (identity).
|
|
4
|
+
|
|
5
|
+
# https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_keymanagement
|
|
6
|
+
# http://woshub.com/using-ssh-key-based-authentication-on-windows/
|
|
7
|
+
|
|
8
|
+
$ErrorActionPreference = "Stop"
|
|
9
|
+
$sshd_dir = "$env:ProgramData\ssh"
|
|
10
|
+
$sshfile = "$env:USERPROFILE\.ssh\pubkey.pub" # this directory is for normal users, not admins.
|
|
11
|
+
# Once they are populated, we can create administrators_authorized_keys
|
|
12
|
+
|
|
13
|
+
Get-Content $sshfile >> "$sshd_dir\administrators_authorized_keys"
|
|
14
|
+
# set appropirate persmissions for this file
|
|
15
|
+
Set-Location $sshd_dir
|
|
16
|
+
icacls administrators_authorized_keys /inheritance:r /grant "Administrators:F" /grant "SYSTEM:F"
|
|
17
|
+
# Lastly, enabling public key authentication.
|
|
18
|
+
$sshd_config = "$sshd_dir\sshd_config"
|
|
19
|
+
(Get-Content $sshd_config) -replace '#PubkeyAuthentication', 'PubkeyAuthentication' | Out-File -encoding ASCII $sshd_config
|
|
20
|
+
#(Get-Content $sshd_dir\sshd_config) -replace 'AuthorizedKeysFile __PROGRAMDATA__', '#AuthorizedKeysFile __PROGRAMDATA__' | Out-File -encoding ASCII $sshd_config
|
|
21
|
+
#(Get-Content $sshd_dir\sshd_config) -replace 'Match Group administrators', '#Match Group administrators' | Out-File -encoding ASCII $sshd_config
|
|
22
|
+
#cat C:\ProgramData\ssh\sshd_config
|
|
23
|
+
|
|
24
|
+
# to load the fresh settings, we need to restart the service:
|
|
25
|
+
Restart-Service sshd -Force
|
|
26
|
+
|
|
27
|
+
#Write-Host "Use this to Login/test Now"
|
|
28
|
+
#write-host ssh $env:UserName@localhost
|
|
29
|
+
# debug tip: use nano editor to inspect files above, if unreadable max-text format is used, ssh won't work.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
|
|
2
|
+
# on the side of the local machine, you need to sort out the following:
|
|
3
|
+
# if the $sshfile doesn't have a standard name, you will need to explicitly specify the identity while SSHing (e.g. ssh u@s -i ~/.ssh/my_id)
|
|
4
|
+
# However, this must be done every time. For permanent solutions, use .ssh/config
|
|
5
|
+
|
|
6
|
+
$sshfile = "$env:USERPROFILE\.ssh\id_rsa"
|
|
7
|
+
|
|
8
|
+
Set-Service ssh-agent -StartupType Manual # allow the service to be started manually
|
|
9
|
+
ssh-agent # start the service
|
|
10
|
+
ssh-add.exe $sshfile # add the key to the agent
|
|
11
|
+
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
|
|
2
|
+
$ErrorActionPreference = "Stop"
|
|
3
|
+
# ALL of the following require admin priviliages:
|
|
4
|
+
Set-ExecutionPolicy Bypass
|
|
5
|
+
# PowerShell.exe -ExecutionPolicy Bypass -File "C:\bypass\prompt\standard.ps1" 2>&1>$null
|
|
6
|
+
|
|
7
|
+
# Install SSH-Server on a windows machine. see this one below if this one didn't work:
|
|
8
|
+
# to install: winget install --Id Microsoft.OpenSSH.Preview --source winget --scope user # from: https://github.com/PowerShell/Win32-OpenSSH/wiki/Install-Win32-OpenSSH
|
|
9
|
+
# the result is installed in C:\Program Files\OpenSSH as opposed to C:\Windows\System32\OpenSSH which is the case if openssh is added as a feature/capability to windows
|
|
10
|
+
# However, notice the new path is not in PATH as is the cases with system variant, so it needs to be added manually.
|
|
11
|
+
# finally, ssh config files are always @ "$env:ProgramData\ssh" irrespective of installation method.
|
|
12
|
+
# if ssh key is created on windows, it doesn't work on linux and gives a cryptlib error. It must be read again and saved in non DOS format.
|
|
13
|
+
|
|
14
|
+
Add-WindowsCapability -Online -Name OpenSSH.Server
|
|
15
|
+
Add-WindowsCapability -Online -Name OpenSSH.Client
|
|
16
|
+
|
|
17
|
+
#New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH SSH Server' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22 -Program "%WINDIR%\System32\OpenSSH\sshd.exe"
|
|
18
|
+
|
|
19
|
+
# Must Enable ssh-agent before starting. But even before that, one need to update path so that same shell has access to the NEWLY added ssh program
|
|
20
|
+
$env:Path = [System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User")
|
|
21
|
+
|
|
22
|
+
Set-Service -Name sshd -StartupType Automatic
|
|
23
|
+
#Get-Service -Name ssh-agent | Set-Service -StartupType Automatic
|
|
24
|
+
#Set-Service -Name ssh-agent -StartupType Automatic
|
|
25
|
+
#Start-Service ssh-agent
|
|
26
|
+
# Starting the service for the first time will populate the directory with config files.
|
|
27
|
+
Start-Service sshd
|
|
28
|
+
|
|
29
|
+
# Next up, change default shell to powershell, becuse CMD is lame
|
|
30
|
+
# following: https://github.com/PowerShell/Win32-OpenSSH/wiki/DefaultShell
|
|
31
|
+
$shell = "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" # "C:\Windows\System32\wsl.exe"
|
|
32
|
+
# $shell = "C:\Program Files\PowerShell\7\pwsh.exe" # it slows SSH down because of startup time, one can still use it by running it explicitly
|
|
33
|
+
New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value $shell -PropertyType String -Force
|
|
34
|
+
New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShellCommandOption -Value "/c" -PropertyType String -Force
|
|
35
|
+
|
|
36
|
+
cd ~
|
|
37
|
+
mkdir .ssh -ErrorAction SilentlyContinue
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
if (-not (Test-Path -Path "$HOME\.local\bin\uv.exe")) {
|
|
4
|
+
Write-Output "uv binary not found, installing..."
|
|
5
|
+
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
|
|
6
|
+
} else {
|
|
7
|
+
Write-Output "uv binary found, updating..."
|
|
8
|
+
& "$HOME\.local\bin\uv.exe" self update
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
# `C:\Users\aalsaf01\.local\bin` is not on your PATH. To use installed Python executables, run `$env:PATH = "C:\Users\aalsaf01\.local\bin;$env:PATH"` or `uv python update-shell`.
|
|
12
|
+
& "$env:USERPROFILE\.local\bin\uv.exe" python update-shell
|
|
13
|
+
$env:Path = [System.Environment]::GetEnvironmentVariable('Path', 'Machine') + ';' + [System.Environment]::GetEnvironmentVariable('Path', 'User')
|
|
14
|
+
|
|
15
|
+
# & "$HOME\.local\bin\uv.exe" python install 3.14
|
|
16
|
+
uv python install 3.14
|
|
17
|
+
|