machineconfig 2.0__py3-none-any.whl â 2.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of machineconfig might be problematic. Click here for more details.
- machineconfig/cluster/cloud_manager.py +0 -3
- machineconfig/cluster/data_transfer.py +0 -1
- machineconfig/cluster/file_manager.py +0 -1
- machineconfig/cluster/job_params.py +0 -3
- machineconfig/cluster/loader_runner.py +0 -3
- machineconfig/cluster/remote_machine.py +0 -1
- machineconfig/cluster/script_notify_upon_completion.py +0 -1
- machineconfig/cluster/sessions_managers/archive/create_zellij_template.py +3 -5
- machineconfig/cluster/sessions_managers/archive/session_managers.py +0 -1
- machineconfig/cluster/sessions_managers/enhanced_command_runner.py +17 -57
- machineconfig/cluster/sessions_managers/wt_local.py +36 -110
- machineconfig/cluster/sessions_managers/wt_local_manager.py +42 -112
- machineconfig/cluster/sessions_managers/wt_remote.py +23 -30
- machineconfig/cluster/sessions_managers/wt_remote_manager.py +20 -62
- machineconfig/cluster/sessions_managers/wt_utils/layout_generator.py +10 -15
- machineconfig/cluster/sessions_managers/wt_utils/process_monitor.py +27 -127
- machineconfig/cluster/sessions_managers/wt_utils/remote_executor.py +10 -43
- machineconfig/cluster/sessions_managers/wt_utils/session_manager.py +22 -101
- machineconfig/cluster/sessions_managers/wt_utils/status_reporter.py +11 -39
- machineconfig/cluster/sessions_managers/zellij_local.py +49 -102
- machineconfig/cluster/sessions_managers/zellij_local_manager.py +34 -78
- machineconfig/cluster/sessions_managers/zellij_remote.py +17 -24
- machineconfig/cluster/sessions_managers/zellij_remote_manager.py +7 -13
- machineconfig/cluster/sessions_managers/zellij_utils/example_usage.py +4 -2
- machineconfig/cluster/sessions_managers/zellij_utils/layout_generator.py +6 -6
- machineconfig/cluster/sessions_managers/zellij_utils/process_monitor.py +18 -88
- machineconfig/cluster/sessions_managers/zellij_utils/remote_executor.py +2 -6
- machineconfig/cluster/sessions_managers/zellij_utils/session_manager.py +12 -40
- machineconfig/cluster/sessions_managers/zellij_utils/status_reporter.py +3 -2
- machineconfig/cluster/templates/cli_click.py +0 -1
- machineconfig/cluster/templates/cli_gooey.py +0 -2
- machineconfig/cluster/templates/cli_trogon.py +0 -1
- machineconfig/cluster/templates/run_cloud.py +0 -1
- machineconfig/cluster/templates/run_cluster.py +0 -1
- machineconfig/cluster/templates/run_remote.py +0 -1
- machineconfig/cluster/templates/utils.py +26 -10
- machineconfig/jobs/__pycache__/__init__.cpython-313.pyc +0 -0
- machineconfig/jobs/linux/msc/cli_agents.sh +16 -0
- machineconfig/jobs/python/check_installations.py +1 -0
- machineconfig/jobs/python/create_bootable_media.py +0 -2
- machineconfig/jobs/python/python_ve_symlink.py +9 -11
- machineconfig/jobs/python/tasks.py +0 -1
- machineconfig/jobs/python/vscode/api.py +5 -5
- machineconfig/jobs/python/vscode/link_ve.py +13 -14
- machineconfig/jobs/python/vscode/select_interpreter.py +21 -22
- machineconfig/jobs/python/vscode/sync_code.py +9 -13
- machineconfig/jobs/python_custom_installers/__pycache__/__init__.cpython-313.pyc +0 -0
- machineconfig/jobs/python_custom_installers/archive/ngrok.py +13 -13
- machineconfig/jobs/python_custom_installers/dev/aider.py +7 -15
- machineconfig/jobs/python_custom_installers/dev/alacritty.py +9 -18
- machineconfig/jobs/python_custom_installers/dev/brave.py +10 -19
- machineconfig/jobs/python_custom_installers/dev/bypass_paywall.py +8 -15
- machineconfig/jobs/python_custom_installers/dev/code.py +14 -21
- machineconfig/jobs/python_custom_installers/dev/cursor.py +3 -14
- machineconfig/jobs/python_custom_installers/dev/docker_desktop.py +8 -7
- machineconfig/jobs/python_custom_installers/dev/espanso.py +15 -19
- machineconfig/jobs/python_custom_installers/dev/goes.py +5 -12
- machineconfig/jobs/python_custom_installers/dev/lvim.py +9 -17
- machineconfig/jobs/python_custom_installers/dev/nerdfont.py +12 -19
- machineconfig/jobs/python_custom_installers/dev/redis.py +12 -20
- machineconfig/jobs/python_custom_installers/dev/wezterm.py +12 -19
- machineconfig/jobs/python_custom_installers/dev/winget.py +5 -23
- machineconfig/jobs/python_custom_installers/docker.py +12 -21
- machineconfig/jobs/python_custom_installers/gh.py +11 -19
- machineconfig/jobs/python_custom_installers/hx.py +32 -16
- machineconfig/jobs/python_custom_installers/warp-cli.py +12 -20
- machineconfig/jobs/python_generic_installers/__pycache__/__init__.cpython-313.pyc +0 -0
- machineconfig/jobs/python_linux_installers/__pycache__/__init__.cpython-313.pyc +0 -0
- machineconfig/jobs/windows/archive/archive_pygraphviz.ps1 +1 -1
- machineconfig/jobs/windows/msc/cli_agents.bat +0 -0
- machineconfig/jobs/windows/msc/cli_agents.ps1 +0 -0
- machineconfig/jobs/windows/start_terminal.ps1 +1 -1
- machineconfig/profile/create.py +29 -22
- machineconfig/profile/create_hardlinks.py +26 -19
- machineconfig/profile/shell.py +51 -28
- machineconfig/scripts/__pycache__/__init__.cpython-313.pyc +0 -0
- machineconfig/scripts/cloud/init.sh +2 -2
- machineconfig/scripts/linux/checkout_versions +1 -1
- machineconfig/scripts/linux/choose_wezterm_theme +1 -1
- machineconfig/scripts/linux/cloud_copy +1 -1
- machineconfig/scripts/linux/cloud_manager +1 -1
- machineconfig/scripts/linux/cloud_mount +1 -1
- machineconfig/scripts/linux/cloud_repo_sync +1 -1
- machineconfig/scripts/linux/cloud_sync +1 -1
- machineconfig/scripts/linux/croshell +1 -1
- machineconfig/scripts/linux/devops +4 -6
- machineconfig/scripts/linux/fire +1 -1
- machineconfig/scripts/linux/fire_agents +3 -2
- machineconfig/scripts/linux/ftpx +1 -1
- machineconfig/scripts/linux/gh_models +1 -1
- machineconfig/scripts/linux/kill_process +1 -1
- machineconfig/scripts/linux/mcinit +1 -1
- machineconfig/scripts/linux/repos +1 -1
- machineconfig/scripts/linux/scheduler +1 -1
- machineconfig/scripts/linux/start_slidev +1 -1
- machineconfig/scripts/linux/start_terminals +1 -1
- machineconfig/scripts/linux/url2md +1 -1
- machineconfig/scripts/linux/warp-cli.sh +122 -0
- machineconfig/scripts/linux/wifi_conn +1 -1
- machineconfig/scripts/python/__pycache__/__init__.cpython-313.pyc +0 -0
- machineconfig/scripts/python/__pycache__/croshell.cpython-313.pyc +0 -0
- machineconfig/scripts/python/__pycache__/devops.cpython-313.pyc +0 -0
- machineconfig/scripts/python/__pycache__/devops_devapps_install.cpython-313.pyc +0 -0
- machineconfig/scripts/python/__pycache__/devops_update_repos.cpython-313.pyc +0 -0
- machineconfig/scripts/python/__pycache__/fire_jobs.cpython-313.pyc +0 -0
- machineconfig/scripts/python/ai/__init__.py +0 -0
- machineconfig/scripts/python/ai/__pycache__/__init__.cpython-313.pyc +0 -0
- machineconfig/scripts/python/ai/__pycache__/generate_files.cpython-313.pyc +0 -0
- machineconfig/scripts/python/ai/__pycache__/mcinit.cpython-313.pyc +0 -0
- machineconfig/scripts/python/ai/generate_files.py +84 -0
- machineconfig/scripts/python/ai/instructions/python/dev.instructions.md +2 -2
- machineconfig/scripts/python/ai/mcinit.py +7 -3
- machineconfig/scripts/python/ai/scripts/lint_and_type_check.sh +10 -5
- machineconfig/scripts/python/cloud_copy.py +1 -1
- machineconfig/scripts/python/cloud_mount.py +1 -1
- machineconfig/scripts/python/cloud_repo_sync.py +4 -4
- machineconfig/scripts/python/croshell.py +5 -3
- machineconfig/scripts/python/devops_add_identity.py +1 -1
- machineconfig/scripts/python/devops_add_ssh_key.py +1 -1
- machineconfig/scripts/python/devops_backup_retrieve.py +1 -1
- machineconfig/scripts/python/devops_update_repos.py +140 -52
- machineconfig/scripts/python/dotfile.py +1 -1
- machineconfig/scripts/python/fire_agents.py +28 -9
- machineconfig/scripts/python/fire_jobs.py +3 -4
- machineconfig/scripts/python/ftpx.py +2 -1
- machineconfig/scripts/python/helpers/__pycache__/__init__.cpython-313.pyc +0 -0
- machineconfig/scripts/python/helpers/__pycache__/helpers4.cpython-313.pyc +0 -0
- machineconfig/scripts/python/helpers/helpers2.py +2 -2
- machineconfig/scripts/python/helpers/helpers4.py +1 -2
- machineconfig/scripts/python/helpers/repo_sync_helpers.py +1 -1
- machineconfig/scripts/python/mount_nfs.py +1 -1
- machineconfig/scripts/python/mount_ssh.py +1 -1
- machineconfig/scripts/python/repos.py +1 -1
- machineconfig/scripts/python/start_slidev.py +1 -1
- machineconfig/scripts/python/wsl_windows_transfer.py +1 -1
- machineconfig/scripts/windows/checkout_version.ps1 +1 -3
- machineconfig/scripts/windows/choose_wezterm_theme.ps1 +1 -3
- machineconfig/scripts/windows/cloud_copy.ps1 +2 -6
- machineconfig/scripts/windows/cloud_manager.ps1 +1 -1
- machineconfig/scripts/windows/cloud_repo_sync.ps1 +1 -2
- machineconfig/scripts/windows/cloud_sync.ps1 +2 -2
- machineconfig/scripts/windows/croshell.ps1 +2 -2
- machineconfig/scripts/windows/devops.ps1 +1 -4
- machineconfig/scripts/windows/dotfile.ps1 +1 -3
- machineconfig/scripts/windows/fire.ps1 +1 -1
- machineconfig/scripts/windows/ftpx.ps1 +2 -2
- machineconfig/scripts/windows/gpt.ps1 +1 -1
- machineconfig/scripts/windows/kill_process.ps1 +1 -2
- machineconfig/scripts/windows/mcinit.ps1 +1 -1
- machineconfig/scripts/windows/mount_nfs.ps1 +1 -1
- machineconfig/scripts/windows/mount_ssh.ps1 +1 -1
- machineconfig/scripts/windows/pomodoro.ps1 +1 -1
- machineconfig/scripts/windows/py2exe.ps1 +1 -3
- machineconfig/scripts/windows/repos.ps1 +1 -1
- machineconfig/scripts/windows/scheduler.ps1 +1 -1
- machineconfig/scripts/windows/snapshot.ps1 +2 -2
- machineconfig/scripts/windows/start_slidev.ps1 +1 -1
- machineconfig/scripts/windows/start_terminals.ps1 +1 -1
- machineconfig/scripts/windows/wifi_conn.ps1 +1 -1
- machineconfig/scripts/windows/wsl_windows_transfer.ps1 +1 -3
- machineconfig/settings/lf/linux/lfrc +1 -1
- machineconfig/settings/linters/.ruff_cache/.gitignore +2 -0
- machineconfig/settings/linters/.ruff_cache/CACHEDIR.TAG +1 -0
- machineconfig/settings/lvim/windows/archive/config_additional.lua +1 -1
- machineconfig/settings/svim/linux/init.toml +1 -1
- machineconfig/settings/svim/windows/init.toml +1 -1
- machineconfig/setup_linux/web_shortcuts/croshell.sh +0 -54
- machineconfig/setup_linux/web_shortcuts/interactive.sh +6 -6
- machineconfig/setup_windows/web_shortcuts/all.ps1 +2 -2
- machineconfig/setup_windows/web_shortcuts/ascii_art.ps1 +1 -1
- machineconfig/setup_windows/web_shortcuts/croshell.ps1 +1 -1
- machineconfig/setup_windows/web_shortcuts/interactive.ps1 +5 -5
- machineconfig/setup_windows/wt_and_pwsh/install_fonts.ps1 +51 -15
- machineconfig/setup_windows/wt_and_pwsh/set_pwsh_theme.py +66 -12
- machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py +44 -36
- machineconfig/utils/ai/generate_file_checklist.py +8 -10
- machineconfig/utils/ai/url2md.py +4 -2
- machineconfig/utils/cloud/onedrive/setup_oauth.py +1 -0
- machineconfig/utils/cloud/onedrive/transaction.py +63 -98
- machineconfig/utils/code.py +60 -39
- machineconfig/utils/installer.py +27 -33
- machineconfig/utils/installer_utils/installer_abc.py +8 -7
- machineconfig/utils/installer_utils/installer_class.py +149 -70
- machineconfig/utils/links.py +22 -11
- machineconfig/utils/notifications.py +197 -0
- machineconfig/utils/options.py +29 -23
- machineconfig/utils/path.py +13 -6
- machineconfig/utils/path_reduced.py +485 -216
- machineconfig/utils/procs.py +47 -41
- machineconfig/utils/scheduling.py +0 -1
- machineconfig/utils/ssh.py +157 -76
- machineconfig/utils/terminal.py +82 -37
- machineconfig/utils/utils.py +12 -10
- machineconfig/utils/utils2.py +38 -48
- machineconfig/utils/utils5.py +183 -116
- machineconfig/utils/ve.py +9 -4
- {machineconfig-2.0.dist-info â machineconfig-2.1.dist-info}/METADATA +3 -2
- {machineconfig-2.0.dist-info â machineconfig-2.1.dist-info}/RECORD +200 -217
- machineconfig/jobs/__pycache__/__init__.cpython-311.pyc +0 -0
- machineconfig/jobs/python/__pycache__/__init__.cpython-311.pyc +0 -0
- machineconfig/jobs/python/__pycache__/python_ve_symlink.cpython-311.pyc +0 -0
- machineconfig/jobs/python/archive/python_tools.txt +0 -12
- machineconfig/jobs/python/vscode/__pycache__/select_interpreter.cpython-311.pyc +0 -0
- machineconfig/jobs/python_custom_installers/__pycache__/__init__.cpython-311.pyc +0 -0
- machineconfig/jobs/python_generic_installers/__pycache__/__init__.cpython-311.pyc +0 -0
- machineconfig/jobs/python_generic_installers/update.py +0 -3
- machineconfig/jobs/python_linux_installers/__pycache__/__init__.cpython-311.pyc +0 -0
- machineconfig/profile/__pycache__/__init__.cpython-311.pyc +0 -0
- machineconfig/profile/__pycache__/create.cpython-311.pyc +0 -0
- machineconfig/profile/__pycache__/shell.cpython-311.pyc +0 -0
- machineconfig/scripts/__pycache__/__init__.cpython-311.pyc +0 -0
- machineconfig/scripts/linux/activate_ve +0 -87
- machineconfig/scripts/python/__pycache__/__init__.cpython-311.pyc +0 -0
- machineconfig/scripts/python/__pycache__/cloud_copy.cpython-311.pyc +0 -0
- machineconfig/scripts/python/__pycache__/cloud_mount.cpython-311.pyc +0 -0
- machineconfig/scripts/python/__pycache__/cloud_sync.cpython-311.pyc +0 -0
- machineconfig/scripts/python/__pycache__/croshell.cpython-311.pyc +0 -0
- machineconfig/scripts/python/__pycache__/devops.cpython-311.pyc +0 -0
- machineconfig/scripts/python/__pycache__/devops_backup_retrieve.cpython-311.pyc +0 -0
- machineconfig/scripts/python/__pycache__/devops_devapps_install.cpython-311.pyc +0 -0
- machineconfig/scripts/python/__pycache__/devops_update_repos.cpython-311.pyc +0 -0
- machineconfig/scripts/python/__pycache__/fire_agents.cpython-311.pyc +0 -0
- machineconfig/scripts/python/__pycache__/fire_jobs.cpython-311.pyc +0 -0
- machineconfig/scripts/python/__pycache__/get_zellij_cmd.cpython-311.pyc +0 -0
- machineconfig/scripts/python/__pycache__/repos.cpython-311.pyc +0 -0
- machineconfig/scripts/python/ai/__pycache__/init.cpython-311.pyc +0 -0
- machineconfig/scripts/python/ai/__pycache__/mcinit.cpython-311.pyc +0 -0
- machineconfig/scripts/python/helpers/__pycache__/__init__.cpython-311.pyc +0 -0
- machineconfig/scripts/python/helpers/__pycache__/cloud_helpers.cpython-311.pyc +0 -0
- machineconfig/scripts/python/helpers/__pycache__/helpers2.cpython-311.pyc +0 -0
- machineconfig/scripts/python/helpers/__pycache__/helpers4.cpython-311.pyc +0 -0
- machineconfig/scripts/python/helpers/__pycache__/repo_sync_helpers.cpython-311.pyc +0 -0
- machineconfig/scripts/windows/activate_ve.ps1 +0 -54
- {machineconfig-2.0.dist-info â machineconfig-2.1.dist-info}/WHEEL +0 -0
- {machineconfig-2.0.dist-info â machineconfig-2.1.dist-info}/top_level.txt +0 -0
|
@@ -2,25 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
# from platform import system
|
|
4
4
|
from typing import Optional
|
|
5
|
-
from machineconfig.utils.path_reduced import
|
|
5
|
+
from machineconfig.utils.path_reduced import PathExtended as PathExtended
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
config_dict = {
|
|
9
|
-
"repo_url": "CUSTOM",
|
|
10
|
-
"doc": """Plugin for chrome to bypass paywalls""",
|
|
11
|
-
"filename_template_windows_amd_64": "VSCodeSetup-{}.exe",
|
|
12
|
-
"filename_template_linux_amd_64": "code_{}.deb",
|
|
13
|
-
"strip_v": True,
|
|
14
|
-
"exe_name": "pluginName"
|
|
15
|
-
}
|
|
8
|
+
config_dict = {"repo_url": "CUSTOM", "doc": """Plugin for chrome to bypass paywalls""", "filename_template_windows_amd_64": "VSCodeSetup-{}.exe", "filename_template_linux_amd_64": "code_{}.deb", "strip_v": True, "exe_name": "pluginName"}
|
|
16
9
|
|
|
17
10
|
|
|
18
11
|
def main(version: Optional[str] = None):
|
|
19
12
|
print(f"""
|
|
20
|
-
{
|
|
13
|
+
{"=" * 150}
|
|
21
14
|
đ BYPASS PAYWALL | Installing paywall bypass extension for Chrome
|
|
22
|
-
đ Version: {
|
|
23
|
-
{
|
|
15
|
+
đ Version: {"latest" if version is None else version}
|
|
16
|
+
{"=" * 150}
|
|
24
17
|
""")
|
|
25
18
|
|
|
26
19
|
_ = version
|
|
@@ -32,18 +25,18 @@ def main(version: Optional[str] = None):
|
|
|
32
25
|
extension_folder = PathExtended(folder).joinpath("bypass-paywalls-chrome-master")
|
|
33
26
|
|
|
34
27
|
print(f"""
|
|
35
|
-
{
|
|
28
|
+
{"=" * 150}
|
|
36
29
|
â
SUCCESS | Extension downloaded successfully
|
|
37
30
|
đ Location: {extension_folder}
|
|
38
31
|
âšī¸ Next steps:
|
|
39
32
|
1ī¸âŖ Open Chrome and navigate to chrome://extensions
|
|
40
33
|
2ī¸âŖ Enable Developer Mode (toggle in top right)
|
|
41
34
|
3ī¸âŖ Click "Load unpacked" and select the extension folder
|
|
42
|
-
{
|
|
35
|
+
{"=" * 150}
|
|
43
36
|
""")
|
|
44
37
|
|
|
45
38
|
return ""
|
|
46
39
|
|
|
47
40
|
|
|
48
|
-
if __name__ ==
|
|
41
|
+
if __name__ == "__main__":
|
|
49
42
|
pass
|
|
@@ -1,64 +1,57 @@
|
|
|
1
|
-
"""vs code installer as per https://code.visualstudio.com/docs/setup/linux
|
|
2
|
-
"""
|
|
1
|
+
"""vs code installer as per https://code.visualstudio.com/docs/setup/linux"""
|
|
3
2
|
|
|
4
3
|
from typing import Optional
|
|
5
4
|
import platform
|
|
6
5
|
|
|
7
6
|
|
|
8
|
-
config_dict = {
|
|
9
|
-
"repo_url": "CUSTOM",
|
|
10
|
-
"doc": "Visual Studio Code",
|
|
11
|
-
"filename_template_windows_amd_64": "VSCodeSetup-{}.exe",
|
|
12
|
-
"filename_template_linux_amd_64": "code_{}.deb",
|
|
13
|
-
"strip_v": True,
|
|
14
|
-
"exe_name": "code"
|
|
15
|
-
}
|
|
7
|
+
config_dict = {"repo_url": "CUSTOM", "doc": "Visual Studio Code", "filename_template_windows_amd_64": "VSCodeSetup-{}.exe", "filename_template_linux_amd_64": "code_{}.deb", "strip_v": True, "exe_name": "code"}
|
|
16
8
|
|
|
17
9
|
|
|
18
10
|
def main(version: Optional[str] = None):
|
|
19
11
|
print(f"""
|
|
20
|
-
{
|
|
12
|
+
{"=" * 150}
|
|
21
13
|
đģ VS CODE INSTALLER | Setting up Visual Studio Code
|
|
22
14
|
đĨī¸ Platform: {platform.system()}
|
|
23
|
-
đ Version: {
|
|
24
|
-
{
|
|
15
|
+
đ Version: {"latest" if version is None else version}
|
|
16
|
+
{"=" * 150}
|
|
25
17
|
""")
|
|
26
18
|
|
|
27
|
-
if platform.system() ==
|
|
19
|
+
if platform.system() == "Linux":
|
|
28
20
|
print("đ§ Installing VS Code on Linux using official script...")
|
|
29
21
|
import machineconfig.jobs.python_custom_installers as module
|
|
30
22
|
from pathlib import Path
|
|
23
|
+
|
|
31
24
|
install_script = Path(module.__file__).parent.joinpath("scripts/linux/vscode.sh").read_text(encoding="utf-8")
|
|
32
|
-
elif platform.system() ==
|
|
25
|
+
elif platform.system() == "Darwin":
|
|
33
26
|
print("đ Installing VS Code on macOS using Homebrew...")
|
|
34
27
|
install_script = """brew install --cask visual-studio-code"""
|
|
35
|
-
elif platform.system() ==
|
|
28
|
+
elif platform.system() == "Windows":
|
|
36
29
|
print("đĒ Installing VS Code on Windows using winget...")
|
|
37
30
|
install_script = """winget install --no-upgrade --name "Microsoft Visual Studio Code" --Id "Microsoft.VisualStudioCode" --source winget --scope user --accept-package-agreements --accept-source-agreements"""
|
|
38
31
|
else:
|
|
39
32
|
error_msg = f"Unsupported platform: {platform.system()}"
|
|
40
33
|
print(f"""
|
|
41
|
-
{
|
|
34
|
+
{"â ī¸" * 20}
|
|
42
35
|
â ERROR | {error_msg}
|
|
43
|
-
{
|
|
36
|
+
{"â ī¸" * 20}
|
|
44
37
|
""")
|
|
45
38
|
raise NotImplementedError(error_msg)
|
|
46
39
|
|
|
47
40
|
_ = version
|
|
48
41
|
|
|
49
42
|
print(f"""
|
|
50
|
-
{
|
|
43
|
+
{"=" * 150}
|
|
51
44
|
âšī¸ INFO | VS Code features:
|
|
52
45
|
đ Powerful code editor with IntelliSense
|
|
53
46
|
đ§Š Thousands of extensions available
|
|
54
47
|
đ Integrated debugging
|
|
55
48
|
đ Git integration
|
|
56
49
|
âī¸ Highly customizable
|
|
57
|
-
{
|
|
50
|
+
{"=" * 150}
|
|
58
51
|
""")
|
|
59
52
|
|
|
60
53
|
return install_script
|
|
61
54
|
|
|
62
55
|
|
|
63
|
-
if __name__ ==
|
|
56
|
+
if __name__ == "__main__":
|
|
64
57
|
pass
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
1
|
import os
|
|
4
2
|
import shutil
|
|
5
3
|
from pathlib import Path
|
|
@@ -8,14 +6,7 @@ import subprocess
|
|
|
8
6
|
from typing import Optional
|
|
9
7
|
|
|
10
8
|
|
|
11
|
-
config_dict = {
|
|
12
|
-
"repo_url": "CUSTOM",
|
|
13
|
-
"doc": "Cursor",
|
|
14
|
-
"filename_template_windows_amd_64": "VSCodeSetup-{}.exe",
|
|
15
|
-
"filename_template_linux_amd_64": "code_{}.deb",
|
|
16
|
-
"strip_v": True,
|
|
17
|
-
"exe_name": "cursor"
|
|
18
|
-
}
|
|
9
|
+
config_dict = {"repo_url": "CUSTOM", "doc": "Cursor", "filename_template_windows_amd_64": "VSCodeSetup-{}.exe", "filename_template_linux_amd_64": "code_{}.deb", "strip_v": True, "exe_name": "cursor"}
|
|
19
10
|
|
|
20
11
|
|
|
21
12
|
def install_linux(version: Optional[str] = None):
|
|
@@ -83,8 +74,7 @@ def install_windows(version: Optional[str] = None):
|
|
|
83
74
|
# Run the installer silently
|
|
84
75
|
try:
|
|
85
76
|
print("Running Cursor installer...")
|
|
86
|
-
subprocess.run([str(cursor_installer), "/SILENT"],
|
|
87
|
-
capture_output=True, text=True, check=True)
|
|
77
|
+
subprocess.run([str(cursor_installer), "/SILENT"], capture_output=True, text=True, check=True)
|
|
88
78
|
print("Cursor installer completed successfully.")
|
|
89
79
|
except subprocess.CalledProcessError as e:
|
|
90
80
|
print(f"Installer failed with exit code {e.returncode}")
|
|
@@ -92,8 +82,7 @@ def install_windows(version: Optional[str] = None):
|
|
|
92
82
|
# Try alternative silent install flags
|
|
93
83
|
try:
|
|
94
84
|
print("Trying alternative silent install...")
|
|
95
|
-
subprocess.run([str(cursor_installer), "/S"],
|
|
96
|
-
capture_output=True, text=True, check=True)
|
|
85
|
+
subprocess.run([str(cursor_installer), "/S"], capture_output=True, text=True, check=True)
|
|
97
86
|
print("Cursor installer completed successfully with /S flag.")
|
|
98
87
|
except subprocess.CalledProcessError as e2:
|
|
99
88
|
print(f"Alternative installer also failed with exit code {e2.returncode}")
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"""
|
|
2
2
|
Installer
|
|
3
3
|
"""
|
|
4
|
+
|
|
4
5
|
# from machineconfig.utils.installer import get_latest_release
|
|
5
6
|
from typing import Optional
|
|
6
7
|
|
|
@@ -19,17 +20,17 @@ config_dict = {
|
|
|
19
20
|
"filename_template_windows_amd_64": "gh_{}_windows_amd64.zip",
|
|
20
21
|
"filename_template_linux_amd_64": "gh_{}_linux_amd64.tar.gz",
|
|
21
22
|
"strip_v": True,
|
|
22
|
-
"exe_name": "docker"
|
|
23
|
+
"exe_name": "docker",
|
|
23
24
|
}
|
|
24
25
|
|
|
25
26
|
|
|
26
27
|
def main(version: Optional[str]):
|
|
27
28
|
print(f"""
|
|
28
|
-
{
|
|
29
|
+
{"=" * 150}
|
|
29
30
|
đŗ DOCKER DESKTOP | Installing Docker Desktop for Ubuntu
|
|
30
|
-
đ Version: {
|
|
31
|
+
đ Version: {"latest" if version is None else version}
|
|
31
32
|
đ Source: https://docs.docker.com/desktop/install/ubuntu/
|
|
32
|
-
{
|
|
33
|
+
{"=" * 150}
|
|
33
34
|
""")
|
|
34
35
|
|
|
35
36
|
_ = version
|
|
@@ -61,16 +62,16 @@ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin
|
|
|
61
62
|
|
|
62
63
|
"""
|
|
63
64
|
print(f"""
|
|
64
|
-
{
|
|
65
|
+
{"=" * 150}
|
|
65
66
|
âšī¸ INFO | After installation:
|
|
66
67
|
đš Run 'sudo docker run hello-world' to verify installation
|
|
67
68
|
đš Add your user to the docker group with 'sudo usermod -aG docker $USER'
|
|
68
69
|
đš Log out and back in to apply group changes
|
|
69
|
-
{
|
|
70
|
+
{"=" * 150}
|
|
70
71
|
""")
|
|
71
72
|
|
|
72
73
|
return code
|
|
73
74
|
|
|
74
75
|
|
|
75
|
-
if __name__ ==
|
|
76
|
+
if __name__ == "__main__":
|
|
76
77
|
pass
|
|
@@ -6,48 +6,43 @@ https://github.com/espanso/espanso
|
|
|
6
6
|
|
|
7
7
|
from typing import Optional
|
|
8
8
|
|
|
9
|
-
config_dict = {
|
|
10
|
-
"repo_url": "CUSTOM",
|
|
11
|
-
"doc": "A text expander.",
|
|
12
|
-
"filename_template_windows_amd_64": "Espanso-Win-Installer-x86_64.exe",
|
|
13
|
-
"filename_template_linux_amd_64": "",
|
|
14
|
-
"strip_v": False,
|
|
15
|
-
"exe_name": "espanso"
|
|
16
|
-
}
|
|
9
|
+
config_dict = {"repo_url": "CUSTOM", "doc": "A text expander.", "filename_template_windows_amd_64": "Espanso-Win-Installer-x86_64.exe", "filename_template_linux_amd_64": "", "strip_v": False, "exe_name": "espanso"}
|
|
17
10
|
|
|
18
11
|
|
|
19
12
|
def main(version: Optional[str]):
|
|
20
13
|
print(f"""
|
|
21
|
-
{
|
|
14
|
+
{"=" * 150}
|
|
22
15
|
⥠ESPANSO INSTALLER | Setting up text expansion tool
|
|
23
|
-
đ Version: {
|
|
16
|
+
đ Version: {"latest" if version is None else version}
|
|
24
17
|
đ Source: https://github.com/espanso/espanso
|
|
25
|
-
{
|
|
18
|
+
{"=" * 150}
|
|
26
19
|
""")
|
|
27
20
|
|
|
28
21
|
_ = version
|
|
29
22
|
import platform
|
|
23
|
+
|
|
30
24
|
config_dict["repo_url"] = "https://github.com/espanso/espanso"
|
|
31
25
|
if platform.system() == "Windows":
|
|
32
26
|
print("đĒ Installing Espanso on Windows...")
|
|
33
27
|
elif platform.system() in ["Linux", "Darwin"]:
|
|
34
28
|
if platform.system() == "Linux":
|
|
35
29
|
import os
|
|
30
|
+
|
|
36
31
|
env = os.environ["XDG_SESSION_TYPE"]
|
|
37
32
|
if env == "wayland":
|
|
38
33
|
print(f"""
|
|
39
|
-
{
|
|
34
|
+
{"=" * 150}
|
|
40
35
|
đĨī¸ DISPLAY SERVER | Wayland detected
|
|
41
36
|
đĻ Using Wayland-specific package
|
|
42
|
-
{
|
|
37
|
+
{"=" * 150}
|
|
43
38
|
""")
|
|
44
39
|
config_dict["filename_template_linux_amd_64"] = "espanso-debian-wayland-amd64.deb"
|
|
45
40
|
else:
|
|
46
41
|
print(f"""
|
|
47
|
-
{
|
|
42
|
+
{"=" * 150}
|
|
48
43
|
đĨī¸ DISPLAY SERVER | X11 detected
|
|
49
44
|
đĻ Using X11-specific package
|
|
50
|
-
{
|
|
45
|
+
{"=" * 150}
|
|
51
46
|
""")
|
|
52
47
|
config_dict["filename_template_linux_amd_64"] = "espanso-debian-x11-amd64.deb"
|
|
53
48
|
else: # Darwin/macOS
|
|
@@ -56,14 +51,15 @@ def main(version: Optional[str]):
|
|
|
56
51
|
else:
|
|
57
52
|
error_msg = f"Unsupported platform: {platform.system()}"
|
|
58
53
|
print(f"""
|
|
59
|
-
{
|
|
54
|
+
{"â ī¸" * 20}
|
|
60
55
|
â ERROR | {error_msg}
|
|
61
|
-
{
|
|
56
|
+
{"â ī¸" * 20}
|
|
62
57
|
""")
|
|
63
58
|
raise NotImplementedError(error_msg)
|
|
64
59
|
|
|
65
60
|
print("đ Installing Espanso using installer...")
|
|
66
61
|
from machineconfig.utils.installer_utils.installer_class import Installer
|
|
62
|
+
|
|
67
63
|
installer = Installer.from_dict(config_dict, name="espanso")
|
|
68
64
|
installer.install(version=None)
|
|
69
65
|
|
|
@@ -74,13 +70,13 @@ espanso install actually-all-emojis
|
|
|
74
70
|
"""
|
|
75
71
|
|
|
76
72
|
print(f"""
|
|
77
|
-
{
|
|
73
|
+
{"=" * 150}
|
|
78
74
|
â
SUCCESS | Espanso installation completed
|
|
79
75
|
đ Post-installation steps:
|
|
80
76
|
1ī¸âŖ Register Espanso as a service
|
|
81
77
|
2ī¸âŖ Start the Espanso service
|
|
82
78
|
3ī¸âŖ Install the emoji package
|
|
83
|
-
{
|
|
79
|
+
{"=" * 150}
|
|
84
80
|
""")
|
|
85
81
|
|
|
86
82
|
return config
|
|
@@ -5,25 +5,18 @@ https://github.com/ShishirPatil/gorilla
|
|
|
5
5
|
|
|
6
6
|
# import subprocess
|
|
7
7
|
|
|
8
|
-
config_dict = {
|
|
9
|
-
"repo_url": "CUSTOM",
|
|
10
|
-
"doc": "natural language to API",
|
|
11
|
-
"filename_template_windows_amd_64": "",
|
|
12
|
-
"filename_template_linux_amd_64": "",
|
|
13
|
-
"strip_v": False,
|
|
14
|
-
"exe_name": "goex"
|
|
15
|
-
}
|
|
8
|
+
config_dict = {"repo_url": "CUSTOM", "doc": "natural language to API", "filename_template_windows_amd_64": "", "filename_template_linux_amd_64": "", "strip_v": False, "exe_name": "goex"}
|
|
16
9
|
|
|
17
10
|
ve_name = "goex"
|
|
18
11
|
|
|
19
12
|
|
|
20
13
|
def main():
|
|
21
14
|
print(f"""
|
|
22
|
-
{
|
|
15
|
+
{"=" * 150}
|
|
23
16
|
đĻ GORILLA INSTALLER | Natural language to API converter
|
|
24
17
|
đ Source: https://github.com/ShishirPatil/gorilla
|
|
25
18
|
đĻ Virtual Environment: {ve_name}
|
|
26
|
-
{
|
|
19
|
+
{"=" * 150}
|
|
27
20
|
""")
|
|
28
21
|
|
|
29
22
|
print("đ Preparing installation script...")
|
|
@@ -36,12 +29,12 @@ uv sync
|
|
|
36
29
|
"""
|
|
37
30
|
|
|
38
31
|
print(f"""
|
|
39
|
-
{
|
|
32
|
+
{"=" * 150}
|
|
40
33
|
đ INSTALLATION STEPS:
|
|
41
34
|
1ī¸âŖ Creating Python 3.13 virtual environment: {ve_name}
|
|
42
35
|
2ī¸âŖ Cloning Gorilla repository to ~/code/foreign
|
|
43
36
|
3ī¸âŖ Installing Gorilla in development mode
|
|
44
|
-
{
|
|
37
|
+
{"=" * 150}
|
|
45
38
|
|
|
46
39
|
â
Installation script prepared successfully!
|
|
47
40
|
""")
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
"""lvim
|
|
2
|
-
"""
|
|
1
|
+
"""lvim"""
|
|
3
2
|
|
|
4
3
|
from machineconfig.utils.terminal import Terminal
|
|
5
4
|
import subprocess
|
|
@@ -11,23 +10,16 @@ _ = Terminal, subprocess
|
|
|
11
10
|
# as per https://www.lunarvim.org/docs/installation
|
|
12
11
|
|
|
13
12
|
|
|
14
|
-
config_dict = {
|
|
15
|
-
"repo_url": "CUSTOM",
|
|
16
|
-
"doc": "Terminal text editor based on neovim.",
|
|
17
|
-
"filename_template_windows_amd_64": "",
|
|
18
|
-
"filename_template_linux_amd_64": "",
|
|
19
|
-
"strip_v": False,
|
|
20
|
-
"exe_name": "lvim"
|
|
21
|
-
}
|
|
13
|
+
config_dict = {"repo_url": "CUSTOM", "doc": "Terminal text editor based on neovim.", "filename_template_windows_amd_64": "", "filename_template_linux_amd_64": "", "strip_v": False, "exe_name": "lvim"}
|
|
22
14
|
|
|
23
15
|
|
|
24
16
|
def main(version: Optional[str]):
|
|
25
17
|
print(f"""
|
|
26
|
-
{
|
|
18
|
+
{"=" * 150}
|
|
27
19
|
đ LUNARVIM INSTALLER | Setting up Neovim-based IDE
|
|
28
|
-
đ Version: {
|
|
20
|
+
đ Version: {"latest" if version is None else version}
|
|
29
21
|
đ Branch: release-1.4/neovim-0.9
|
|
30
|
-
{
|
|
22
|
+
{"=" * 150}
|
|
31
23
|
""")
|
|
32
24
|
|
|
33
25
|
_ = version
|
|
@@ -49,21 +41,21 @@ LV_BRANCH='release-1.4/neovim-0.9' bash <(curl -s https://raw.githubusercontent.
|
|
|
49
41
|
else:
|
|
50
42
|
error_msg = f"Unsupported platform: {platform.system()}"
|
|
51
43
|
print(f"""
|
|
52
|
-
{
|
|
44
|
+
{"â ī¸" * 20}
|
|
53
45
|
â ERROR | {error_msg}
|
|
54
|
-
{
|
|
46
|
+
{"â ī¸" * 20}
|
|
55
47
|
""")
|
|
56
48
|
raise NotImplementedError(error_msg)
|
|
57
49
|
|
|
58
50
|
print(f"""
|
|
59
|
-
{
|
|
51
|
+
{"=" * 150}
|
|
60
52
|
âšī¸ INFO | LunarVim features:
|
|
61
53
|
đ IDE-like experience for Neovim
|
|
62
54
|
đ Built-in plugin management
|
|
63
55
|
đ ī¸ LSP configuration out of the box
|
|
64
56
|
đ Powerful fuzzy finding
|
|
65
57
|
âī¸ Simple and unified configuration
|
|
66
|
-
{
|
|
58
|
+
{"=" * 150}
|
|
67
59
|
|
|
68
60
|
â ī¸ NOTE: The installer will prompt for user input during installation.
|
|
69
61
|
""")
|
|
@@ -1,61 +1,54 @@
|
|
|
1
|
-
"""nerfont installer
|
|
2
|
-
"""
|
|
1
|
+
"""nerfont installer"""
|
|
3
2
|
|
|
4
3
|
import platform
|
|
5
4
|
from typing import Optional
|
|
6
5
|
|
|
7
6
|
|
|
8
|
-
config_dict = {
|
|
9
|
-
"repo_url": "CUSTOM",
|
|
10
|
-
"doc": "lightweight containerization",
|
|
11
|
-
"filename_template_windows_amd_64": "",
|
|
12
|
-
"filename_template_linux_amd_64": "",
|
|
13
|
-
"strip_v": False,
|
|
14
|
-
"exe_name": "nerdfont"
|
|
15
|
-
}
|
|
7
|
+
config_dict = {"repo_url": "CUSTOM", "doc": "lightweight containerization", "filename_template_windows_amd_64": "", "filename_template_linux_amd_64": "", "strip_v": False, "exe_name": "nerdfont"}
|
|
16
8
|
|
|
17
9
|
|
|
18
10
|
def main(version: Optional[str]):
|
|
19
11
|
print(f"""
|
|
20
|
-
{
|
|
12
|
+
{"=" * 150}
|
|
21
13
|
đ¤ NERD FONTS INSTALLER | Installing programming fonts with icons
|
|
22
14
|
đģ Platform: {platform.system()}
|
|
23
|
-
đ Version: {
|
|
24
|
-
{
|
|
15
|
+
đ Version: {"latest" if version is None else version}
|
|
16
|
+
{"=" * 150}
|
|
25
17
|
""")
|
|
26
18
|
|
|
27
19
|
_ = version
|
|
28
20
|
if platform.system() == "Windows":
|
|
29
21
|
error_msg = "Nerd Fonts installation not supported on Windows through this installer"
|
|
30
22
|
print(f"""
|
|
31
|
-
{
|
|
23
|
+
{"â ī¸" * 20}
|
|
32
24
|
â ERROR | {error_msg}
|
|
33
25
|
đĄ TIP: Please download and install manually from https://www.nerdfonts.com
|
|
34
|
-
{
|
|
26
|
+
{"â ī¸" * 20}
|
|
35
27
|
""")
|
|
36
28
|
raise NotImplementedError(error_msg)
|
|
37
29
|
elif platform.system() in ["Linux", "Darwin"]:
|
|
38
30
|
print("đ§ Installing Nerd Fonts on Linux using installation script...")
|
|
39
31
|
import machineconfig.jobs.python_custom_installers as module
|
|
40
32
|
from pathlib import Path
|
|
33
|
+
|
|
41
34
|
program = Path(module.__file__).parent.joinpath("scripts/linux/nerdfont.sh").read_text(encoding="utf-8")
|
|
42
35
|
else:
|
|
43
36
|
error_msg = f"Unsupported platform: {platform.system()}"
|
|
44
37
|
print(f"""
|
|
45
|
-
{
|
|
38
|
+
{"â ī¸" * 20}
|
|
46
39
|
â ERROR | {error_msg}
|
|
47
|
-
{
|
|
40
|
+
{"â ī¸" * 20}
|
|
48
41
|
""")
|
|
49
42
|
raise NotImplementedError(error_msg)
|
|
50
43
|
|
|
51
44
|
print(f"""
|
|
52
|
-
{
|
|
45
|
+
{"=" * 150}
|
|
53
46
|
âšī¸ INFO | Nerd Fonts features:
|
|
54
47
|
đ¨ Programming fonts patched with icons
|
|
55
48
|
đŖ Includes icons from popular sets (FontAwesome, Devicons, etc.)
|
|
56
49
|
đĨī¸ Perfect for terminals and coding environments
|
|
57
50
|
đ§° Works with many terminal applications and editors
|
|
58
|
-
{
|
|
51
|
+
{"=" * 150}
|
|
59
52
|
""")
|
|
60
53
|
|
|
61
54
|
# _res = Terminal(stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE).run_script(script=program, shell="default").print(desc="Running custom installer", capture=True)
|
|
@@ -1,37 +1,29 @@
|
|
|
1
|
-
"""nedis installer
|
|
2
|
-
"""
|
|
1
|
+
"""nedis installer"""
|
|
3
2
|
|
|
4
3
|
import platform
|
|
5
4
|
from typing import Optional
|
|
6
5
|
|
|
7
6
|
|
|
8
|
-
config_dict = {
|
|
9
|
-
"repo_url": "CUSTOM",
|
|
10
|
-
"doc": "submillisecond fast key-value db",
|
|
11
|
-
"filename_template_windows_amd_64": "",
|
|
12
|
-
"filename_template_linux_amd_64": "",
|
|
13
|
-
"strip_v": False,
|
|
14
|
-
"exe_name": "redis"
|
|
15
|
-
}
|
|
7
|
+
config_dict = {"repo_url": "CUSTOM", "doc": "submillisecond fast key-value db", "filename_template_windows_amd_64": "", "filename_template_linux_amd_64": "", "strip_v": False, "exe_name": "redis"}
|
|
16
8
|
|
|
17
9
|
|
|
18
10
|
def main(version: Optional[str]):
|
|
19
11
|
print(f"""
|
|
20
|
-
{
|
|
12
|
+
{"=" * 150}
|
|
21
13
|
đī¸ REDIS INSTALLER | Setting up in-memory database
|
|
22
14
|
đģ Platform: {platform.system()}
|
|
23
|
-
đ Version: {
|
|
24
|
-
{
|
|
15
|
+
đ Version: {"latest" if version is None else version}
|
|
16
|
+
{"=" * 150}
|
|
25
17
|
""")
|
|
26
18
|
|
|
27
19
|
_ = version
|
|
28
20
|
if platform.system() == "Windows":
|
|
29
21
|
error_msg = "Redis installation not supported on Windows through this installer"
|
|
30
22
|
print(f"""
|
|
31
|
-
{
|
|
23
|
+
{"â ī¸" * 20}
|
|
32
24
|
â ERROR | {error_msg}
|
|
33
25
|
đĄ TIP: Consider using WSL2 or Docker to run Redis on Windows
|
|
34
|
-
{
|
|
26
|
+
{"â ī¸" * 20}
|
|
35
27
|
""")
|
|
36
28
|
raise NotImplementedError(error_msg)
|
|
37
29
|
elif platform.system() in ["Linux", "Darwin"]:
|
|
@@ -39,6 +31,7 @@ def main(version: Optional[str]):
|
|
|
39
31
|
print(f"đ§ Installing Redis on {system_name} using installation script...")
|
|
40
32
|
import machineconfig.jobs.python_custom_installers as module
|
|
41
33
|
from pathlib import Path
|
|
34
|
+
|
|
42
35
|
if platform.system() == "Linux":
|
|
43
36
|
program = Path(module.__file__).parent.joinpath("scripts/linux/redis.sh").read_text(encoding="utf-8")
|
|
44
37
|
else: # Darwin/macOS
|
|
@@ -46,21 +39,21 @@ def main(version: Optional[str]):
|
|
|
46
39
|
else:
|
|
47
40
|
error_msg = f"Unsupported platform: {platform.system()}"
|
|
48
41
|
print(f"""
|
|
49
|
-
{
|
|
42
|
+
{"â ī¸" * 20}
|
|
50
43
|
â ERROR | {error_msg}
|
|
51
|
-
{
|
|
44
|
+
{"â ī¸" * 20}
|
|
52
45
|
""")
|
|
53
46
|
raise NotImplementedError(error_msg)
|
|
54
47
|
|
|
55
48
|
print(f"""
|
|
56
|
-
{
|
|
49
|
+
{"=" * 150}
|
|
57
50
|
âšī¸ INFO | Redis features:
|
|
58
51
|
⥠In-memory data structure store
|
|
59
52
|
đ Key-value database with optional persistence
|
|
60
53
|
đ Sub-millisecond response times
|
|
61
54
|
đž Supports strings, lists, sets, sorted sets, hashes
|
|
62
55
|
đ Built-in replication and Lua scripting
|
|
63
|
-
{
|
|
56
|
+
{"=" * 150}
|
|
64
57
|
""")
|
|
65
58
|
|
|
66
59
|
# _res = Terminal(stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE).run_script(script=program, shell="default").print(desc="Running custom installer", capture=True)
|
|
@@ -70,4 +63,3 @@ def main(version: Optional[str]):
|
|
|
70
63
|
|
|
71
64
|
if __name__ == "__main__":
|
|
72
65
|
pass
|
|
73
|
-
|
|
@@ -1,37 +1,29 @@
|
|
|
1
|
-
"""wezterm installer
|
|
2
|
-
"""
|
|
1
|
+
"""wezterm installer"""
|
|
3
2
|
|
|
4
3
|
import platform
|
|
5
4
|
from typing import Optional
|
|
6
5
|
|
|
7
6
|
|
|
8
|
-
config_dict = {
|
|
9
|
-
"repo_url": "CUSTOM",
|
|
10
|
-
"doc": "cli for wezterm",
|
|
11
|
-
"filename_template_windows_amd_64": "",
|
|
12
|
-
"filename_template_linux_amd_64": "",
|
|
13
|
-
"strip_v": False,
|
|
14
|
-
"exe_name": "wezterm"
|
|
15
|
-
}
|
|
7
|
+
config_dict = {"repo_url": "CUSTOM", "doc": "cli for wezterm", "filename_template_windows_amd_64": "", "filename_template_linux_amd_64": "", "strip_v": False, "exe_name": "wezterm"}
|
|
16
8
|
|
|
17
9
|
|
|
18
10
|
def main(version: Optional[str]):
|
|
19
11
|
print(f"""
|
|
20
|
-
{
|
|
12
|
+
{"â" * 150}
|
|
21
13
|
đĨī¸ WEZTERM INSTALLER | Modern, GPU-accelerated terminal emulator
|
|
22
14
|
đģ Platform: {platform.system()}
|
|
23
|
-
đ Version: {
|
|
24
|
-
{
|
|
15
|
+
đ Version: {"latest" if version is None else version}
|
|
16
|
+
{"â" * 150}
|
|
25
17
|
""")
|
|
26
18
|
|
|
27
19
|
_ = version
|
|
28
20
|
if platform.system() == "Windows":
|
|
29
21
|
error_msg = "WezTerm installation not supported on Windows through this installer"
|
|
30
22
|
print(f"""
|
|
31
|
-
{
|
|
23
|
+
{"â ī¸" * 20}
|
|
32
24
|
â ERROR | {error_msg}
|
|
33
25
|
đĄ TIP: Please download and install manually from the WezTerm website
|
|
34
|
-
{
|
|
26
|
+
{"â ī¸" * 20}
|
|
35
27
|
""")
|
|
36
28
|
raise NotImplementedError(error_msg)
|
|
37
29
|
elif platform.system() in ["Linux", "Darwin"]:
|
|
@@ -41,6 +33,7 @@ def main(version: Optional[str]):
|
|
|
41
33
|
""")
|
|
42
34
|
import machineconfig.jobs.python_custom_installers as module
|
|
43
35
|
from pathlib import Path
|
|
36
|
+
|
|
44
37
|
if platform.system() == "Linux":
|
|
45
38
|
program = Path(module.__file__).parent.joinpath("scripts/linux/wezterm.sh").read_text(encoding="utf-8")
|
|
46
39
|
else: # Darwin/macOS
|
|
@@ -48,14 +41,14 @@ def main(version: Optional[str]):
|
|
|
48
41
|
else:
|
|
49
42
|
error_msg = f"Unsupported platform: {platform.system()}"
|
|
50
43
|
print(f"""
|
|
51
|
-
{
|
|
44
|
+
{"â ī¸" * 20}
|
|
52
45
|
â ERROR | {error_msg}
|
|
53
|
-
{
|
|
46
|
+
{"â ī¸" * 20}
|
|
54
47
|
""")
|
|
55
48
|
raise NotImplementedError(error_msg)
|
|
56
49
|
|
|
57
50
|
print(f"""
|
|
58
|
-
{
|
|
51
|
+
{"â" * 150}
|
|
59
52
|
âšī¸ INFO | WezTerm Features:
|
|
60
53
|
⥠GPU-accelerated rendering
|
|
61
54
|
đ¨ Full color emoji support
|
|
@@ -63,7 +56,7 @@ def main(version: Optional[str]):
|
|
|
63
56
|
âī¸ Lua configuration
|
|
64
57
|
đĻ Cross-platform support
|
|
65
58
|
đ Plugin system
|
|
66
|
-
{
|
|
59
|
+
{"â" * 150}
|
|
67
60
|
""")
|
|
68
61
|
|
|
69
62
|
# _res = Terminal(stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE).run_script(script=program, shell="default").print(desc="Running custom installer", capture=True)
|