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
|
@@ -1,160 +0,0 @@
|
|
|
1
|
-
"""Repos
|
|
2
|
-
|
|
3
|
-
# TODO use gh api user --jq '.login' to get the username and use it to clone the repos.
|
|
4
|
-
in the event that username@github.com is not mentioned in the remote url.
|
|
5
|
-
|
|
6
|
-
"""
|
|
7
|
-
|
|
8
|
-
from machineconfig.utils.io import read_ini
|
|
9
|
-
from machineconfig.utils.source_of_truth import CONFIG_PATH, DEFAULTS_PATH
|
|
10
|
-
from machineconfig.utils.path_extended import PathExtended as PathExtended
|
|
11
|
-
from machineconfig.utils.accessories import randstr
|
|
12
|
-
from machineconfig.scripts.python.repos_helper_update import update_repository
|
|
13
|
-
from machineconfig.scripts.python.repos_helper_record import main as record_repos
|
|
14
|
-
from machineconfig.scripts.python.repos_helper_clone import clone_repos
|
|
15
|
-
|
|
16
|
-
import argparse
|
|
17
|
-
from enum import Enum
|
|
18
|
-
from typing import Optional
|
|
19
|
-
|
|
20
|
-
from rich import print as pprint
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
class GitAction(Enum):
|
|
24
|
-
commit = "commit"
|
|
25
|
-
push = "push"
|
|
26
|
-
pull = "pull"
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
def git_action(path: PathExtended, action: GitAction, mess: Optional[str] = None, r: bool = False, auto_sync: bool = True) -> bool:
|
|
30
|
-
"""Perform git actions using Python instead of shell scripts. Returns True if successful."""
|
|
31
|
-
from git.exc import InvalidGitRepositoryError
|
|
32
|
-
from git.repo import Repo
|
|
33
|
-
|
|
34
|
-
try:
|
|
35
|
-
repo = Repo(str(path), search_parent_directories=False)
|
|
36
|
-
except InvalidGitRepositoryError:
|
|
37
|
-
pprint(f"⚠️ Skipping {path} because it is not a git repository.")
|
|
38
|
-
if r:
|
|
39
|
-
results = [git_action(path=sub_path, action=action, mess=mess, r=r, auto_sync=auto_sync) for sub_path in path.search()]
|
|
40
|
-
return all(results) # Return True only if all recursive operations succeeded
|
|
41
|
-
else:
|
|
42
|
-
return False
|
|
43
|
-
|
|
44
|
-
print(f">>>>>>>>> 🔧{action} - {path}")
|
|
45
|
-
|
|
46
|
-
try:
|
|
47
|
-
if action == GitAction.commit:
|
|
48
|
-
if mess is None:
|
|
49
|
-
mess = "auto_commit_" + randstr()
|
|
50
|
-
|
|
51
|
-
# Check if there are changes to commit
|
|
52
|
-
if repo.is_dirty() or repo.untracked_files:
|
|
53
|
-
repo.git.add(A=True) # Stage all changes
|
|
54
|
-
repo.index.commit(mess)
|
|
55
|
-
print(f"✅ Committed changes with message: {mess}")
|
|
56
|
-
return True
|
|
57
|
-
else:
|
|
58
|
-
print("ℹ️ No changes to commit")
|
|
59
|
-
return True
|
|
60
|
-
|
|
61
|
-
elif action == GitAction.push:
|
|
62
|
-
success = True
|
|
63
|
-
for remote in repo.remotes:
|
|
64
|
-
try:
|
|
65
|
-
print(f"🚀 Pushing to {remote.url}")
|
|
66
|
-
remote.push(repo.active_branch.name)
|
|
67
|
-
print(f"✅ Pushed to {remote.name}")
|
|
68
|
-
except Exception as e:
|
|
69
|
-
print(f"❌ Failed to push to {remote.name}: {e}")
|
|
70
|
-
success = False
|
|
71
|
-
return success
|
|
72
|
-
|
|
73
|
-
elif action == GitAction.pull:
|
|
74
|
-
# Use the enhanced update function with uv sync support
|
|
75
|
-
update_repository(repo, auto_sync=auto_sync, allow_password_prompt=False)
|
|
76
|
-
print("✅ Pull completed")
|
|
77
|
-
return True
|
|
78
|
-
|
|
79
|
-
except Exception as e:
|
|
80
|
-
print(f"❌ Error performing {action} on {path}: {e}")
|
|
81
|
-
return False
|
|
82
|
-
|
|
83
|
-
return True
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
def main():
|
|
87
|
-
print("\n" + "=" * 50)
|
|
88
|
-
print("📂 Welcome to the Repository Manager")
|
|
89
|
-
print("=" * 50 + "\n")
|
|
90
|
-
|
|
91
|
-
parser = argparse.ArgumentParser(description="REPO MANAGER")
|
|
92
|
-
# POSITIONAL
|
|
93
|
-
parser.add_argument("directory", help="📁 Folder containing repos to record or a specs JSON file to follow.", default="")
|
|
94
|
-
# FLAGS
|
|
95
|
-
parser.add_argument("--push", help="🚀 Push changes.", action="store_true")
|
|
96
|
-
parser.add_argument("--pull", help="⬇️ Pull changes.", action="store_true")
|
|
97
|
-
parser.add_argument("--commit", help="💾 Commit changes.", action="store_true")
|
|
98
|
-
parser.add_argument("--all", help="🔄 Pull, commit, and push changes.", action="store_true")
|
|
99
|
-
parser.add_argument("--record", help="📝 Record repositories.", action="store_true")
|
|
100
|
-
parser.add_argument("--clone", help="📥 Clone repositories from record.", action="store_true")
|
|
101
|
-
parser.add_argument("--checkout", help="🔀 Check out to versions provided in a JSON file.", action="store_true")
|
|
102
|
-
parser.add_argument("--checkout_to_branch", help="🔀 Check out to the main branch.", action="store_true")
|
|
103
|
-
parser.add_argument("--recursive", "-r", help="🔍 Recursive flag.", action="store_true")
|
|
104
|
-
parser.add_argument("--no-sync", help="🚫 Disable automatic uv sync after pulls.", action="store_true")
|
|
105
|
-
# OPTIONAL
|
|
106
|
-
parser.add_argument("--cloud", "-c", help="☁️ Cloud storage option.", default=None)
|
|
107
|
-
args = parser.parse_args()
|
|
108
|
-
|
|
109
|
-
if args.directory == "":
|
|
110
|
-
repos_root = PathExtended.home().joinpath("code") # it is a positional argument, can never be empty.
|
|
111
|
-
else:
|
|
112
|
-
repos_root = PathExtended(args.directory).expanduser().absolute()
|
|
113
|
-
|
|
114
|
-
auto_sync = not args.no_sync # Enable auto sync by default, disable with --no-sync
|
|
115
|
-
|
|
116
|
-
if args.record:
|
|
117
|
-
save_path = record_repos(repos_root=repos_root)
|
|
118
|
-
if args.cloud is not None:
|
|
119
|
-
PathExtended(save_path).to_cloud(rel2home=True, cloud=args.cloud)
|
|
120
|
-
|
|
121
|
-
elif args.clone or args.checkout or args.checkout_to_branch:
|
|
122
|
-
print("\n📥 Cloning or checking out repositories...")
|
|
123
|
-
print(">>>>>>>>> Cloning Repos")
|
|
124
|
-
if not repos_root.exists() or repos_root.name != "repos.json":
|
|
125
|
-
repos_root = PathExtended(CONFIG_PATH).joinpath("repos").joinpath(repos_root.rel2home()).joinpath("repos.json")
|
|
126
|
-
if not repos_root.exists():
|
|
127
|
-
if args.cloud is None:
|
|
128
|
-
cloud: str = read_ini(DEFAULTS_PATH)["general"]["rclone_config_name"]
|
|
129
|
-
print(f"⚠️ Using default cloud: {cloud}")
|
|
130
|
-
else:
|
|
131
|
-
cloud = args.cloud
|
|
132
|
-
assert cloud is not None, f"Path {repos_root} does not exist and cloud was not passed. You can't clone without one of them."
|
|
133
|
-
repos_root.from_cloud(cloud=cloud, rel2home=True)
|
|
134
|
-
assert (repos_root.exists() and repos_root.name == "repos.json") or args.cloud is not None, f"Path {repos_root} does not exist and cloud was not passed. You can't clone without one of them."
|
|
135
|
-
clone_repos(spec_path=repos_root, preferred_remote=None, checkout_branch_flag=args.checkout_to_branch, checkout_commit_flag=args.checkout)
|
|
136
|
-
|
|
137
|
-
elif args.all or args.commit or args.pull or args.push:
|
|
138
|
-
print(f"\n🔄 Performing Git actions on repositories @ `{repos_root}`...")
|
|
139
|
-
overall_success = True
|
|
140
|
-
for a_path in repos_root.search("*"):
|
|
141
|
-
print(f"{('Handling ' + str(a_path)).center(80, '-')}")
|
|
142
|
-
path_success = True
|
|
143
|
-
if args.pull or args.all:
|
|
144
|
-
path_success = git_action(path=a_path, action=GitAction.pull, r=args.recursive, auto_sync=auto_sync) and path_success
|
|
145
|
-
if args.commit or args.all:
|
|
146
|
-
path_success = git_action(a_path, action=GitAction.commit, r=args.recursive, auto_sync=auto_sync) and path_success
|
|
147
|
-
if args.push or args.all:
|
|
148
|
-
path_success = git_action(a_path, action=GitAction.push, r=args.recursive, auto_sync=auto_sync) and path_success
|
|
149
|
-
overall_success = overall_success and path_success
|
|
150
|
-
|
|
151
|
-
if overall_success:
|
|
152
|
-
print("✅ All git operations completed successfully")
|
|
153
|
-
else:
|
|
154
|
-
print("⚠️ Some git operations encountered issues")
|
|
155
|
-
else:
|
|
156
|
-
print("❌ No action specified. Try passing --push, --pull, --commit, or --all.")
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
if __name__ == "__main__":
|
|
160
|
-
main()
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
# def main():
|
|
2
|
-
# print("\n" + "=" * 50)
|
|
3
|
-
# print("📸 Welcome to the Snapshot Tool")
|
|
4
|
-
# print("=" * 50 + "\n")
|
|
5
|
-
|
|
6
|
-
# parser = argparse.ArgumentParser(description='📷 Capture snapshots using your webcam.')
|
|
7
|
-
# parser.add_argument("--to_text", "-t", help="📝 Convert the snapshot to text using OCR.", action="store_true")
|
|
8
|
-
# args = parser.parse_args()
|
|
9
|
-
|
|
10
|
-
# print("📷 Capturing image from webcam...")
|
|
11
|
-
# img_path = capture_from_webcam(show=False, wait=False, save=True)
|
|
12
|
-
# print(f"✅ Image captured and saved at: {img_path}\n")
|
|
13
|
-
|
|
14
|
-
# if args.to_text:
|
|
15
|
-
# print("🔍 Converting image to text using Tesseract OCR...")
|
|
16
|
-
# q = Terminal().run(f"cd ~/AppData/Local/Tesseract-OCR; pytesseract '{img_path}'", shell="pwsh").capture().op
|
|
17
|
-
# print("📝 Extracted Text:")
|
|
18
|
-
# print("-" * 50)
|
|
19
|
-
# print(q)
|
|
20
|
-
# print("-" * 50 + "\n")
|
|
21
|
-
# else:
|
|
22
|
-
# print("📂 Image saved successfully. No text extraction requested.\n")
|
|
23
|
-
|
|
24
|
-
# if __name__ == '__main__':
|
|
25
|
-
# main()
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
"""Script to start terminals on windows and wsl"""
|
|
2
|
-
|
|
3
|
-
from machineconfig.utils.options import choose_from_options, get_ssh_hosts
|
|
4
|
-
import platform
|
|
5
|
-
from itertools import cycle
|
|
6
|
-
from typing import Literal
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
COLOR_SCHEMES = ["Campbell", "Campbell Powershell", "Solarized Dark", "Ubuntu-ColorScheme", "Retro"]
|
|
10
|
-
THEMES_ITER = cycle(COLOR_SCHEMES)
|
|
11
|
-
INIT_COMMANDS = ["ls", "lf", "cpufetch", "fastfetch", "btm"]
|
|
12
|
-
INIT_COMMANDS_ITER = cycle(INIT_COMMANDS)
|
|
13
|
-
SIZE_ITER = cycle([0.6, 0.4, 0.3])
|
|
14
|
-
ORIENTATION = ["vertical", "horizontal"]
|
|
15
|
-
ORIENTATION_ITER = cycle(ORIENTATION)
|
|
16
|
-
ORIENTATION_TYPE = Literal["vertical", "horizontal"]
|
|
17
|
-
|
|
18
|
-
THIS_MACHINE = "this"
|
|
19
|
-
THIS_MACHINE_WSL = "thiswsl"
|
|
20
|
-
THIS_MACHINE_HOSTNAME = platform.node()
|
|
21
|
-
THIS_MACHINE_HOSTNAME_WSL = f"{THIS_MACHINE_HOSTNAME}wsl"
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
def main_windows_and_wsl(window: int, hosts: list[str], orientation: ORIENTATION_TYPE = "vertical", mprocs: bool = False):
|
|
25
|
-
print("\n🔧 Configuring terminal layout for Windows and WSL...")
|
|
26
|
-
orientation_oposite = "horizontal" if orientation == "vertical" else "vertical"
|
|
27
|
-
orientation_swap = "up" if orientation == "horizontal" else "left"
|
|
28
|
-
orientation_opposite_move_focus = "up" if orientation_oposite == "horizontal" else "left"
|
|
29
|
-
orientation_opposite_move_focus_other = "down" if orientation_oposite == "horizontal" else "right"
|
|
30
|
-
sleep = 3
|
|
31
|
-
sep = f"\nsleep {sleep}; wt --window {window}" # or '`;'
|
|
32
|
-
ssh_cmd = "-t 'mprocs'" if mprocs else "" # 'wsl_ssh_windows_port_forwarding.ps1'
|
|
33
|
-
split_per_machine = 1 / len(hosts)
|
|
34
|
-
size = 0.3
|
|
35
|
-
known_hosts = get_ssh_hosts()
|
|
36
|
-
if len(hosts) == 1:
|
|
37
|
-
print("🖥️ Single host detected. Configuring layout...")
|
|
38
|
-
if "wsl" in hosts[0] or f"{hosts[0]}wsl" in known_hosts: # its a windows machine with wsl
|
|
39
|
-
host_wind = hosts[0] if "wsl" not in hosts[0] else hosts[0].split("wsl")[0]
|
|
40
|
-
host_linux = f"{host_wind}wsl"
|
|
41
|
-
cmd = f"""
|
|
42
|
-
wt --window {window} --title {hosts[0]} powershell -Command "ssh {host_linux} {ssh_cmd}" `; split-pane --{orientation} --title {hosts[0]}wsl --size 0.5 powershell -Command "ssh {host_wind} `; split-pane --{orientation_oposite} --size 0.5 powershell "
|
|
43
|
-
"""
|
|
44
|
-
else: # its a windows machine without wsl
|
|
45
|
-
cmd = f"""wt --window {window} --title {hosts[0]} powershell -Command "ssh {hosts[0]} {ssh_cmd}" `; split-pane --{orientation} --title {hosts[0]}wsl --size 0.1 powershell """
|
|
46
|
-
|
|
47
|
-
elif len(hosts) > 1:
|
|
48
|
-
print("🖥️ Multiple hosts detected. Configuring layout...")
|
|
49
|
-
pane_cmd = f'powershell -Command "ssh {hosts[0]} {ssh_cmd}" ' if hosts[0] != THIS_MACHINE else ""
|
|
50
|
-
cmd = f"""wt --window {window} --title {hosts[0]} {pane_cmd} """
|
|
51
|
-
for a_host in hosts[1:]:
|
|
52
|
-
if a_host != THIS_MACHINE:
|
|
53
|
-
pane_cmd = f'powershell -Command "ssh {a_host} {ssh_cmd}" '
|
|
54
|
-
else:
|
|
55
|
-
pane_cmd = "powershell"
|
|
56
|
-
cmd += f"""{sep} split-pane --{orientation_oposite} --title {a_host}Windows --size {split_per_machine} {pane_cmd} """
|
|
57
|
-
for idx, a_host in enumerate(hosts[::-1]):
|
|
58
|
-
if f"{a_host}wsl" not in known_hosts and a_host != THIS_MACHINE:
|
|
59
|
-
continue
|
|
60
|
-
pane_cmd = f'powershell -Command "ssh {a_host}wsl"' if a_host != THIS_MACHINE else "wsl"
|
|
61
|
-
if idx == 0:
|
|
62
|
-
tmp = ""
|
|
63
|
-
else:
|
|
64
|
-
tmp = f"move-focus {orientation_opposite_move_focus}" if idx % 2 == 1 else f"move-focus {orientation_opposite_move_focus_other}"
|
|
65
|
-
cmd += f"""{sep} {tmp} split-pane --{orientation} --title {a_host}wsl --size {size} {pane_cmd} """
|
|
66
|
-
cmd += f"""{sep} swap-pane {orientation_swap} """
|
|
67
|
-
else:
|
|
68
|
-
raise NotImplementedError(f"❌ len(hosts) = {len(hosts)}. Only 1 or 2 hosts are supported.")
|
|
69
|
-
print("✅ Terminal layout configured successfully!\n")
|
|
70
|
-
return cmd
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
def main():
|
|
74
|
-
import argparse
|
|
75
|
-
|
|
76
|
-
print("\n" + "=" * 50)
|
|
77
|
-
print("🖥️ Welcome to the Terminal Starter Tool")
|
|
78
|
-
print("=" * 50 + "\n")
|
|
79
|
-
|
|
80
|
-
parser = argparse.ArgumentParser()
|
|
81
|
-
parser.add_argument("--panes", "-p", type=int, help="🔲 The number of panes to open.", default=4)
|
|
82
|
-
parser.add_argument("--vertical", "-V", action="store_true", help="↕️ Switch orientation to vertical from default horizontal.")
|
|
83
|
-
parser.add_argument("--window", "-w", type=int, help="🪟 The window ID to use.", default=0) # 0 refers to this window.
|
|
84
|
-
parser.add_argument("--hosts", "-H", type=str, nargs="*", help="🌐 The hosts to connect to.", default=None)
|
|
85
|
-
args = parser.parse_args()
|
|
86
|
-
|
|
87
|
-
if args.panes:
|
|
88
|
-
print("🔲 Configuring panes...")
|
|
89
|
-
cmd = f"wt --window {args.window} --colorScheme '{next(THEMES_ITER)}' pwsh -NoExit -Command '{next(INIT_COMMANDS_ITER)}' "
|
|
90
|
-
cmd += f" `; new-tab --colorScheme '{next(THEMES_ITER)}' --profile pwsh --title 't2' --tabColor '#f59218' "
|
|
91
|
-
cmd += f" `; new-tab --colorScheme '{next(THEMES_ITER)}' --profile pwsh --title 't3' --tabColor '#009999' "
|
|
92
|
-
for idx in range(args.panes):
|
|
93
|
-
if idx % 2 == 0:
|
|
94
|
-
cmd += f" `; move-focus down split-pane --horizontal --size {next(SIZE_ITER)} --colorScheme '{next(THEMES_ITER)}' pwsh -NoExit -Command '{next(INIT_COMMANDS_ITER)}' "
|
|
95
|
-
else:
|
|
96
|
-
cmd += f" `; move-focus up split-pane --vertical --size {next(SIZE_ITER)} --colorScheme '{next(THEMES_ITER)}' pwsh -NoExit -Command '{next(INIT_COMMANDS_ITER)}' "
|
|
97
|
-
|
|
98
|
-
else:
|
|
99
|
-
if args.hosts is None:
|
|
100
|
-
print("🌐 No hosts provided. Displaying options...")
|
|
101
|
-
hosts = choose_from_options(msg="Select hosts:", options=get_ssh_hosts() + [THIS_MACHINE], multi=True, fzf=True)
|
|
102
|
-
else:
|
|
103
|
-
print("🌐 Using provided hosts:", args.hosts)
|
|
104
|
-
hosts = args.hosts
|
|
105
|
-
assert isinstance(hosts, list)
|
|
106
|
-
cmd = main_windows_and_wsl(window=args.window, hosts=hosts, orientation="vertical" if args.vertical else "horizontal")
|
|
107
|
-
|
|
108
|
-
print("\n📋 Generated Command:")
|
|
109
|
-
print("-" * 50)
|
|
110
|
-
print(cmd)
|
|
111
|
-
print("-" * 50 + "\n")
|
|
112
|
-
|
|
113
|
-
# PROGRAM_PATH.write_text(cmd, encoding="utf-8")
|
|
114
|
-
import subprocess
|
|
115
|
-
|
|
116
|
-
subprocess.run(cmd, shell=True)
|
|
117
|
-
print("✅ Command saved successfully!\n")
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
if __name__ == "__main__":
|
|
121
|
-
main()
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
"""TWSL"""
|
|
2
|
-
|
|
3
|
-
from machineconfig.utils.path_extended import PathExtended as PathExtended
|
|
4
|
-
import argparse
|
|
5
|
-
import platform
|
|
6
|
-
import getpass
|
|
7
|
-
from pathlib import Path
|
|
8
|
-
|
|
9
|
-
system = platform.system() # e.g. "Windows", "Linux", "Darwin" (macOS)
|
|
10
|
-
# HostName = platform.node() # e.g. "MY-SURFACE", os.env["COMPUTERNAME") only works for windows.
|
|
11
|
-
UserName = getpass.getuser() # e.g: username, os.env["USERNAME") only works for windows.
|
|
12
|
-
# UserDomain = os.environ["USERDOMAIN"] # e.g. HAD OR MY-SURFACE
|
|
13
|
-
# UserDomainRoaming = PathExtended(os.environ["USERDOMAIN_ROAMINGPROFILE"]) # e.g. SURFACE
|
|
14
|
-
# LogonServer = os.environ["LOGONSERVER"] # e.g. "\\MY-SURFACE"
|
|
15
|
-
# UserProfile = PathExtended(os.env["USERPROFILE")) # e.g C:\Users\username
|
|
16
|
-
# HomePath = PathExtended(os.env["HOMEPATH")) # e.g. C:\Users\username
|
|
17
|
-
# Public = PathExtended(os.environ["PUBLIC"]) # C:\Users\Public
|
|
18
|
-
|
|
19
|
-
WSL_FROM_WIN = Path(r"\\wsl.localhost\Ubuntu-22.04\home") # PathExtended(rf"\\wsl$\Ubuntu\home") # see localappdata/canonical
|
|
20
|
-
WIN_FROM_WSL = Path(r"/mnt/c/Users")
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
def main():
|
|
24
|
-
print("\n" + "=" * 50)
|
|
25
|
-
print("🔄 Welcome to the WSL-Windows File Transfer Tool")
|
|
26
|
-
print("=" * 50 + "\n")
|
|
27
|
-
|
|
28
|
-
parser = argparse.ArgumentParser(
|
|
29
|
-
description="""📂 Move and copy files across WSL & Windows.
|
|
30
|
-
The direction is automatically determined by sensing the execution environment.
|
|
31
|
-
Otherwise, a flag must be raised to indicate the direction."""
|
|
32
|
-
)
|
|
33
|
-
|
|
34
|
-
# positional argument
|
|
35
|
-
parser.add_argument("path", help="📁 Path of file/folder to transfer over.")
|
|
36
|
-
# FLAGS
|
|
37
|
-
# this is dangerous and no gaurantee on no corruption.
|
|
38
|
-
parser.add_argument("--same_file_system", "-s", help="⚠️ Move file across the same file system (not recommended).", action="store_true") # default is False
|
|
39
|
-
# optional argument
|
|
40
|
-
parser.add_argument("--destination", "-d", help="📍 New path.", default="")
|
|
41
|
-
parser.add_argument("--pwd", "-P", help="🔑 Password for encryption.", default=None)
|
|
42
|
-
parser.add_argument("--sshkey", "-i", help="🔐 Path to SSH private key.", default=None)
|
|
43
|
-
parser.add_argument("--port", "-p", help="🔌 Port number.", default=None)
|
|
44
|
-
parser.add_argument("--zip_first", "-z", help="📦 Zip before transferring.", action="store_true") # default is False
|
|
45
|
-
|
|
46
|
-
args = parser.parse_args()
|
|
47
|
-
path = PathExtended(args.path).expanduser().absolute()
|
|
48
|
-
|
|
49
|
-
if args.same_file_system:
|
|
50
|
-
print("⚠️ Using a not recommended transfer method! Copying files across the same file system.")
|
|
51
|
-
if system == "Windows": # move files over to WSL
|
|
52
|
-
print("📤 Transferring files from Windows to WSL...")
|
|
53
|
-
path.copy(folder=WSL_FROM_WIN.joinpath(UserName).joinpath(path.rel2home().parent), overwrite=True) # the following works for files and folders alike.
|
|
54
|
-
else: # move files from WSL to win
|
|
55
|
-
print("📤 Transferring files from WSL to Windows...")
|
|
56
|
-
path.copy(folder=WIN_FROM_WSL.joinpath(UserName).joinpath(path.rel2home().parent), overwrite=True)
|
|
57
|
-
print("✅ Transfer completed successfully!\n")
|
|
58
|
-
else:
|
|
59
|
-
from machineconfig.utils.ssh import SSH
|
|
60
|
-
import platform
|
|
61
|
-
|
|
62
|
-
port = int(args.port) if args.port else (2222 if system == "Windows" else 22)
|
|
63
|
-
username = UserName
|
|
64
|
-
hostname = platform.node()
|
|
65
|
-
ssh = SSH(hostname=hostname, username=username, port=port, sshkey=args.sshkey)
|
|
66
|
-
print("🌐 Initiating SSH transfer...")
|
|
67
|
-
ssh.copy_from_here(source=path, target=args.destination, z=args.zip_first)
|
|
68
|
-
print("✅ SSH transfer completed successfully!\n")
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
if __name__ == "__main__":
|
|
72
|
-
main()
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
uv run --python 3.13 --no-dev --project $HOME/code/machineconfig choose_wezterm_theme $args[0]
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
uv run --python 3.13 --no-dev --project $HOME/code/machineconfig cloud_copy $args
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
uv run --python 3.13 --no-dev --project $HOME/code/machineconfig cloud_mount $args
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
uv run --python 3.13 --no-dev --project $HOME/code/machineconfig cloud_repo_sync $args
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
uv run --python 3.13 --no-dev --project $HOME/code/machineconfig cloud_sync $args
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
uv run --python 3.13 --no-dev --project $HOME/code/machineconfig croshell $args
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
uv run --python 3.13 --no-dev --project $HOME/code/machineconfig devops $args
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
uv run --python 3.13 --no-dev --project $HOME/code/machineconfig dotfile $args
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
uv run --python 3.13 --no-dev --project $HOME/code/machineconfig fire $args
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
uv run --python 3.13 --no-dev --project $HOME/code/machineconfig ftpx $args
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
uv run --python 3.13 --no-dev --project $HOME/code/machineconfig chatgpt $args
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
uv run --python 3.13 --no-dev --project $HOME/code/machineconfig kill_process $args
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
uv run --python 3.13 --no-dev --project $HOME/code/machineconfig mcinit $args
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
uv run --python 3.13 --no-dev --project $HOME/code/machineconfig pomodoro $args
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
uv run --python 3.13 --no-dev --project $HOME/code/machineconfig repos $args
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
uv run --python 3.13 --no-dev --project $HOME/code/machineconfig scheduler $Args
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
uv run --python 3.13 --no-dev --project $HOME/code/machineconfig snapshot $args
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
uv run --python 3.13 --no-dev --project $HOME/code/machineconfig start_slidev $args
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
uv run --python 3.13 --no-dev --project $HOME/code/machineconfig start_terminals $args
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
$port_num = 3391
|
|
4
|
-
wsl.exe -u root service xrdp start # added by me, to ensure sshd is fired.
|
|
5
|
-
wsl.exe -u root service xrdp status
|
|
6
|
-
# If elevation needed, start new process
|
|
7
|
-
If (-NOT ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator))
|
|
8
|
-
{
|
|
9
|
-
# Relaunch as an elevated process:
|
|
10
|
-
Start-Process powershell.exe "-File",('"{0}"' -f $MyInvocation.MyCommand.Path),"$Args runas" -Verb RunAs
|
|
11
|
-
exit
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
# Check WSL ip address
|
|
16
|
-
wsl hostname -I | Set-Variable -Name "WSL"
|
|
17
|
-
$found = $WSL -match '\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}';
|
|
18
|
-
if (-not $found) {
|
|
19
|
-
echo "WSL2 cannot be found. Terminate script.";
|
|
20
|
-
exit;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
# Remove and Create NetFireWallRule
|
|
25
|
-
Remove-NetFireWallRule -DisplayName 'WSL 2 Firewall Unlock';
|
|
26
|
-
if ($Args[0] -ne "delete") {
|
|
27
|
-
New-NetFirewallRule -DisplayName 'WSL 2 Firewall Unlock2' -Direction Outbound -LocalPort ($port_num) -Action Allow -Protocol TCP;
|
|
28
|
-
New-NetFirewallRule -DisplayName 'WSL 2 Firewall Unlock2' -Direction Inbound -LocalPort ($port_num) -Action Allow -Protocol TCP;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
# Add each port into portproxy
|
|
32
|
-
$Addr = "0.0.0.0"
|
|
33
|
-
iex "netsh interface portproxy delete v4tov4 listenaddress=$Addr listenport=$port_num | Out-Null";
|
|
34
|
-
if ($Args[0] -ne "delete") {
|
|
35
|
-
iex "netsh interface portproxy add v4tov4 listenaddress=$Addr listenport=$port_num connectaddress=$WSL connectport=$port_num | Out-Null";
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
# Display all portproxy information
|
|
40
|
-
netsh interface portproxy show v4tov4;
|
|
41
|
-
|
|
42
|
-
# Give user to chance to see above list when relaunched start
|
|
43
|
-
If ($Args[0] -eq "runas" -Or $Args[1] -eq "runas") {
|
|
44
|
-
Write-Host -NoNewLine 'Press any key to close! ';
|
|
45
|
-
$null = $Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown');
|
|
46
|
-
}
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
# https://gist.github.com/daehahn/497fa04c0156b1a762c70ff3f9f7edae?WT.mc_id=-blog-scottha
|
|
3
|
-
# https://www.hanselman.com/blog/how-to-ssh-into-wsl2-on-windows-10-from-an-external-machine
|
|
4
|
-
# https://learn.microsoft.com/en-us/windows/wsl/networking#accessing-a-wsl-2-distribution-from-your-local-area-network-lan
|
|
5
|
-
# https://www.youtube.com/watch?v=PFI0IQZ9Z2I
|
|
6
|
-
|
|
7
|
-
# WSL2 network port forwarding script v1
|
|
8
|
-
# for enable script, 'Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope CurrentUser' in Powershell,
|
|
9
|
-
# for delete exist rules and ports use 'delete' as parameter, for show ports use 'list' as parameter.
|
|
10
|
-
# written by Daehyuk Ahn, Aug-1-2020
|
|
11
|
-
|
|
12
|
-
Param($p = 2223)
|
|
13
|
-
$port_num = $p
|
|
14
|
-
|
|
15
|
-
#If ($Args[0] -eq $null) {
|
|
16
|
-
# $port_num = 2222;
|
|
17
|
-
# exit;
|
|
18
|
-
#}
|
|
19
|
-
#else {
|
|
20
|
-
# $port_num = $Args[0];
|
|
21
|
-
#}
|
|
22
|
-
# Display all portproxy information
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
If ($Args[0] -eq "list") {
|
|
26
|
-
netsh interface portproxy show v4tov4;
|
|
27
|
-
exit;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
wsl.exe -u root service ssh start # added by me, to ensure sshd is fired.
|
|
31
|
-
wsl.exe -u root service ssh status
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
# If elevation needed, start new process
|
|
35
|
-
If (-NOT ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator))
|
|
36
|
-
{
|
|
37
|
-
# Relaunch as an elevated process:
|
|
38
|
-
Start-Process powershell.exe "-File",('"{0}"' -f $MyInvocation.MyCommand.Path),"$Args runas" -Verb RunAs
|
|
39
|
-
exit
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
# You should modify '$Ports' for your applications
|
|
43
|
-
$Ports = ($port_num) # (22,80,443,8080)
|
|
44
|
-
|
|
45
|
-
# Check WSL ip address
|
|
46
|
-
wsl hostname -I | Set-Variable -Name "WSL"
|
|
47
|
-
$found = $WSL -match '\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}';
|
|
48
|
-
if (-not $found) {
|
|
49
|
-
echo "WSL2 cannot be found. Terminate script.";
|
|
50
|
-
exit;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
# Remove and Create NetFireWallRule
|
|
54
|
-
Remove-NetFireWallRule -DisplayName 'WSL 2 Firewall Unlock';
|
|
55
|
-
if ($Args[0] -ne "delete") {
|
|
56
|
-
New-NetFirewallRule -DisplayName 'WSL 2 Firewall Unlock' -Direction Outbound -LocalPort $Ports -Action Allow -Protocol TCP;
|
|
57
|
-
New-NetFirewallRule -DisplayName 'WSL 2 Firewall Unlock' -Direction Inbound -LocalPort $Ports -Action Allow -Protocol TCP;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
# Add each port into portproxy
|
|
61
|
-
$Addr = "0.0.0.0"
|
|
62
|
-
Foreach ($Port in $Ports) {
|
|
63
|
-
iex "netsh interface portproxy delete v4tov4 listenaddress=$Addr listenport=$Port | Out-Null";
|
|
64
|
-
if ($Args[0] -ne "delete") {
|
|
65
|
-
iex "netsh interface portproxy add v4tov4 listenaddress=$Addr listenport=$Port connectaddress=$WSL connectport=$Port | Out-Null";
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
# Display all portproxy information
|
|
70
|
-
netsh interface portproxy show v4tov4;
|
|
71
|
-
|
|
72
|
-
# Give user to chance to see above list when relaunched start
|
|
73
|
-
If ($Args[0] -eq "runas" -Or $Args[1] -eq "runas") {
|
|
74
|
-
Write-Host -NoNewLine 'Press any key to close! ';
|
|
75
|
-
$null = $Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown');
|
|
76
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
#!/bin/sh
|
|
2
|
-
# 🔍 Fuzzy Finder with Nano Editor Integration
|
|
3
|
-
|
|
4
|
-
# 📝 Open selected file in nano
|
|
5
|
-
nano (~/scripts/fzf2g) # space used for precedence in execution
|
|
6
|
-
|
|
7
|
-
# 💡 Alternative commands (commented):
|
|
8
|
-
# 🔎 FZF with bat preview:
|
|
9
|
-
# fzf --ansi --preview-window 'right:60%' --preview 'bat --color=always --style=numbers,grid,header --line-range :300 {}'
|
|
10
|
-
|
|
11
|
-
# 🪟 Windows Git Bash version:
|
|
12
|
-
# & "C:\Program Files\Git\usr\bin\nano.exe" (fzf --ansi --preview-window 'right:60%' --preview 'bat --color=always --style=numbers,grid,header --line-range :300 {}')
|
|
13
|
-
|
|
14
|
-
# 📜 PowerShell script integration:
|
|
15
|
-
# fzf | ~/scripts/nano.ps1
|
|
16
|
-
|