machineconfig 1.94__py3-none-any.whl â 1.95__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/data_transfer.py +2 -1
- machineconfig/cluster/job_params.py +1 -1
- machineconfig/cluster/script_execution.py +1 -1
- machineconfig/jobs/__pycache__/__init__.cpython-311.pyc +0 -0
- machineconfig/jobs/linux/msc/lid.sh +2 -4
- machineconfig/jobs/linux/msc/network.sh +3 -6
- machineconfig/jobs/python/check_installations.py +6 -6
- machineconfig/jobs/python/checkout_version.py +4 -4
- machineconfig/jobs/python/python_cargo_build_share.py +2 -2
- machineconfig/jobs/python/python_ve_symlink.py +4 -4
- machineconfig/jobs/python/vscode/api.py +2 -2
- machineconfig/jobs/python/vscode/link_ve.py +4 -4
- machineconfig/jobs/python/vscode/select_interpreter.py +4 -4
- machineconfig/jobs/python/vscode/sync_code.py +6 -6
- machineconfig/jobs/python_custom_installers/archive/ngrok.py +4 -4
- machineconfig/jobs/python_custom_installers/dev/aider.py +4 -4
- machineconfig/jobs/python_custom_installers/dev/alacritty.py +4 -4
- machineconfig/jobs/python_custom_installers/dev/brave.py +4 -4
- machineconfig/jobs/python_custom_installers/dev/bypass_paywall.py +4 -4
- machineconfig/jobs/python_custom_installers/dev/code.py +4 -4
- machineconfig/jobs/python_custom_installers/dev/docker.py +4 -4
- machineconfig/jobs/python_custom_installers/dev/docker_desktop.py +4 -4
- machineconfig/jobs/python_custom_installers/dev/espanso.py +8 -8
- machineconfig/jobs/python_custom_installers/dev/goes.py +4 -4
- machineconfig/jobs/python_custom_installers/dev/lvim.py +4 -4
- machineconfig/jobs/python_custom_installers/dev/nerdfont.py +4 -4
- machineconfig/jobs/python_custom_installers/dev/redis.py +4 -4
- machineconfig/jobs/python_custom_installers/dev/warp-cli.py +4 -4
- machineconfig/jobs/python_custom_installers/dev/wezterm.py +4 -4
- machineconfig/jobs/python_custom_installers/gh.py +6 -6
- machineconfig/jobs/python_custom_installers/hx.py +28 -58
- machineconfig/jobs/python_custom_installers/scripts/linux/brave.sh +4 -8
- machineconfig/jobs/python_custom_installers/scripts/linux/docker.sh +5 -10
- machineconfig/jobs/python_custom_installers/scripts/linux/docker_start.sh +3 -6
- machineconfig/jobs/python_custom_installers/scripts/linux/edge.sh +3 -6
- machineconfig/jobs/python_custom_installers/scripts/linux/nerdfont.sh +5 -10
- machineconfig/jobs/python_custom_installers/scripts/linux/pgsql.sh +4 -8
- machineconfig/jobs/python_custom_installers/scripts/linux/redis.sh +5 -10
- machineconfig/jobs/python_custom_installers/scripts/linux/timescaledb.sh +6 -12
- machineconfig/jobs/python_custom_installers/scripts/linux/vscode.sh +9 -8
- machineconfig/jobs/python_custom_installers/scripts/linux/warp-cli.sh +5 -10
- machineconfig/jobs/python_custom_installers/scripts/linux/wezterm.sh +3 -6
- machineconfig/jobs/python_generic_installers/__pycache__/__init__.cpython-311.pyc +0 -0
- machineconfig/jobs/python_linux_installers/__pycache__/__init__.cpython-311.pyc +0 -0
- machineconfig/profile/shell.py +26 -47
- machineconfig/scripts/__pycache__/__init__.cpython-311.pyc +0 -0
- machineconfig/scripts/cloud/init.sh +9 -18
- machineconfig/scripts/linux/fire +5 -24
- machineconfig/scripts/linux/share_cloud.sh +6 -12
- 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_repo_sync.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_devapps_install.cpython-311.pyc +0 -0
- machineconfig/scripts/python/__pycache__/devops_update_repos.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/archive/im2text.py +30 -30
- machineconfig/scripts/python/archive/tmate_conn.py +10 -13
- machineconfig/scripts/python/archive/tmate_start.py +12 -16
- machineconfig/scripts/python/choose_wezterm_theme.py +9 -18
- machineconfig/scripts/python/cloud_copy.py +38 -93
- machineconfig/scripts/python/cloud_manager.py +61 -53
- machineconfig/scripts/python/cloud_mount.py +23 -34
- machineconfig/scripts/python/cloud_repo_sync.py +20 -69
- machineconfig/scripts/python/cloud_sync.py +35 -45
- machineconfig/scripts/python/croshell.py +48 -73
- machineconfig/scripts/python/devops.py +50 -104
- machineconfig/scripts/python/devops_add_identity.py +41 -101
- machineconfig/scripts/python/devops_add_ssh_key.py +33 -140
- machineconfig/scripts/python/devops_backup_retrieve.py +23 -112
- machineconfig/scripts/python/devops_devapps_install.py +0 -4
- machineconfig/scripts/python/devops_update_repos.py +1 -1
- machineconfig/scripts/python/fire_jobs.py +73 -25
- 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/python/helpers/cloud_helpers.py +37 -34
- machineconfig/scripts/python/helpers/helpers2.py +17 -31
- machineconfig/scripts/python/helpers/repo_sync_helpers.py +19 -54
- machineconfig/scripts/python/pomodoro.py +1 -1
- machineconfig/scripts/python/repos.py +49 -34
- machineconfig/scripts/python/wifi_conn.py +5 -3
- machineconfig/scripts/windows/fire.ps1 +27 -15
- machineconfig/settings/__pycache__/__init__.cpython-311.pyc +0 -0
- machineconfig/settings/shells/ipy/profiles/default/__pycache__/__init__.cpython-311.pyc +0 -0
- machineconfig/settings/shells/ipy/profiles/default/startup/__pycache__/__init__.cpython-311.pyc +0 -0
- machineconfig/settings/shells/ipy/profiles/default/startup/__pycache__/playext.cpython-311.pyc +0 -0
- machineconfig/setup_linux/nix/cli_installation.sh +9 -18
- machineconfig/setup_linux/others/openssh-server_add_pub_key.sh +3 -6
- machineconfig/setup_linux/web_shortcuts/all.sh +5 -10
- machineconfig/setup_linux/web_shortcuts/ascii_art.sh +7 -14
- machineconfig/setup_linux/web_shortcuts/croshell.sh +6 -12
- machineconfig/setup_linux/web_shortcuts/interactive.sh +34 -68
- machineconfig/setup_linux/web_shortcuts/ssh.sh +8 -16
- machineconfig/setup_linux/web_shortcuts/update_system.sh +7 -14
- machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py +16 -12
- machineconfig/utils/ai/browser_user_wrapper.py +60 -45
- machineconfig/utils/ai/generate_file_checklist.py +4 -7
- machineconfig/utils/ai/url2md.py +13 -5
- machineconfig/utils/{utils_code.py â code.py} +4 -10
- machineconfig/utils/installer.py +4 -10
- machineconfig/utils/{utils_links.py â links.py} +9 -20
- machineconfig/utils/{utils_options.py â options.py} +10 -20
- machineconfig/utils/{utils_path.py â path.py} +28 -80
- machineconfig/utils/procs.py +26 -30
- machineconfig/utils/scheduling.py +11 -11
- machineconfig/utils/utils.py +12 -19
- machineconfig/utils/ve.py +5 -21
- machineconfig/utils/ve_utils/ve2.py +15 -2
- {machineconfig-1.94.dist-info â machineconfig-1.95.dist-info}/METADATA +4 -2
- {machineconfig-1.94.dist-info â machineconfig-1.95.dist-info}/RECORD +120 -118
- {machineconfig-1.94.dist-info â machineconfig-1.95.dist-info}/WHEEL +1 -1
- {machineconfig-1.94.dist-info â machineconfig-1.95.dist-info}/top_level.txt +0 -0
|
@@ -126,7 +126,7 @@ workload_params = []
|
|
|
126
126
|
for idx, x in enumerate(kwargs_workload):
|
|
127
127
|
S(x).print(as_config=True, title=f"Instance {{idx}}")
|
|
128
128
|
workload_params.append(WorkloadParams(**x))
|
|
129
|
-
print("
|
|
129
|
+
print("\n" * 2)
|
|
130
130
|
res = L(workload_params).apply(lambda a_workload_params: func(workload_params=a_workload_params, **func_kwargs), jobs={workload_params.jobs})
|
|
131
131
|
"""
|
|
132
132
|
else: base += """
|
|
@@ -153,7 +153,7 @@ kwargs_path @ `{manager.kwargs_path.collapseuser()}`
|
|
|
153
153
|
|
|
154
154
|
# print to execution console:
|
|
155
155
|
exec_times.print(title="âąī¸ Execution Times", as_config=True)
|
|
156
|
-
|
|
156
|
+
console.rule(title="", characters="â", style="blue")
|
|
157
157
|
ssh_repr_remote = params.ssh_repr_remote or f"{getpass.getuser()}@{platform.node()}" # os.getlogin() can throw an error in non-login shells.
|
|
158
158
|
console.print(Panel(Text(f'''
|
|
159
159
|
ftprx {ssh_repr_remote} {res_folder.collapseuser()} -r
|
|
Binary file
|
|
@@ -5,8 +5,7 @@
|
|
|
5
5
|
# This script disables suspension when laptop lid is closed
|
|
6
6
|
# Reference: https://askubuntu.com/questions/141866/keep-ubuntu-server-running-on-a-laptop-with-the-lid-closed/1426611#1426611
|
|
7
7
|
|
|
8
|
-
echo """
|
|
9
|
-
#=======================================================================
|
|
8
|
+
echo """#=======================================================================
|
|
10
9
|
đ§ CONFIGURING | Modifying lid close behavior
|
|
11
10
|
#=======================================================================
|
|
12
11
|
"""
|
|
@@ -18,8 +17,7 @@ sudo sed -i 's/#HandleLidSwitch=suspend/HandleLidSwitch=ignore/g' /etc/systemd/l
|
|
|
18
17
|
echo "đ Updating HandleLidSwitchExternalPower parameter..."
|
|
19
18
|
sudo sed -i 's/#HandleLidSwitchExternalPower=suspend/HandleLidSwitchExternalPower=ignore/g' /etc/systemd/logind.conf
|
|
20
19
|
|
|
21
|
-
echo """
|
|
22
|
-
#=======================================================================
|
|
20
|
+
echo """#=======================================================================
|
|
23
21
|
â
COMPLETE | Lid close configuration has been updated
|
|
24
22
|
#=======================================================================
|
|
25
23
|
"""
|
|
@@ -5,15 +5,13 @@
|
|
|
5
5
|
# This script fixes the "A start job is running for wait for network to be configured" issue
|
|
6
6
|
# Reference: https://askubuntu.com/questions/972215/a-start-job-is-running-for-wait-for-network-to-be-configured-ubuntu-server-17-1
|
|
7
7
|
|
|
8
|
-
echo """
|
|
9
|
-
#=======================================================================
|
|
8
|
+
echo """#=======================================================================
|
|
10
9
|
đ§ CONFIGURING NETWORK | Making network interfaces optional
|
|
11
10
|
#=======================================================================
|
|
12
11
|
"""
|
|
13
12
|
|
|
14
13
|
echo "đ Original network config format from 'subiquity':"
|
|
15
|
-
echo """
|
|
16
|
-
# network:
|
|
14
|
+
echo """# network:
|
|
17
15
|
# ethernets:
|
|
18
16
|
# enp0s31f6:
|
|
19
17
|
# dhcp4: true
|
|
@@ -24,8 +22,7 @@ echo """
|
|
|
24
22
|
echo "đ Modifying netplan configuration..."
|
|
25
23
|
sudo sed -i 's/dhcp4: true/dhcp4: true\n optional: true/g' /etc/netplan/00-installer-config.yaml
|
|
26
24
|
|
|
27
|
-
echo """
|
|
28
|
-
#=======================================================================
|
|
25
|
+
echo """#=======================================================================
|
|
29
26
|
â
COMPLETE | Network configuration has been updated
|
|
30
27
|
#=======================================================================
|
|
31
28
|
"""
|
|
@@ -83,9 +83,9 @@ def main() -> None:
|
|
|
83
83
|
# print(f"âĄī¸ Found version `{tmp}` for {an_app.stem}.")
|
|
84
84
|
# app_versions.append(None)
|
|
85
85
|
print(f"""
|
|
86
|
-
{'=' *
|
|
86
|
+
{'=' * 150}
|
|
87
87
|
đ TOOL CHECK | Checking tools (#{len(apps_paths_tmp)}) collected from `{INSTALL_VERSION_ROOT}`
|
|
88
|
-
{'=' *
|
|
88
|
+
{'=' * 150}
|
|
89
89
|
""")
|
|
90
90
|
apps_paths_raw.print()
|
|
91
91
|
positive_pct: list[Optional[float]] = []
|
|
@@ -120,9 +120,9 @@ def main() -> None:
|
|
|
120
120
|
res_df.to_csv(APP_SUMMARY_PATH.with_suffix(".csv").create(parents_only=True), index=False)
|
|
121
121
|
APP_SUMMARY_PATH.with_suffix(".md").write_text(res_df.to_markdown())
|
|
122
122
|
print(f"""
|
|
123
|
-
{'=' *
|
|
123
|
+
{'=' * 150}
|
|
124
124
|
đ SAFETY REPORT | Summary of app scanning results
|
|
125
|
-
{'=' *
|
|
125
|
+
{'=' * 150}
|
|
126
126
|
""")
|
|
127
127
|
print(res_df)
|
|
128
128
|
|
|
@@ -176,9 +176,9 @@ class PrecheckedCloudInstaller:
|
|
|
176
176
|
|
|
177
177
|
if name == "AllEssentials":
|
|
178
178
|
print(f"""
|
|
179
|
-
{'=' *
|
|
179
|
+
{'=' * 150}
|
|
180
180
|
đĨ DOWNLOAD | Downloading {self.df.shape[0]} apps...
|
|
181
|
-
{'=' *
|
|
181
|
+
{'=' * 150}
|
|
182
182
|
""")
|
|
183
183
|
print(self.df)
|
|
184
184
|
_res = L(self.df.app_url).apply(PrecheckedCloudInstaller.install_cli_apps, jobs=20)
|
|
@@ -69,9 +69,9 @@ python -m pip freeze {'--exclude-editable' if exclude_editable else ''} > requir
|
|
|
69
69
|
"""
|
|
70
70
|
Terminal().run_script(pip_freeze_script, verbose=True, shell="default").print()
|
|
71
71
|
print(f"""
|
|
72
|
-
{'=' *
|
|
72
|
+
{'=' * 150}
|
|
73
73
|
â
SUCCESS | Requirements for version {version} installed successfully
|
|
74
|
-
{'=' *
|
|
74
|
+
{'=' * 150}
|
|
75
75
|
""")
|
|
76
76
|
|
|
77
77
|
|
|
@@ -81,9 +81,9 @@ def main():
|
|
|
81
81
|
try:
|
|
82
82
|
repo = Repo(P.cwd(), search_parent_directories=True)
|
|
83
83
|
print(f"""
|
|
84
|
-
{'=' *
|
|
84
|
+
{'=' * 150}
|
|
85
85
|
đ GIT REPO | Found repository at {repo.working_dir}
|
|
86
|
-
{'=' *
|
|
86
|
+
{'=' * 150}
|
|
87
87
|
""")
|
|
88
88
|
except InvalidGitRepositoryError as err:
|
|
89
89
|
print(f"""
|
|
@@ -21,10 +21,10 @@ cd {tool_name}
|
|
|
21
21
|
cargo install --path .
|
|
22
22
|
"""
|
|
23
23
|
print(f"""
|
|
24
|
-
{'=' *
|
|
24
|
+
{'=' * 150}
|
|
25
25
|
đĻ CARGO BUILD | Building Rust project: {tool_name}
|
|
26
26
|
đĻ Source: {url}
|
|
27
|
-
{'=' *
|
|
27
|
+
{'=' * 150}
|
|
28
28
|
""")
|
|
29
29
|
if platform.system() == "Windows":
|
|
30
30
|
Terminal(stdout=None).run(f". {P.tmpfile(suffix='.ps1').write_text(script)}", shell="pwsh").print()
|
|
@@ -7,9 +7,9 @@ from crocodile.file_management import P
|
|
|
7
7
|
|
|
8
8
|
def main():
|
|
9
9
|
print(f"""
|
|
10
|
-
{'=' *
|
|
10
|
+
{'=' * 150}
|
|
11
11
|
đ SYMLINK CREATOR | Create symlinks for virtual environments
|
|
12
|
-
{'=' *
|
|
12
|
+
{'=' * 150}
|
|
13
13
|
""")
|
|
14
14
|
target = P(input("đ¯ Symlink to which target? ")).expanduser().absolute()
|
|
15
15
|
source = input(f"đ Symlink from which source? [default to: CWD/{target.name}] ") or P.cwd().joinpath(target.name)
|
|
@@ -18,11 +18,11 @@ def main():
|
|
|
18
18
|
# P('.gitignore').modify_text('venv', 'venv', replace_line=True)"
|
|
19
19
|
source.symlink_to(target, overwrite=True)
|
|
20
20
|
print(f"""
|
|
21
|
-
{'=' *
|
|
21
|
+
{'=' * 150}
|
|
22
22
|
â
SUCCESS | Symlink created successfully
|
|
23
23
|
đ Source: {source}
|
|
24
24
|
đ¯ Target: {target}
|
|
25
|
-
{'=' *
|
|
25
|
+
{'=' * 150}
|
|
26
26
|
""")
|
|
27
27
|
return "echo 'đ Finished creating symlink.'"
|
|
28
28
|
|
|
@@ -20,13 +20,13 @@ code --profile bitProfile --new-window {file_path}
|
|
|
20
20
|
from rich.syntax import Syntax
|
|
21
21
|
from rich.panel import Panel
|
|
22
22
|
console = Console()
|
|
23
|
-
console.print(f"\n{'=' *
|
|
23
|
+
console.print(f"\n{'=' * 150}")
|
|
24
24
|
console.print(Panel(
|
|
25
25
|
Syntax(code, lexer="bash"),
|
|
26
26
|
title="đ VS CODE API | Opening file in new instance",
|
|
27
27
|
subtitle=f"đ {file_path}"
|
|
28
28
|
), style="bold blue")
|
|
29
|
-
console.print(f"{'=' *
|
|
29
|
+
console.print(f"{'=' * 150}\n")
|
|
30
30
|
|
|
31
31
|
code_path = Path.home().joinpath(".config", "machingconfig", "vscode_api", "code_temp")
|
|
32
32
|
code_path.parent.mkdir(parents=True, exist_ok=True)
|
|
@@ -10,10 +10,10 @@ import argparse
|
|
|
10
10
|
|
|
11
11
|
def select_interpreter(workspace_root: str):
|
|
12
12
|
print(f"""
|
|
13
|
-
{'=' *
|
|
13
|
+
{'=' * 150}
|
|
14
14
|
đ VSCODE VE LINKER | Linking virtual environment for VS Code
|
|
15
15
|
đ Workspace: {workspace_root}
|
|
16
|
-
{'=' *
|
|
16
|
+
{'=' * 150}
|
|
17
17
|
""")
|
|
18
18
|
|
|
19
19
|
path = Path(workspace_root).joinpath('.ve_path')
|
|
@@ -44,11 +44,11 @@ def select_interpreter(workspace_root: str):
|
|
|
44
44
|
venv_link.symlink_to(target=ve_path.expanduser().absolute())
|
|
45
45
|
|
|
46
46
|
print(f"""
|
|
47
|
-
{'=' *
|
|
47
|
+
{'=' * 150}
|
|
48
48
|
â
SUCCESS | Virtual environment linked successfully
|
|
49
49
|
đ Link: {venv_link}
|
|
50
50
|
đ¯ Target: {ve_path.expanduser().absolute()}
|
|
51
|
-
{'=' *
|
|
51
|
+
{'=' * 150}
|
|
52
52
|
""")
|
|
53
53
|
|
|
54
54
|
|
|
@@ -10,10 +10,10 @@ import platform
|
|
|
10
10
|
|
|
11
11
|
def select_interpreter(workspace_root: str):
|
|
12
12
|
print(f"""
|
|
13
|
-
{'=' *
|
|
13
|
+
{'=' * 150}
|
|
14
14
|
đ PYTHON INTERPRETER | Setting up VS Code Python interpreter
|
|
15
15
|
đ Workspace: {workspace_root}
|
|
16
|
-
{'=' *
|
|
16
|
+
{'=' * 150}
|
|
17
17
|
""")
|
|
18
18
|
|
|
19
19
|
path = Path(workspace_root).joinpath('.ve_path')
|
|
@@ -64,11 +64,11 @@ def select_interpreter(workspace_root: str):
|
|
|
64
64
|
Save.json(obj=settings, path=work_space_settings, indent=4)
|
|
65
65
|
|
|
66
66
|
print(f"""
|
|
67
|
-
{'=' *
|
|
67
|
+
{'=' * 150}
|
|
68
68
|
â
SUCCESS | Python interpreter configured successfully
|
|
69
69
|
đ Interpreter: {python_path}
|
|
70
70
|
đ Settings: {work_space_settings}
|
|
71
|
-
{'=' *
|
|
71
|
+
{'=' * 150}
|
|
72
72
|
""")
|
|
73
73
|
|
|
74
74
|
|
|
@@ -8,10 +8,10 @@ if config is None:
|
|
|
8
8
|
|
|
9
9
|
def sync_remote(machine_name: str):
|
|
10
10
|
print(f"""
|
|
11
|
-
{'=' *
|
|
11
|
+
{'=' * 150}
|
|
12
12
|
đ SYNC REMOTE | Initiating remote code synchronization
|
|
13
13
|
đĨī¸ Target machine: {machine_name}
|
|
14
|
-
{'=' *
|
|
14
|
+
{'=' * 150}
|
|
15
15
|
""")
|
|
16
16
|
|
|
17
17
|
machine_config = config.get(machine_name)
|
|
@@ -33,13 +33,13 @@ ssh -o "HostName={machine_config['HostName']}" -o "User={machine_config['User']}
|
|
|
33
33
|
from rich.panel import Panel
|
|
34
34
|
|
|
35
35
|
console = Console()
|
|
36
|
-
console.print(f"\n{'=' *
|
|
36
|
+
console.print(f"\n{'=' * 150}")
|
|
37
37
|
console.print(Panel(
|
|
38
38
|
Syntax(code, lexer="bash"),
|
|
39
39
|
title=f"đ SYNC COMMAND | Connecting to {machine_name}",
|
|
40
40
|
subtitle=f"đ Host: {machine_config['HostName']}"
|
|
41
41
|
), style="bold blue")
|
|
42
|
-
console.print(f"{'=' *
|
|
42
|
+
console.print(f"{'=' * 150}\n")
|
|
43
43
|
|
|
44
44
|
code_path = Path.home().joinpath(".config", "machingconfig", "vscode_api", "code_temp")
|
|
45
45
|
code_path.parent.mkdir(parents=True, exist_ok=True)
|
|
@@ -52,9 +52,9 @@ ssh -o "HostName={machine_config['HostName']}" -o "User={machine_config['User']}
|
|
|
52
52
|
subprocess.run([str(code_path)], shell=True, check=True)
|
|
53
53
|
|
|
54
54
|
print(f"""
|
|
55
|
-
{'=' *
|
|
55
|
+
{'=' * 150}
|
|
56
56
|
â
SUCCESS | Remote sync completed successfully
|
|
57
57
|
đĨī¸ Machine: {machine_name}
|
|
58
|
-
{'=' *
|
|
58
|
+
{'=' * 150}
|
|
59
59
|
""")
|
|
60
60
|
|
|
@@ -19,10 +19,10 @@ config_dict = {
|
|
|
19
19
|
|
|
20
20
|
def main(version: Optional[str]):
|
|
21
21
|
print(f"""
|
|
22
|
-
{'=' *
|
|
22
|
+
{'=' * 150}
|
|
23
23
|
đ NGROK INSTALLER | Setting up secure tunnels to localhost
|
|
24
24
|
đģ Platform: {platform.system()}
|
|
25
|
-
{'=' *
|
|
25
|
+
{'=' * 150}
|
|
26
26
|
""")
|
|
27
27
|
|
|
28
28
|
_ = version
|
|
@@ -50,10 +50,10 @@ sudo nala update && sudo nala install ngrok
|
|
|
50
50
|
raise NotImplementedError(error_msg)
|
|
51
51
|
|
|
52
52
|
print(f"""
|
|
53
|
-
{'=' *
|
|
53
|
+
{'=' * 150}
|
|
54
54
|
â ī¸ SECURITY WARNING | ngrok has been flagged by some antivirus engines
|
|
55
55
|
đĄī¸ Use at your own risk - flagged by 35% of antivirus engines
|
|
56
|
-
{'=' *
|
|
56
|
+
{'=' * 150}
|
|
57
57
|
""")
|
|
58
58
|
return program
|
|
59
59
|
|
|
@@ -13,20 +13,20 @@ config_dict = {
|
|
|
13
13
|
|
|
14
14
|
def main(version: Optional[str] = None):
|
|
15
15
|
print(f"""
|
|
16
|
-
{'=' *
|
|
16
|
+
{'=' * 150}
|
|
17
17
|
đ¤ AIDER INSTALLER | Installing AI code assistant
|
|
18
18
|
đģ Platform: {platform.system()}
|
|
19
19
|
đ Version: {'latest' if version is None else version}
|
|
20
|
-
{'=' *
|
|
20
|
+
{'=' * 150}
|
|
21
21
|
""")
|
|
22
22
|
|
|
23
23
|
install_script = "uv tool install --force --python python3.12 aider-chat@latest"
|
|
24
24
|
|
|
25
25
|
print(f"""
|
|
26
|
-
{'=' *
|
|
26
|
+
{'=' * 150}
|
|
27
27
|
â
SUCCESS | Installation command prepared:
|
|
28
28
|
đ Command: {install_script}
|
|
29
|
-
{'=' *
|
|
29
|
+
{'=' * 150}
|
|
30
30
|
""")
|
|
31
31
|
|
|
32
32
|
return install_script
|
|
@@ -17,11 +17,11 @@ config_dict = {
|
|
|
17
17
|
|
|
18
18
|
def main(version: Optional[str]):
|
|
19
19
|
print(f"""
|
|
20
|
-
{'=' *
|
|
20
|
+
{'=' * 150}
|
|
21
21
|
đĨī¸ ALACRITTY INSTALLER | Installing GPU-accelerated terminal emulator
|
|
22
22
|
đģ Platform: {platform.system()}
|
|
23
23
|
đ Version: {'latest' if version is None else version}
|
|
24
|
-
{'=' *
|
|
24
|
+
{'=' * 150}
|
|
25
25
|
""")
|
|
26
26
|
|
|
27
27
|
_ = version
|
|
@@ -54,12 +54,12 @@ git clone https://github.com/alacritty/alacritty-theme ~/.config/alacritty/theme
|
|
|
54
54
|
raise NotImplementedError(error_msg)
|
|
55
55
|
|
|
56
56
|
print(f"""
|
|
57
|
-
{'=' *
|
|
57
|
+
{'=' * 150}
|
|
58
58
|
âšī¸ INFO | Installation will proceed with the following steps:
|
|
59
59
|
1ī¸âŖ Install Alacritty using Cargo
|
|
60
60
|
2ī¸âŖ Create config directories
|
|
61
61
|
3ī¸âŖ Clone theme repository
|
|
62
|
-
{'=' *
|
|
62
|
+
{'=' * 150}
|
|
63
63
|
""")
|
|
64
64
|
|
|
65
65
|
# _res = Terminal(stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE).run_script(script=program, shell="default").print(desc="Running custom installer", capture=True)
|
|
@@ -18,11 +18,11 @@ config_dict = {
|
|
|
18
18
|
|
|
19
19
|
def main(version: Optional[str]):
|
|
20
20
|
print(f"""
|
|
21
|
-
{'=' *
|
|
21
|
+
{'=' * 150}
|
|
22
22
|
đĻ BRAVE BROWSER | Installing privacy-focused web browser
|
|
23
23
|
đģ Platform: {platform.system()}
|
|
24
24
|
đ Version: {'latest' if version is None else version}
|
|
25
|
-
{'=' *
|
|
25
|
+
{'=' * 150}
|
|
26
26
|
""")
|
|
27
27
|
|
|
28
28
|
_ = version
|
|
@@ -48,13 +48,13 @@ winget install --Name "Brave Browser" --Id Brave.Brave --source winget --accept-
|
|
|
48
48
|
raise NotImplementedError(error_msg)
|
|
49
49
|
|
|
50
50
|
print(f"""
|
|
51
|
-
{'=' *
|
|
51
|
+
{'=' * 150}
|
|
52
52
|
âšī¸ INFO | Brave Browser features:
|
|
53
53
|
đ Built-in ad blocking
|
|
54
54
|
đĄī¸ Privacy-focused browsing
|
|
55
55
|
đ¨ Faster page loading
|
|
56
56
|
đĒ Optional crypto rewards
|
|
57
|
-
{'=' *
|
|
57
|
+
{'=' * 150}
|
|
58
58
|
""")
|
|
59
59
|
|
|
60
60
|
# _res = Terminal(stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE).run_script(script=program, shell="default").print(desc="Running custom installer", capture=True)
|
|
@@ -18,10 +18,10 @@ config_dict = {
|
|
|
18
18
|
|
|
19
19
|
def main(version: Optional[str] = None):
|
|
20
20
|
print(f"""
|
|
21
|
-
{'=' *
|
|
21
|
+
{'=' * 150}
|
|
22
22
|
đ BYPASS PAYWALL | Installing paywall bypass extension for Chrome
|
|
23
23
|
đ Version: {'latest' if version is None else version}
|
|
24
|
-
{'=' *
|
|
24
|
+
{'=' * 150}
|
|
25
25
|
""")
|
|
26
26
|
|
|
27
27
|
_ = version
|
|
@@ -33,14 +33,14 @@ def main(version: Optional[str] = None):
|
|
|
33
33
|
extension_folder = P(folder).joinpath("bypass-paywalls-chrome-master")
|
|
34
34
|
|
|
35
35
|
print(f"""
|
|
36
|
-
{'=' *
|
|
36
|
+
{'=' * 150}
|
|
37
37
|
â
SUCCESS | Extension downloaded successfully
|
|
38
38
|
đ Location: {extension_folder}
|
|
39
39
|
âšī¸ Next steps:
|
|
40
40
|
1ī¸âŖ Open Chrome and navigate to chrome://extensions
|
|
41
41
|
2ī¸âŖ Enable Developer Mode (toggle in top right)
|
|
42
42
|
3ī¸âŖ Click "Load unpacked" and select the extension folder
|
|
43
|
-
{'=' *
|
|
43
|
+
{'=' * 150}
|
|
44
44
|
""")
|
|
45
45
|
|
|
46
46
|
return ""
|
|
@@ -17,11 +17,11 @@ config_dict = {
|
|
|
17
17
|
|
|
18
18
|
def main(version: Optional[str] = None):
|
|
19
19
|
print(f"""
|
|
20
|
-
{'=' *
|
|
20
|
+
{'=' * 150}
|
|
21
21
|
đģ VS CODE INSTALLER | Setting up Visual Studio Code
|
|
22
22
|
đĨī¸ Platform: {platform.system()}
|
|
23
23
|
đ Version: {'latest' if version is None else version}
|
|
24
|
-
{'=' *
|
|
24
|
+
{'=' * 150}
|
|
25
25
|
""")
|
|
26
26
|
|
|
27
27
|
if platform.system() == 'Linux':
|
|
@@ -45,14 +45,14 @@ def main(version: Optional[str] = None):
|
|
|
45
45
|
_ = version
|
|
46
46
|
|
|
47
47
|
print(f"""
|
|
48
|
-
{'=' *
|
|
48
|
+
{'=' * 150}
|
|
49
49
|
âšī¸ INFO | VS Code features:
|
|
50
50
|
đ Powerful code editor with IntelliSense
|
|
51
51
|
đ§Š Thousands of extensions available
|
|
52
52
|
đ Integrated debugging
|
|
53
53
|
đ Git integration
|
|
54
54
|
âī¸ Highly customizable
|
|
55
|
-
{'=' *
|
|
55
|
+
{'=' * 150}
|
|
56
56
|
""")
|
|
57
57
|
|
|
58
58
|
return install_script
|
|
@@ -18,11 +18,11 @@ config_dict = {
|
|
|
18
18
|
|
|
19
19
|
def main(version: Optional[str]):
|
|
20
20
|
print(f"""
|
|
21
|
-
{'=' *
|
|
21
|
+
{'=' * 150}
|
|
22
22
|
đŗ DOCKER INSTALLER | Setting up containerization platform
|
|
23
23
|
đģ Platform: {platform.system()}
|
|
24
24
|
đ Version: {'latest' if version is None else version}
|
|
25
|
-
{'=' *
|
|
25
|
+
{'=' * 150}
|
|
26
26
|
""")
|
|
27
27
|
|
|
28
28
|
_ = version
|
|
@@ -50,14 +50,14 @@ def main(version: Optional[str]):
|
|
|
50
50
|
raise NotImplementedError(error_msg)
|
|
51
51
|
|
|
52
52
|
print(f"""
|
|
53
|
-
{'=' *
|
|
53
|
+
{'=' * 150}
|
|
54
54
|
âšī¸ INFO | Docker features:
|
|
55
55
|
đĻ Container-based virtualization
|
|
56
56
|
đ Simplified application deployment
|
|
57
57
|
đ Consistent development environments
|
|
58
58
|
đĄī¸ Isolated application environments
|
|
59
59
|
đ Efficient resource utilization
|
|
60
|
-
{'=' *
|
|
60
|
+
{'=' * 150}
|
|
61
61
|
""")
|
|
62
62
|
|
|
63
63
|
# _res = Terminal(stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE).run_script(script=program, shell="default").print(desc="Running custom installer", capture=True)
|
|
@@ -26,11 +26,11 @@ config_dict = {
|
|
|
26
26
|
|
|
27
27
|
def main(version: Optional[str]):
|
|
28
28
|
print(f"""
|
|
29
|
-
{'=' *
|
|
29
|
+
{'=' * 150}
|
|
30
30
|
đŗ DOCKER DESKTOP | Installing Docker Desktop for Ubuntu
|
|
31
31
|
đ Version: {'latest' if version is None else version}
|
|
32
32
|
đ Source: https://docs.docker.com/desktop/install/ubuntu/
|
|
33
|
-
{'=' *
|
|
33
|
+
{'=' * 150}
|
|
34
34
|
""")
|
|
35
35
|
|
|
36
36
|
_ = version
|
|
@@ -62,12 +62,12 @@ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin
|
|
|
62
62
|
|
|
63
63
|
"""
|
|
64
64
|
print(f"""
|
|
65
|
-
{'=' *
|
|
65
|
+
{'=' * 150}
|
|
66
66
|
âšī¸ INFO | After installation:
|
|
67
67
|
đš Run 'sudo docker run hello-world' to verify installation
|
|
68
68
|
đš Add your user to the docker group with 'sudo usermod -aG docker $USER'
|
|
69
69
|
đš Log out and back in to apply group changes
|
|
70
|
-
{'=' *
|
|
70
|
+
{'=' * 150}
|
|
71
71
|
""")
|
|
72
72
|
|
|
73
73
|
return code
|
|
@@ -18,11 +18,11 @@ config_dict = {
|
|
|
18
18
|
|
|
19
19
|
def main(version: Optional[str]):
|
|
20
20
|
print(f"""
|
|
21
|
-
{'=' *
|
|
21
|
+
{'=' * 150}
|
|
22
22
|
⥠ESPANSO INSTALLER | Setting up text expansion tool
|
|
23
23
|
đ Version: {'latest' if version is None else version}
|
|
24
24
|
đ Source: https://github.com/espanso/espanso
|
|
25
|
-
{'=' *
|
|
25
|
+
{'=' * 150}
|
|
26
26
|
""")
|
|
27
27
|
|
|
28
28
|
_ = version
|
|
@@ -35,18 +35,18 @@ def main(version: Optional[str]):
|
|
|
35
35
|
env = os.environ["XDG_SESSION_TYPE"]
|
|
36
36
|
if env == "wayland":
|
|
37
37
|
print(f"""
|
|
38
|
-
{'=' *
|
|
38
|
+
{'=' * 150}
|
|
39
39
|
đĨī¸ DISPLAY SERVER | Wayland detected
|
|
40
40
|
đĻ Using Wayland-specific package
|
|
41
|
-
{'=' *
|
|
41
|
+
{'=' * 150}
|
|
42
42
|
""")
|
|
43
43
|
config_dict["filename_template_linux_amd_64"] = "espanso-debian-wayland-amd64.deb"
|
|
44
44
|
else:
|
|
45
45
|
print(f"""
|
|
46
|
-
{'=' *
|
|
46
|
+
{'=' * 150}
|
|
47
47
|
đĨī¸ DISPLAY SERVER | X11 detected
|
|
48
48
|
đĻ Using X11-specific package
|
|
49
|
-
{'=' *
|
|
49
|
+
{'=' * 150}
|
|
50
50
|
""")
|
|
51
51
|
config_dict["filename_template_linux_amd_64"] = "espanso-debian-x11-amd64.deb"
|
|
52
52
|
else:
|
|
@@ -70,13 +70,13 @@ espanso install actually-all-emojis
|
|
|
70
70
|
"""
|
|
71
71
|
|
|
72
72
|
print(f"""
|
|
73
|
-
{'=' *
|
|
73
|
+
{'=' * 150}
|
|
74
74
|
â
SUCCESS | Espanso installation completed
|
|
75
75
|
đ Post-installation steps:
|
|
76
76
|
1ī¸âŖ Register Espanso as a service
|
|
77
77
|
2ī¸âŖ Start the Espanso service
|
|
78
78
|
3ī¸âŖ Install the emoji package
|
|
79
|
-
{'=' *
|
|
79
|
+
{'=' * 150}
|
|
80
80
|
""")
|
|
81
81
|
|
|
82
82
|
return config
|
|
@@ -20,11 +20,11 @@ ve_name = "goex"
|
|
|
20
20
|
|
|
21
21
|
def main():
|
|
22
22
|
print(f"""
|
|
23
|
-
{'=' *
|
|
23
|
+
{'=' * 150}
|
|
24
24
|
đĻ GORILLA INSTALLER | Natural language to API converter
|
|
25
25
|
đ Source: https://github.com/ShishirPatil/gorilla
|
|
26
26
|
đĻ Virtual Environment: {ve_name}
|
|
27
|
-
{'=' *
|
|
27
|
+
{'=' * 150}
|
|
28
28
|
""")
|
|
29
29
|
|
|
30
30
|
print("đ Preparing installation script...")
|
|
@@ -42,12 +42,12 @@ pip install -e .
|
|
|
42
42
|
"""
|
|
43
43
|
|
|
44
44
|
print(f"""
|
|
45
|
-
{'=' *
|
|
45
|
+
{'=' * 150}
|
|
46
46
|
đ INSTALLATION STEPS:
|
|
47
47
|
1ī¸âŖ Creating Python 3.11 virtual environment: {ve_name}
|
|
48
48
|
2ī¸âŖ Cloning Gorilla repository to ~/code/foreign
|
|
49
49
|
3ī¸âŖ Installing Gorilla in development mode
|
|
50
|
-
{'=' *
|
|
50
|
+
{'=' * 150}
|
|
51
51
|
|
|
52
52
|
â
Installation script prepared successfully!
|
|
53
53
|
""")
|
|
@@ -23,11 +23,11 @@ config_dict = {
|
|
|
23
23
|
|
|
24
24
|
def main(version: Optional[str]):
|
|
25
25
|
print(f"""
|
|
26
|
-
{'=' *
|
|
26
|
+
{'=' * 150}
|
|
27
27
|
đ LUNARVIM INSTALLER | Setting up Neovim-based IDE
|
|
28
28
|
đ Version: {'latest' if version is None else version}
|
|
29
29
|
đ Branch: release-1.4/neovim-0.9
|
|
30
|
-
{'=' *
|
|
30
|
+
{'=' * 150}
|
|
31
31
|
""")
|
|
32
32
|
|
|
33
33
|
_ = version
|
|
@@ -55,14 +55,14 @@ LV_BRANCH='release-1.4/neovim-0.9' bash <(curl -s https://raw.githubusercontent.
|
|
|
55
55
|
raise NotImplementedError(error_msg)
|
|
56
56
|
|
|
57
57
|
print(f"""
|
|
58
|
-
{'=' *
|
|
58
|
+
{'=' * 150}
|
|
59
59
|
âšī¸ INFO | LunarVim features:
|
|
60
60
|
đ IDE-like experience for Neovim
|
|
61
61
|
đ Built-in plugin management
|
|
62
62
|
đ ī¸ LSP configuration out of the box
|
|
63
63
|
đ Powerful fuzzy finding
|
|
64
64
|
âī¸ Simple and unified configuration
|
|
65
|
-
{'=' *
|
|
65
|
+
{'=' * 150}
|
|
66
66
|
|
|
67
67
|
â ī¸ NOTE: The installer will prompt for user input during installation.
|
|
68
68
|
""")
|