machineconfig 3.2__py3-none-any.whl → 3.3__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/sessions_managers/zellij_local.py +2 -2
- machineconfig/cluster/sessions_managers/zellij_utils/monitoring_types.py +17 -7
- machineconfig/jobs/python_custom_installers/archive/ngrok.py +7 -6
- machineconfig/jobs/python_custom_installers/dev/aider.py +9 -1
- machineconfig/jobs/python_custom_installers/dev/alacritty.py +2 -1
- machineconfig/jobs/python_custom_installers/dev/brave.py +10 -1
- machineconfig/jobs/python_custom_installers/dev/bypass_paywall.py +9 -1
- machineconfig/jobs/python_custom_installers/dev/code.py +10 -3
- machineconfig/jobs/python_custom_installers/dev/cursor.py +2 -1
- machineconfig/jobs/python_custom_installers/dev/docker_desktop.py +7 -6
- machineconfig/jobs/python_custom_installers/dev/espanso.py +13 -5
- machineconfig/jobs/python_custom_installers/dev/goes.py +10 -1
- machineconfig/jobs/python_custom_installers/dev/lvim.py +9 -1
- machineconfig/jobs/python_custom_installers/dev/nerdfont.py +9 -1
- machineconfig/jobs/python_custom_installers/dev/redis.py +2 -2
- machineconfig/jobs/python_custom_installers/dev/wezterm.py +3 -1
- machineconfig/jobs/python_custom_installers/dev/winget.py +2 -1
- machineconfig/jobs/python_custom_installers/docker.py +9 -1
- machineconfig/jobs/python_custom_installers/gh.py +11 -2
- machineconfig/jobs/python_custom_installers/hx.py +9 -8
- machineconfig/jobs/python_custom_installers/warp-cli.py +9 -1
- machineconfig/jobs/python_generic_installers/config.json +612 -412
- machineconfig/jobs/python_generic_installers/config.json.bak +414 -0
- machineconfig/jobs/python_generic_installers/dev/config.json +822 -562
- machineconfig/jobs/python_generic_installers/dev/config.json.bak +565 -0
- machineconfig/jobs/python_linux_installers/archive/config.json +16 -8
- machineconfig/jobs/python_linux_installers/archive/config.json.bak +10 -0
- machineconfig/jobs/python_linux_installers/config.json +134 -99
- machineconfig/jobs/python_linux_installers/config.json.bak +110 -0
- machineconfig/jobs/python_linux_installers/dev/config.json +273 -203
- machineconfig/jobs/python_linux_installers/dev/config.json.bak +206 -0
- machineconfig/jobs/python_windows_installers/config.json +74 -48
- machineconfig/jobs/python_windows_installers/config.json.bak +56 -0
- machineconfig/jobs/python_windows_installers/dev/config.json +3 -2
- machineconfig/jobs/python_windows_installers/dev/config.json.bak +3 -0
- machineconfig/scripts/python/devops.py +1 -0
- machineconfig/scripts/python/devops_devapps_install.py +39 -17
- machineconfig/scripts/python/fire_agents.py +4 -0
- machineconfig/setup_windows/wt_and_pwsh/install_nerd_fonts.py +8 -7
- machineconfig/utils/installer.py +45 -31
- machineconfig/utils/installer_utils/installer_abc.py +1 -4
- machineconfig/utils/installer_utils/installer_class.py +108 -102
- machineconfig/utils/path_reduced.py +1 -1
- machineconfig/utils/procs.py +1 -0
- machineconfig/utils/schemas/installer/installer_types.py +20 -0
- machineconfig/utils/utils2.py +2 -0
- {machineconfig-3.2.dist-info → machineconfig-3.3.dist-info}/METADATA +1 -1
- {machineconfig-3.2.dist-info → machineconfig-3.3.dist-info}/RECORD +51 -43
- {machineconfig-3.2.dist-info → machineconfig-3.3.dist-info}/WHEEL +0 -0
- {machineconfig-3.2.dist-info → machineconfig-3.3.dist-info}/entry_points.txt +0 -0
- {machineconfig-3.2.dist-info → machineconfig-3.3.dist-info}/top_level.txt +0 -0
|
@@ -204,7 +204,7 @@ class ZellijLayoutGenerator:
|
|
|
204
204
|
elif cmd in proc_cmdline[0] and cmd not in shells:
|
|
205
205
|
# Non-shell command in first argument
|
|
206
206
|
is_match = True
|
|
207
|
-
|
|
207
|
+
|
|
208
208
|
# Additional shell wrapper filter - be more restrictive for shells
|
|
209
209
|
if is_match and proc_name in shells and args:
|
|
210
210
|
# For shell processes, ensure the match is actually meaningful
|
|
@@ -216,7 +216,7 @@ class ZellijLayoutGenerator:
|
|
|
216
216
|
meaningful_match = True
|
|
217
217
|
break
|
|
218
218
|
# Or if it's an exact script name match
|
|
219
|
-
elif arg.endswith(
|
|
219
|
+
elif arg.endswith(".py") or arg.endswith(".sh") or arg.endswith(".rb"):
|
|
220
220
|
if any(arg in cmdline_arg for cmdline_arg in proc_cmdline[1:]):
|
|
221
221
|
meaningful_match = True
|
|
222
222
|
break
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
|
|
2
1
|
from typing import NotRequired, TypedDict, Optional
|
|
3
2
|
from machineconfig.utils.schemas.layouts.layout_types import LayoutConfig
|
|
4
3
|
|
|
@@ -16,11 +15,11 @@ class ProcessInfo(TypedDict):
|
|
|
16
15
|
|
|
17
16
|
|
|
18
17
|
class CommandStatus(TypedDict):
|
|
19
|
-
status: str
|
|
20
|
-
running: bool
|
|
18
|
+
status: str # e.g. running | not_running | unknown | error
|
|
19
|
+
running: bool # Convenience boolean
|
|
21
20
|
processes: list[ProcessInfo] # Matching processes (can be empty)
|
|
22
|
-
command: str
|
|
23
|
-
tab_name: str
|
|
21
|
+
command: str # Original command string ('' if unknown)
|
|
22
|
+
tab_name: str # Tab identifier
|
|
24
23
|
# Optional / contextual fields
|
|
25
24
|
cwd: NotRequired[str]
|
|
26
25
|
error: NotRequired[str]
|
|
@@ -30,12 +29,15 @@ class CommandStatus(TypedDict):
|
|
|
30
29
|
method: NotRequired[str]
|
|
31
30
|
raw_output: NotRequired[str]
|
|
32
31
|
verification_method: NotRequired[str]
|
|
32
|
+
|
|
33
|
+
|
|
33
34
|
class CommandSummary(TypedDict):
|
|
34
35
|
total_commands: int
|
|
35
36
|
running_commands: int
|
|
36
37
|
stopped_commands: int
|
|
37
38
|
session_healthy: bool
|
|
38
39
|
|
|
40
|
+
|
|
39
41
|
class ZellijSessionStatus(TypedDict):
|
|
40
42
|
zellij_running: bool
|
|
41
43
|
session_exists: bool
|
|
@@ -48,20 +50,28 @@ class SessionReport(TypedDict):
|
|
|
48
50
|
session_status: ZellijSessionStatus # ZellijSessionStatus from zellij_local
|
|
49
51
|
commands_status: dict[str, CommandStatus] # dict[str, CommandStatus from zellij_local]
|
|
50
52
|
summary: CommandSummary
|
|
53
|
+
|
|
54
|
+
|
|
51
55
|
class ComprehensiveStatus(TypedDict):
|
|
52
56
|
zellij_session: ZellijSessionStatus
|
|
53
57
|
commands: dict[str, CommandStatus]
|
|
54
58
|
summary: CommandSummary
|
|
59
|
+
|
|
60
|
+
|
|
55
61
|
class SessionMetadata(TypedDict):
|
|
56
62
|
session_name_prefix: str
|
|
57
63
|
created_at: str
|
|
58
64
|
num_managers: int
|
|
59
65
|
sessions: list[str]
|
|
60
66
|
manager_type: str
|
|
67
|
+
|
|
68
|
+
|
|
61
69
|
class ManagerData(TypedDict):
|
|
62
70
|
session_name: Optional[str]
|
|
63
71
|
layout_config: Optional[LayoutConfig] # Will be LayoutConfig from layout_types
|
|
64
72
|
layout_path: Optional[str]
|
|
73
|
+
|
|
74
|
+
|
|
65
75
|
class ActiveSessionInfo(TypedDict):
|
|
66
76
|
session_name: str
|
|
67
77
|
is_active: bool
|
|
@@ -84,11 +94,11 @@ class StartResult(TypedDict):
|
|
|
84
94
|
success: bool
|
|
85
95
|
message: NotRequired[str]
|
|
86
96
|
error: NotRequired[str]
|
|
97
|
+
|
|
98
|
+
|
|
87
99
|
class StatusRow(TypedDict):
|
|
88
100
|
session: str
|
|
89
101
|
tab: str
|
|
90
102
|
running: bool
|
|
91
103
|
command: str
|
|
92
104
|
processes: int
|
|
93
|
-
|
|
94
|
-
|
|
@@ -5,15 +5,16 @@ flagged as virus by 35% of antivirus engines
|
|
|
5
5
|
|
|
6
6
|
import platform
|
|
7
7
|
from typing import Optional
|
|
8
|
+
from machineconfig.utils.schemas.installer.installer_types import InstallerData
|
|
8
9
|
|
|
9
10
|
|
|
10
|
-
config_dict = {
|
|
11
|
-
"
|
|
11
|
+
config_dict: InstallerData = {
|
|
12
|
+
"appName": "ngrok",
|
|
13
|
+
"repoURL": "CUSTOM",
|
|
12
14
|
"doc": "ngrok secure introspectable tunnels to localhost",
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
"exe_name": "ngrok",
|
|
15
|
+
"filenameTemplate": {"amd64": {"windows": "ngrok-stable-windows-amd64.zip", "linux": "ngrok-stable-linux-amd64.zip", "macos": ""}, "arm64": {"windows": "", "linux": "", "macos": ""}},
|
|
16
|
+
"stripVersion": False,
|
|
17
|
+
"exeName": "ngrok",
|
|
17
18
|
}
|
|
18
19
|
|
|
19
20
|
|
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
from typing import Optional
|
|
2
|
+
from machineconfig.utils.schemas.installer.installer_types import InstallerData
|
|
2
3
|
import platform
|
|
3
4
|
|
|
4
|
-
config_dict
|
|
5
|
+
config_dict: InstallerData = {
|
|
6
|
+
"appName": "aider-chat",
|
|
7
|
+
"repoURL": "https://github.com/paul-gauthier/aider",
|
|
8
|
+
"doc": "Aider Chat",
|
|
9
|
+
"filenameTemplate": {"amd64": {"windows": "aider-chat-{}.exe", "linux": "aider-chat-{}.deb", "macos": ""}, "arm64": {"windows": "", "linux": "", "macos": ""}},
|
|
10
|
+
"stripVersion": True,
|
|
11
|
+
"exeName": "aider-chat",
|
|
12
|
+
}
|
|
5
13
|
|
|
6
14
|
|
|
7
15
|
def main(version: Optional[str] = None):
|
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
import platform
|
|
4
4
|
from typing import Optional
|
|
5
|
+
from machineconfig.utils.schemas.installer.installer_types import InstallerData
|
|
5
6
|
|
|
6
7
|
|
|
7
|
-
config_dict = {"
|
|
8
|
+
config_dict: InstallerData = {"appName": "Alacritty", "repoURL": "CUSTOM", "doc": "Terminal Console", "filenameTemplate": {"amd64": {"windows": "", "linux": "", "macos": ""}}, "stripVersion": False, "exeName": "alacritty"}
|
|
8
9
|
|
|
9
10
|
|
|
10
11
|
def main(version: Optional[str]):
|
|
@@ -3,8 +3,17 @@
|
|
|
3
3
|
import platform
|
|
4
4
|
from typing import Optional
|
|
5
5
|
|
|
6
|
+
from machineconfig.utils.schemas.installer.installer_types import InstallerData
|
|
6
7
|
|
|
7
|
-
|
|
8
|
+
|
|
9
|
+
config_dict: InstallerData = {
|
|
10
|
+
"appName": "Brave",
|
|
11
|
+
"repoURL": "CUSTOM",
|
|
12
|
+
"doc": "Privacy-focused web browser with built-in ad blocking",
|
|
13
|
+
"filenameTemplate": {"amd64": {"windows": "", "linux": "", "macos": ""}},
|
|
14
|
+
"stripVersion": False,
|
|
15
|
+
"exeName": "brave",
|
|
16
|
+
}
|
|
8
17
|
|
|
9
18
|
|
|
10
19
|
def main(version: Optional[str]):
|
|
@@ -2,10 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
# from platform import system
|
|
4
4
|
from typing import Optional
|
|
5
|
+
from machineconfig.utils.schemas.installer.installer_types import InstallerData
|
|
5
6
|
from machineconfig.utils.path_reduced import PathExtended as PathExtended
|
|
6
7
|
|
|
7
8
|
|
|
8
|
-
config_dict
|
|
9
|
+
config_dict: InstallerData = {
|
|
10
|
+
"appName": "bypass-paywalls-chrome",
|
|
11
|
+
"repoURL": "https://github.com/iamadamdev/bypass-paywalls-chrome",
|
|
12
|
+
"doc": """Plugin for chrome to bypass paywalls""",
|
|
13
|
+
"filenameTemplate": {"amd64": {"windows": "", "linux": "", "macos": ""}, "arm64": {"windows": "", "linux": "", "macos": ""}},
|
|
14
|
+
"stripVersion": True,
|
|
15
|
+
"exeName": "",
|
|
16
|
+
}
|
|
9
17
|
|
|
10
18
|
|
|
11
19
|
def main(version: Optional[str] = None):
|
|
@@ -2,9 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
from typing import Optional
|
|
4
4
|
import platform
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
config_dict
|
|
5
|
+
from machineconfig.utils.schemas.installer.installer_types import InstallerData
|
|
6
|
+
|
|
7
|
+
config_dict: InstallerData = {
|
|
8
|
+
"appName": "Visual Studio Code",
|
|
9
|
+
"repoURL": "CUSTOM",
|
|
10
|
+
"doc": "Visual Studio Code",
|
|
11
|
+
"filenameTemplate": {"amd64": {"windows": "VSCodeSetup-{}.exe", "linux": "code_{}.deb", "macos": ""}},
|
|
12
|
+
"stripVersion": True,
|
|
13
|
+
"exeName": "code",
|
|
14
|
+
}
|
|
8
15
|
|
|
9
16
|
|
|
10
17
|
def main(version: Optional[str] = None):
|
|
@@ -4,9 +4,10 @@ from pathlib import Path
|
|
|
4
4
|
import platform
|
|
5
5
|
import subprocess
|
|
6
6
|
from typing import Optional
|
|
7
|
+
from machineconfig.utils.schemas.installer.installer_types import InstallerData
|
|
7
8
|
|
|
8
9
|
|
|
9
|
-
config_dict = {"
|
|
10
|
+
config_dict: InstallerData = {"appName": "Cursor", "repoURL": "CUSTOM", "doc": "Cursor", "filenameTemplate": {"amd64": {"windows": "VSCodeSetup-{}.exe", "linux": "code_{}.deb", "macos": ""}}, "stripVersion": True, "exeName": "cursor"}
|
|
10
11
|
|
|
11
12
|
|
|
12
13
|
def install_linux(version: Optional[str] = None):
|
|
@@ -4,6 +4,7 @@ Installer
|
|
|
4
4
|
|
|
5
5
|
# from machineconfig.utils.installer import get_latest_release
|
|
6
6
|
from typing import Optional
|
|
7
|
+
from machineconfig.utils.schemas.installer.installer_types import InstallerData
|
|
7
8
|
|
|
8
9
|
# https://docs.docker.com/desktop/install/ubuntu/
|
|
9
10
|
# https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository
|
|
@@ -14,13 +15,13 @@ from typing import Optional
|
|
|
14
15
|
# fname = r"bytehound-x86_64-unknown-linux-gnu.tgz"
|
|
15
16
|
|
|
16
17
|
|
|
17
|
-
config_dict = {
|
|
18
|
-
"
|
|
18
|
+
config_dict: InstallerData = {
|
|
19
|
+
"appName": "docker_desktop",
|
|
20
|
+
"repoURL": "CUSTOM",
|
|
19
21
|
"doc": """Docker Desktop for Ubuntu as per https://docs.docker.com/desktop/install/ubuntu/""",
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"exe_name": "docker",
|
|
22
|
+
"filenameTemplate": {"amd64": {"windows": "gh_{}_windows_amd64.zip", "linux": "gh_{}_linux_amd64.tar.gz", "macos": ""}, "arm64": {"windows": "", "linux": "", "macos": ""}},
|
|
23
|
+
"stripVersion": True,
|
|
24
|
+
"exeName": "docker",
|
|
24
25
|
}
|
|
25
26
|
|
|
26
27
|
|
|
@@ -5,8 +5,16 @@ https://github.com/espanso/espanso
|
|
|
5
5
|
"""
|
|
6
6
|
|
|
7
7
|
from typing import Optional
|
|
8
|
+
from machineconfig.utils.schemas.installer.installer_types import InstallerData
|
|
8
9
|
|
|
9
|
-
config_dict = {
|
|
10
|
+
config_dict: InstallerData = {
|
|
11
|
+
"appName": "espanso",
|
|
12
|
+
"repoURL": "CUSTOM",
|
|
13
|
+
"doc": "A text expander.",
|
|
14
|
+
"filenameTemplate": {"amd64": {"windows": "Espanso-Win-Installer-x86_64.exe", "linux": "", "macos": "Espanso.dmg"}, "arm64": {"windows": "", "linux": "", "macos": ""}},
|
|
15
|
+
"stripVersion": False,
|
|
16
|
+
"exeName": "espanso",
|
|
17
|
+
}
|
|
10
18
|
|
|
11
19
|
|
|
12
20
|
def main(version: Optional[str]):
|
|
@@ -21,7 +29,7 @@ def main(version: Optional[str]):
|
|
|
21
29
|
_ = version
|
|
22
30
|
import platform
|
|
23
31
|
|
|
24
|
-
config_dict["
|
|
32
|
+
config_dict["repoURL"] = "https://github.com/espanso/espanso"
|
|
25
33
|
if platform.system() == "Windows":
|
|
26
34
|
print("🪟 Installing Espanso on Windows...")
|
|
27
35
|
elif platform.system() in ["Linux", "Darwin"]:
|
|
@@ -36,7 +44,7 @@ def main(version: Optional[str]):
|
|
|
36
44
|
📦 Using Wayland-specific package
|
|
37
45
|
{"=" * 150}
|
|
38
46
|
""")
|
|
39
|
-
config_dict["
|
|
47
|
+
config_dict["filenameTemplate"]["amd64"]["linux"] = "espanso-debian-wayland-amd64.deb"
|
|
40
48
|
else:
|
|
41
49
|
print(f"""
|
|
42
50
|
{"=" * 150}
|
|
@@ -44,10 +52,10 @@ def main(version: Optional[str]):
|
|
|
44
52
|
📦 Using X11-specific package
|
|
45
53
|
{"=" * 150}
|
|
46
54
|
""")
|
|
47
|
-
config_dict["
|
|
55
|
+
config_dict["filenameTemplate"]["amd64"]["linux"] = "espanso-debian-x11-amd64.deb"
|
|
48
56
|
else: # Darwin/macOS
|
|
49
57
|
print("🍎 Installing Espanso on macOS...")
|
|
50
|
-
config_dict["
|
|
58
|
+
config_dict["filenameTemplate"]["amd64"]["macos"] = "Espanso.dmg"
|
|
51
59
|
else:
|
|
52
60
|
error_msg = f"Unsupported platform: {platform.system()}"
|
|
53
61
|
print(f"""
|
|
@@ -5,7 +5,16 @@ https://github.com/ShishirPatil/gorilla
|
|
|
5
5
|
|
|
6
6
|
# import subprocess
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
from machineconfig.utils.schemas.installer.installer_types import InstallerData
|
|
9
|
+
|
|
10
|
+
config_dict: InstallerData = {
|
|
11
|
+
"appName": "Gorilla",
|
|
12
|
+
"repoURL": "https://github.com/ShishirPatil/gorilla",
|
|
13
|
+
"doc": "natural language to API",
|
|
14
|
+
"filenameTemplate": {"amd64": {"windows": "", "linux": "", "macos": ""}},
|
|
15
|
+
"stripVersion": False,
|
|
16
|
+
"exeName": "goex",
|
|
17
|
+
}
|
|
9
18
|
|
|
10
19
|
ve_name = "goex"
|
|
11
20
|
|
|
@@ -4,13 +4,21 @@ from machineconfig.utils.terminal import Terminal
|
|
|
4
4
|
import subprocess
|
|
5
5
|
import platform
|
|
6
6
|
from typing import Optional
|
|
7
|
+
from machineconfig.utils.schemas.installer.installer_types import InstallerData
|
|
7
8
|
|
|
8
9
|
|
|
9
10
|
_ = Terminal, subprocess
|
|
10
11
|
# as per https://www.lunarvim.org/docs/installation
|
|
11
12
|
|
|
12
13
|
|
|
13
|
-
config_dict = {
|
|
14
|
+
config_dict: InstallerData = {
|
|
15
|
+
"appName": "lvim",
|
|
16
|
+
"repoURL": "CUSTOM",
|
|
17
|
+
"doc": "Terminal text editor based on neovim.",
|
|
18
|
+
"filenameTemplate": {"amd64": {"windows": "", "linux": "", "macos": ""}, "arm64": {"windows": "", "linux": "", "macos": ""}},
|
|
19
|
+
"stripVersion": False,
|
|
20
|
+
"exeName": "lvim",
|
|
21
|
+
}
|
|
14
22
|
|
|
15
23
|
|
|
16
24
|
def main(version: Optional[str]):
|
|
@@ -2,9 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
import platform
|
|
4
4
|
from typing import Optional
|
|
5
|
+
from machineconfig.utils.schemas.installer.installer_types import InstallerData
|
|
5
6
|
|
|
6
7
|
|
|
7
|
-
config_dict = {
|
|
8
|
+
config_dict: InstallerData = {
|
|
9
|
+
"appName": "nerdfont",
|
|
10
|
+
"repoURL": "CUSTOM",
|
|
11
|
+
"doc": "lightweight containerization",
|
|
12
|
+
"filenameTemplate": {"amd64": {"windows": "", "linux": "", "macos": ""}, "arm64": {"windows": "", "linux": "", "macos": ""}},
|
|
13
|
+
"stripVersion": False,
|
|
14
|
+
"exeName": "nerdfont",
|
|
15
|
+
}
|
|
8
16
|
|
|
9
17
|
|
|
10
18
|
def main(version: Optional[str]):
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
import platform
|
|
4
4
|
from typing import Optional
|
|
5
|
+
from machineconfig.utils.schemas.installer.installer_types import InstallerData
|
|
5
6
|
|
|
6
|
-
|
|
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"}
|
|
7
|
+
config_dict: InstallerData = {"appName": "Redis", "repoURL": "CUSTOM", "doc": "submillisecond fast key-value db", "filenameTemplate": {"amd64": {"windows": "", "linux": "", "macos": ""}}, "stripVersion": False, "exeName": "redis"}
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
def main(version: Optional[str]):
|
|
@@ -3,8 +3,10 @@
|
|
|
3
3
|
import platform
|
|
4
4
|
from typing import Optional
|
|
5
5
|
|
|
6
|
+
from machineconfig.utils.schemas.installer.installer_types import InstallerData
|
|
6
7
|
|
|
7
|
-
|
|
8
|
+
|
|
9
|
+
config_dict: InstallerData = {"appName": "Wezterm", "repoURL": "CUSTOM", "doc": "Modern, GPU-accelerated terminal emulator", "filenameTemplate": {"amd64": {"windows": "", "linux": "", "macos": ""}}, "stripVersion": False, "exeName": "wezterm"}
|
|
8
10
|
|
|
9
11
|
|
|
10
12
|
def main(version: Optional[str]):
|
|
@@ -3,9 +3,10 @@ import requests
|
|
|
3
3
|
import tempfile
|
|
4
4
|
from pathlib import Path
|
|
5
5
|
from typing import Optional
|
|
6
|
+
from machineconfig.utils.schemas.installer.installer_types import InstallerData
|
|
6
7
|
|
|
7
8
|
|
|
8
|
-
config_dict = {"
|
|
9
|
+
config_dict: InstallerData = {"appName": "winget", "repoURL": "CUSTOM", "doc": "winget installer", "filenameTemplate": {"amd64": {"windows": "", "linux": "", "macos": ""}}, "stripVersion": False, "exeName": "winget"}
|
|
9
10
|
|
|
10
11
|
|
|
11
12
|
def is_winget_available() -> bool:
|
|
@@ -2,9 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
import platform
|
|
4
4
|
from typing import Optional
|
|
5
|
+
from machineconfig.utils.schemas.installer.installer_types import InstallerData
|
|
5
6
|
|
|
6
7
|
|
|
7
|
-
config_dict = {
|
|
8
|
+
config_dict: InstallerData = {
|
|
9
|
+
"appName": "docker",
|
|
10
|
+
"repoURL": "CUSTOM",
|
|
11
|
+
"doc": "lightweight containerization",
|
|
12
|
+
"filenameTemplate": {"amd64": {"windows": "", "linux": "", "macos": ""}, "arm64": {"windows": "", "linux": "", "macos": ""}},
|
|
13
|
+
"stripVersion": False,
|
|
14
|
+
"exeName": "docker",
|
|
15
|
+
}
|
|
8
16
|
|
|
9
17
|
|
|
10
18
|
def main(version: Optional[str]):
|
|
@@ -3,11 +3,13 @@
|
|
|
3
3
|
import platform
|
|
4
4
|
from typing import Optional
|
|
5
5
|
from machineconfig.utils.installer_utils.installer_class import Installer
|
|
6
|
+
from machineconfig.utils.schemas.installer.installer_types import InstallerData
|
|
6
7
|
from machineconfig.utils.terminal import Terminal
|
|
7
8
|
|
|
8
9
|
r"""
|
|
9
10
|
https://github.com/cli/cli
|
|
10
11
|
|
|
12
|
+
|
|
11
13
|
# as per https://docs.github.com/en/copilot/github-copilot-in-the-cli/using-github-copilot-in-the-cli
|
|
12
14
|
# gh auth login
|
|
13
15
|
# gh extension install github/gh-copilot
|
|
@@ -17,7 +19,14 @@ https://github.com/cli/cli
|
|
|
17
19
|
|
|
18
20
|
"""
|
|
19
21
|
|
|
20
|
-
config_dict
|
|
22
|
+
config_dict: InstallerData = {
|
|
23
|
+
"appName": "gh",
|
|
24
|
+
"repoURL": "https://github.com/cli/cli",
|
|
25
|
+
"doc": "GitHub CLI",
|
|
26
|
+
"filenameTemplate": {"amd64": {"windows": "gh_{}_windows_amd64.zip", "linux": "gh_{}_linux_amd64.tar.gz", "macos": "gh_{}_macOS_amd64.tar.gz"}},
|
|
27
|
+
"stripVersion": True,
|
|
28
|
+
"exeName": "gh",
|
|
29
|
+
}
|
|
21
30
|
|
|
22
31
|
|
|
23
32
|
def main(version: Optional[str]):
|
|
@@ -30,7 +39,7 @@ def main(version: Optional[str]):
|
|
|
30
39
|
""")
|
|
31
40
|
|
|
32
41
|
_ = version
|
|
33
|
-
inst = Installer
|
|
42
|
+
inst = Installer(installer_data=config_dict)
|
|
34
43
|
print("""
|
|
35
44
|
📦 INSTALLATION | Installing GitHub CLI base package...
|
|
36
45
|
""")
|
|
@@ -11,15 +11,16 @@ from machineconfig.utils.installer_utils.installer_abc import LINUX_INSTALL_PATH
|
|
|
11
11
|
from machineconfig.utils.installer_utils.installer_class import Installer
|
|
12
12
|
from rich.console import Console
|
|
13
13
|
from rich.panel import Panel
|
|
14
|
+
from machineconfig.utils.schemas.installer.installer_types import InstallerData
|
|
14
15
|
|
|
15
16
|
|
|
16
|
-
config_dict = {
|
|
17
|
-
"
|
|
17
|
+
config_dict: InstallerData = {
|
|
18
|
+
"appName": "hx",
|
|
19
|
+
"repoURL": "CUSTOM",
|
|
18
20
|
"doc": "Helix is a post-modern modal text editor.",
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"exe_name": "hx",
|
|
21
|
+
"filenameTemplate": {"amd64": {"windows": "helix-{}-x86_64-windows.zip", "linux": "helix-{}-x86_64-linux.tar.xz", "macos": ""}, "arm64": {"windows": "", "linux": "", "macos": ""}},
|
|
22
|
+
"stripVersion": False,
|
|
23
|
+
"exeName": "hx",
|
|
23
24
|
}
|
|
24
25
|
|
|
25
26
|
|
|
@@ -29,8 +30,8 @@ def main(version: Optional[str], install_lib: bool = False):
|
|
|
29
30
|
console.print(Panel(f"HELIX EDITOR INSTALLER 🧬\nPlatform: {platform.system()}\nVersion: {'latest' if version is None else version}", title="Installer", expand=False))
|
|
30
31
|
|
|
31
32
|
config_dict_copy = config_dict.copy()
|
|
32
|
-
config_dict_copy["
|
|
33
|
-
inst = Installer
|
|
33
|
+
config_dict_copy["repoURL"] = "https://github.com/helix-editor/helix"
|
|
34
|
+
inst = Installer(installer_data=config_dict_copy)
|
|
34
35
|
|
|
35
36
|
print("\n📥 [Step 1/5] Downloading Helix editor...")
|
|
36
37
|
downloaded, _version_to_be_installed = inst.download(version=version)
|
|
@@ -2,9 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
import platform
|
|
4
4
|
from typing import Optional
|
|
5
|
+
from machineconfig.utils.schemas.installer.installer_types import InstallerData
|
|
5
6
|
|
|
6
7
|
|
|
7
|
-
config_dict = {
|
|
8
|
+
config_dict: InstallerData = {
|
|
9
|
+
"appName": "warp-cli",
|
|
10
|
+
"repoURL": "CUSTOM",
|
|
11
|
+
"doc": "cli for warp from cloudflare",
|
|
12
|
+
"filenameTemplate": {"amd64": {"windows": "", "linux": "", "macos": ""}, "arm64": {"windows": "", "linux": "", "macos": ""}},
|
|
13
|
+
"stripVersion": False,
|
|
14
|
+
"exeName": "warp-cli",
|
|
15
|
+
}
|
|
8
16
|
|
|
9
17
|
|
|
10
18
|
def main(version: Optional[str]):
|