machineconfig 4.94__py3-none-any.whl → 4.97__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/ffile.py +4 -0
- machineconfig/jobs/installer/custom/gh.py +2 -15
- machineconfig/jobs/installer/custom_dev/alacritty.py +41 -26
- machineconfig/jobs/installer/custom_dev/brave.py +42 -28
- machineconfig/jobs/installer/custom_dev/bypass_paywall.py +30 -19
- machineconfig/jobs/installer/custom_dev/code.py +29 -20
- machineconfig/jobs/installer/custom_dev/espanso.py +64 -41
- machineconfig/jobs/installer/custom_dev/goes.py +41 -36
- machineconfig/jobs/installer/custom_dev/lvim.py +49 -33
- machineconfig/jobs/installer/custom_dev/nerdfont.py +71 -47
- machineconfig/jobs/installer/custom_dev/nerfont_windows_helper.py +25 -10
- machineconfig/jobs/installer/custom_dev/redis.py +51 -33
- machineconfig/jobs/installer/installer_data.json +17 -0
- machineconfig/jobs/installer/package_groups.py +271 -102
- machineconfig/jobs/python/python_cargo_build_share.py +0 -1
- machineconfig/jobs/python/python_ve_symlink.py +23 -15
- machineconfig/jobs/python/vscode/api.py +16 -8
- machineconfig/jobs/python/vscode/sync_code.py +42 -27
- machineconfig/scripts/python/cloud_repo_sync.py +8 -4
- machineconfig/scripts/python/devops_devapps_install.py +34 -26
- machineconfig/scripts/python/fire_jobs_args_helper.py +9 -0
- machineconfig/scripts/python/helpers/helpers4.py +2 -68
- machineconfig/scripts/python/helpers/repo_sync_helpers.py +4 -2
- machineconfig/scripts/python/interactive.py +24 -23
- machineconfig/scripts/python/mount_nfs.py +3 -6
- machineconfig/scripts/python/mount_ssh.py +3 -4
- machineconfig/scripts/python/sessions.py +10 -9
- machineconfig/scripts/python/start_slidev.py +14 -4
- machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py +36 -22
- machineconfig/utils/code.py +11 -2
- machineconfig/utils/installer.py +15 -9
- machineconfig/utils/path_extended.py +49 -7
- machineconfig/utils/ssh.py +22 -12
- machineconfig/utils/terminal.py +66 -92
- {machineconfig-4.94.dist-info → machineconfig-4.97.dist-info}/METADATA +1 -1
- {machineconfig-4.94.dist-info → machineconfig-4.97.dist-info}/RECORD +39 -38
- {machineconfig-4.94.dist-info → machineconfig-4.97.dist-info}/WHEEL +0 -0
- {machineconfig-4.94.dist-info → machineconfig-4.97.dist-info}/entry_points.txt +0 -0
- {machineconfig-4.94.dist-info → machineconfig-4.97.dist-info}/top_level.txt +0 -0
|
@@ -1,29 +1,37 @@
|
|
|
1
1
|
"""lvim"""
|
|
2
2
|
|
|
3
|
-
from
|
|
3
|
+
from rich import box
|
|
4
|
+
from rich.console import Console
|
|
5
|
+
from rich.panel import Panel
|
|
4
6
|
import subprocess
|
|
5
7
|
import platform
|
|
6
8
|
from typing import Optional
|
|
7
9
|
from machineconfig.utils.schemas.installer.installer_types import InstallerData
|
|
8
10
|
|
|
9
11
|
|
|
10
|
-
_ = Terminal, subprocess
|
|
11
12
|
# as per https://www.lunarvim.org/docs/installation
|
|
12
13
|
|
|
13
14
|
|
|
14
|
-
def main(installer_data: InstallerData, version: Optional[str]):
|
|
15
|
+
def main(installer_data: InstallerData, version: Optional[str]) -> None:
|
|
16
|
+
console = Console()
|
|
15
17
|
_ = installer_data
|
|
16
|
-
print(
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
18
|
+
console.print(
|
|
19
|
+
Panel.fit(
|
|
20
|
+
"\n".join(
|
|
21
|
+
[
|
|
22
|
+
f"🔄 Version: {'latest' if version is None else version}",
|
|
23
|
+
"📚 Branch: release-1.4/neovim-0.9",
|
|
24
|
+
]
|
|
25
|
+
),
|
|
26
|
+
title="🌙 LunarVim Installer",
|
|
27
|
+
border_style="purple",
|
|
28
|
+
box=box.ROUNDED,
|
|
29
|
+
)
|
|
30
|
+
)
|
|
23
31
|
|
|
24
32
|
_ = version
|
|
25
33
|
if platform.system() == "Windows":
|
|
26
|
-
print("🪟 Installing LunarVim on Windows...")
|
|
34
|
+
console.print("🪟 Installing LunarVim on Windows...", style="bold")
|
|
27
35
|
program = """
|
|
28
36
|
|
|
29
37
|
pwsh -c "`$LV_BRANCH='release-1.4/neovim-0.9'; iwr https://raw.githubusercontent.com/LunarVim/LunarVim/release-1.4/neovim-0.9/utils/installer/install.ps1 -UseBasicParsing | iex"
|
|
@@ -31,7 +39,7 @@ pwsh -c "`$LV_BRANCH='release-1.4/neovim-0.9'; iwr https://raw.githubusercontent
|
|
|
31
39
|
"""
|
|
32
40
|
elif platform.system() in ["Linux", "Darwin"]:
|
|
33
41
|
system_name = "Linux" if platform.system() == "Linux" else "macOS"
|
|
34
|
-
print(f"🐧 Installing LunarVim on {system_name}...")
|
|
42
|
+
console.print(f"🐧 Installing LunarVim on {system_name}...", style="bold")
|
|
35
43
|
program = """
|
|
36
44
|
|
|
37
45
|
LV_BRANCH='release-1.4/neovim-0.9' bash <(curl -s https://raw.githubusercontent.com/LunarVim/LunarVim/release-1.4/neovim-0.9/utils/installer/install.sh)
|
|
@@ -39,33 +47,41 @@ LV_BRANCH='release-1.4/neovim-0.9' bash <(curl -s https://raw.githubusercontent.
|
|
|
39
47
|
"""
|
|
40
48
|
else:
|
|
41
49
|
error_msg = f"Unsupported platform: {platform.system()}"
|
|
42
|
-
print(
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
""
|
|
50
|
+
console.print(
|
|
51
|
+
Panel.fit(
|
|
52
|
+
"\n".join([error_msg]),
|
|
53
|
+
title="❌ Error",
|
|
54
|
+
subtitle="⚠️ Unsupported platform",
|
|
55
|
+
border_style="red",
|
|
56
|
+
box=box.ROUNDED,
|
|
57
|
+
)
|
|
58
|
+
)
|
|
47
59
|
raise NotImplementedError(error_msg)
|
|
48
60
|
|
|
49
|
-
print(
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
61
|
+
console.print(
|
|
62
|
+
Panel.fit(
|
|
63
|
+
"\n".join(
|
|
64
|
+
[
|
|
65
|
+
"📝 IDE-like experience for Neovim",
|
|
66
|
+
"🔌 Built-in plugin management",
|
|
67
|
+
"🛠️ LSP configuration out of the box",
|
|
68
|
+
"🔍 Powerful fuzzy finding",
|
|
69
|
+
"⚙️ Simple and unified configuration",
|
|
70
|
+
"⚠️ Installer will prompt for user input during installation.",
|
|
71
|
+
]
|
|
72
|
+
),
|
|
73
|
+
title="ℹ️ LunarVim Features",
|
|
74
|
+
border_style="magenta",
|
|
75
|
+
box=box.ROUNDED,
|
|
76
|
+
)
|
|
77
|
+
)
|
|
58
78
|
|
|
59
|
-
|
|
60
|
-
""")
|
|
61
|
-
|
|
62
|
-
print("🔄 EXECUTING | Running LunarVim installation...")
|
|
79
|
+
console.print("🔄 EXECUTING | Running LunarVim installation...", style="bold yellow")
|
|
63
80
|
try:
|
|
64
|
-
# Run with shell=True and allow interaction for user input
|
|
65
81
|
subprocess.run(program, shell=True, check=True)
|
|
66
|
-
print("✅ LunarVim installation completed successfully")
|
|
82
|
+
console.print("✅ LunarVim installation completed successfully", style="bold green")
|
|
67
83
|
except subprocess.CalledProcessError as e:
|
|
68
|
-
print(f"❌ Installation failed with exit code {e.returncode}")
|
|
84
|
+
console.print(f"❌ Installation failed with exit code {e.returncode}", style="bold red")
|
|
69
85
|
raise
|
|
70
86
|
|
|
71
87
|
|
|
@@ -3,83 +3,107 @@
|
|
|
3
3
|
import platform
|
|
4
4
|
import subprocess
|
|
5
5
|
from typing import Optional
|
|
6
|
+
from rich import box
|
|
7
|
+
from rich.console import Console
|
|
8
|
+
from rich.panel import Panel
|
|
6
9
|
from machineconfig.utils.schemas.installer.installer_types import InstallerData
|
|
7
10
|
|
|
8
11
|
|
|
9
12
|
def main(installer_data: InstallerData, version: Optional[str]) -> None:
|
|
10
13
|
"""Main entry point for Nerd Fonts installation.
|
|
11
|
-
|
|
14
|
+
|
|
12
15
|
Args:
|
|
13
16
|
installer_data: Installation configuration data
|
|
14
17
|
version: Specific version to install (None for latest)
|
|
15
18
|
"""
|
|
19
|
+
console = Console()
|
|
16
20
|
_ = installer_data
|
|
17
|
-
print(
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
console.print(
|
|
22
|
+
Panel.fit(
|
|
23
|
+
"\n".join([f"💻 Platform: {platform.system()}", f"🔄 Version: {'latest' if version is None else version}"]),
|
|
24
|
+
title="🔤 Nerd Fonts Installer",
|
|
25
|
+
border_style="blue",
|
|
26
|
+
box=box.ROUNDED,
|
|
27
|
+
)
|
|
28
|
+
)
|
|
24
29
|
|
|
25
30
|
_ = version
|
|
26
31
|
current_platform = platform.system()
|
|
27
|
-
|
|
32
|
+
|
|
28
33
|
if current_platform == "Windows":
|
|
29
|
-
print("🪟 Installing Nerd Fonts on Windows...")
|
|
34
|
+
console.print("🪟 Installing Nerd Fonts on Windows...", style="bold")
|
|
30
35
|
from machineconfig.jobs.installer.custom_dev.nerfont_windows_helper import install_nerd_fonts
|
|
31
|
-
|
|
36
|
+
|
|
32
37
|
try:
|
|
33
38
|
install_nerd_fonts()
|
|
34
|
-
print(
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
console.print(
|
|
40
|
+
Panel.fit(
|
|
41
|
+
"\n".join(["💡 Restart terminal applications to see the new fonts."]),
|
|
42
|
+
title="✅ Nerd Fonts Installed",
|
|
43
|
+
border_style="green",
|
|
44
|
+
box=box.ROUNDED,
|
|
45
|
+
)
|
|
46
|
+
)
|
|
47
|
+
except Exception as e: # noqa: BLE001
|
|
41
48
|
error_msg = f"Windows Nerd Fonts installation failed: {e}"
|
|
42
|
-
print(
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
""
|
|
49
|
+
console.print(
|
|
50
|
+
Panel.fit(
|
|
51
|
+
"\n".join(
|
|
52
|
+
[
|
|
53
|
+
error_msg,
|
|
54
|
+
"💡 Try running as administrator or install manually from https://www.nerdfonts.com",
|
|
55
|
+
]
|
|
56
|
+
),
|
|
57
|
+
title="❌ Error",
|
|
58
|
+
subtitle="⚠️ Installation issue",
|
|
59
|
+
border_style="red",
|
|
60
|
+
box=box.ROUNDED,
|
|
61
|
+
)
|
|
62
|
+
)
|
|
48
63
|
raise RuntimeError(error_msg) from e
|
|
49
|
-
|
|
64
|
+
|
|
50
65
|
elif current_platform in ["Linux", "Darwin"]:
|
|
51
|
-
print(f"🐧 Installing Nerd Fonts on {current_platform} using installation script...")
|
|
66
|
+
console.print(f"🐧 Installing Nerd Fonts on {current_platform} using installation script...", style="bold")
|
|
52
67
|
import machineconfig.jobs.installer as module
|
|
53
68
|
from pathlib import Path
|
|
54
69
|
|
|
55
70
|
program = Path(module.__file__).parent.joinpath("linux_scripts/nerdfont.sh").read_text(encoding="utf-8")
|
|
56
|
-
|
|
57
|
-
print(
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
71
|
+
|
|
72
|
+
console.print(
|
|
73
|
+
Panel.fit(
|
|
74
|
+
"\n".join(
|
|
75
|
+
[
|
|
76
|
+
"🎨 Programming fonts patched with icons",
|
|
77
|
+
"🔣 Includes icons from popular sets (FontAwesome, Devicons, etc.)",
|
|
78
|
+
"🖥️ Perfect for terminals and coding environments",
|
|
79
|
+
"🧰 Works with many terminal applications and editors",
|
|
80
|
+
]
|
|
81
|
+
),
|
|
82
|
+
title="ℹ️ Nerd Fonts Features",
|
|
83
|
+
border_style="magenta",
|
|
84
|
+
box=box.ROUNDED,
|
|
85
|
+
)
|
|
86
|
+
)
|
|
87
|
+
|
|
88
|
+
console.print("🔄 EXECUTING | Running Nerd Fonts installation...", style="bold yellow")
|
|
68
89
|
try:
|
|
69
90
|
subprocess.run(program, shell=True, text=True, check=True)
|
|
70
|
-
print("✅ Nerd Fonts installation completed successfully")
|
|
91
|
+
console.print("✅ Nerd Fonts installation completed successfully", style="bold green")
|
|
71
92
|
except subprocess.CalledProcessError as e:
|
|
72
|
-
print(f"❌ Installation failed with exit code {e.returncode}")
|
|
93
|
+
console.print(f"❌ Installation failed with exit code {e.returncode}", style="bold red")
|
|
73
94
|
raise
|
|
74
|
-
|
|
95
|
+
|
|
75
96
|
else:
|
|
76
97
|
error_msg = f"Unsupported platform: {current_platform}"
|
|
77
|
-
print(
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
""
|
|
98
|
+
console.print(
|
|
99
|
+
Panel.fit(
|
|
100
|
+
"\n".join([error_msg, "💡 Supported platforms are Windows, Linux, and macOS (Darwin)"]),
|
|
101
|
+
title="❌ Error",
|
|
102
|
+
subtitle="⚠️ Unsupported platform",
|
|
103
|
+
border_style="red",
|
|
104
|
+
box=box.ROUNDED,
|
|
105
|
+
)
|
|
106
|
+
)
|
|
83
107
|
raise NotImplementedError(error_msg)
|
|
84
108
|
|
|
85
109
|
|
|
@@ -8,6 +8,10 @@ using PowerShell scripts and font enumeration.
|
|
|
8
8
|
import subprocess
|
|
9
9
|
from typing import Iterable
|
|
10
10
|
|
|
11
|
+
from rich import box
|
|
12
|
+
from rich.console import Console
|
|
13
|
+
from rich.panel import Panel
|
|
14
|
+
|
|
11
15
|
from machineconfig.utils.path_extended import PathExtended
|
|
12
16
|
from machineconfig.utils.source_of_truth import LIBRARY_ROOT
|
|
13
17
|
from machineconfig.utils.installer_utils.installer_class import Installer
|
|
@@ -42,6 +46,13 @@ REQUIRED_FONT_PATTERNS: tuple[str, ...] = (
|
|
|
42
46
|
)
|
|
43
47
|
|
|
44
48
|
|
|
49
|
+
console = Console()
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
def render_banner(message: str, title: str, border_style: str, box_style: box.Box) -> None:
|
|
53
|
+
console.print(Panel.fit(message, title=title, border_style=border_style, box=box_style, padding=(1, 4)))
|
|
54
|
+
|
|
55
|
+
|
|
45
56
|
def _list_installed_fonts() -> list[str]:
|
|
46
57
|
"""Return list of installed font file base names (without extension) on Windows.
|
|
47
58
|
|
|
@@ -64,7 +75,7 @@ def _list_installed_fonts() -> list[str]:
|
|
|
64
75
|
fonts = [x.strip().replace("_", "") for x in res.stdout.splitlines() if x.strip() != ""]
|
|
65
76
|
return fonts
|
|
66
77
|
except Exception as exc: # noqa: BLE001
|
|
67
|
-
print(f"⚠️ Could not enumerate installed fonts (continuing with install). Reason: {exc}")
|
|
78
|
+
console.print(f"⚠️ Could not enumerate installed fonts (continuing with install). Reason: {exc}")
|
|
68
79
|
return []
|
|
69
80
|
|
|
70
81
|
|
|
@@ -100,26 +111,28 @@ def install_nerd_fonts() -> None:
|
|
|
100
111
|
Raises:
|
|
101
112
|
subprocess.CalledProcessError: If PowerShell installation fails
|
|
102
113
|
"""
|
|
103
|
-
print(
|
|
114
|
+
console.print()
|
|
115
|
+
render_banner("📦 INSTALLING NERD FONTS 📦", "Nerd Fonts Installer", "magenta", box.DOUBLE)
|
|
116
|
+
console.print()
|
|
104
117
|
|
|
105
118
|
installed = _list_installed_fonts()
|
|
106
119
|
missing = _missing_required_fonts(installed)
|
|
107
120
|
|
|
108
121
|
if len(missing) == 0:
|
|
109
|
-
print("✅ Required Nerd Fonts already installed. Skipping download & install.")
|
|
122
|
+
console.print("✅ Required Nerd Fonts already installed. Skipping download & install.")
|
|
110
123
|
return
|
|
111
124
|
|
|
112
|
-
print(f"🔍 Missing fonts detected: {', '.join(missing)}. Proceeding with installation...")
|
|
113
|
-
print("🔍 Downloading Nerd Fonts package...")
|
|
125
|
+
console.print(f"🔍 Missing fonts detected: {', '.join(missing)}. Proceeding with installation...")
|
|
126
|
+
console.print("🔍 Downloading Nerd Fonts package...")
|
|
114
127
|
|
|
115
128
|
folder, _version_to_be_installed = Installer(installer_data=nerd_fonts).download(version=None)
|
|
116
129
|
|
|
117
|
-
print("🧹 Cleaning up unnecessary files...")
|
|
130
|
+
console.print("🧹 Cleaning up unnecessary files...")
|
|
118
131
|
[p.delete(sure=True) for p in folder.search("*Windows*")]
|
|
119
132
|
[p.delete(sure=True) for p in folder.search("*readme*")]
|
|
120
133
|
[p.delete(sure=True) for p in folder.search("*LICENSE*")]
|
|
121
134
|
|
|
122
|
-
print("⚙️ Installing fonts via PowerShell...")
|
|
135
|
+
console.print("⚙️ Installing fonts via PowerShell...")
|
|
123
136
|
file = PathExtended.tmpfile(suffix=".ps1")
|
|
124
137
|
file.parent.mkdir(parents=True, exist_ok=True)
|
|
125
138
|
|
|
@@ -131,13 +144,15 @@ def install_nerd_fonts() -> None:
|
|
|
131
144
|
try:
|
|
132
145
|
subprocess.run(rf"powershell.exe -executionpolicy Bypass -nologo -noninteractive -File {str(file)}", check=True)
|
|
133
146
|
except subprocess.CalledProcessError as cpe:
|
|
134
|
-
print(f"💥 Font installation script failed: {cpe}")
|
|
147
|
+
console.print(f"💥 Font installation script failed: {cpe}")
|
|
135
148
|
raise
|
|
136
149
|
finally:
|
|
137
|
-
print("🗑️ Cleaning up temporary files...")
|
|
150
|
+
console.print("🗑️ Cleaning up temporary files...")
|
|
138
151
|
if folder.exists():
|
|
139
152
|
folder.delete(sure=True)
|
|
140
153
|
if file.exists():
|
|
141
154
|
file.delete(sure=True)
|
|
142
155
|
|
|
143
|
-
print(
|
|
156
|
+
console.print()
|
|
157
|
+
render_banner("✅ Nerd Fonts installation complete! ✅", "Nerd Fonts Installer", "green", box.DOUBLE)
|
|
158
|
+
console.print()
|
|
@@ -3,34 +3,42 @@
|
|
|
3
3
|
import platform
|
|
4
4
|
import subprocess
|
|
5
5
|
from typing import Optional
|
|
6
|
+
from rich import box
|
|
7
|
+
from rich.console import Console
|
|
8
|
+
from rich.panel import Panel
|
|
6
9
|
from machineconfig.utils.schemas.installer.installer_types import InstallerData
|
|
7
10
|
|
|
8
11
|
# config_dict: InstallerData = {"appName": "Redis", "repoURL": "CMD", "doc": "submillisecond fast key-value db"}
|
|
9
12
|
|
|
10
13
|
|
|
11
|
-
def main(installer_data: InstallerData, version: Optional[str]):
|
|
14
|
+
def main(installer_data: InstallerData, version: Optional[str]) -> None:
|
|
15
|
+
console = Console()
|
|
12
16
|
_ = installer_data
|
|
13
|
-
print(
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
console.print(
|
|
18
|
+
Panel.fit(
|
|
19
|
+
"\n".join([f"💻 Platform: {platform.system()}", f"🔄 Version: {'latest' if version is None else version}"]),
|
|
20
|
+
title="🗃️ Redis Installer",
|
|
21
|
+
border_style="red",
|
|
22
|
+
box=box.ROUNDED,
|
|
23
|
+
)
|
|
24
|
+
)
|
|
20
25
|
|
|
21
26
|
_ = version
|
|
22
27
|
if platform.system() == "Windows":
|
|
23
28
|
error_msg = "Redis installation not supported on Windows through this installer"
|
|
24
|
-
print(
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
""
|
|
29
|
+
console.print(
|
|
30
|
+
Panel.fit(
|
|
31
|
+
"\n".join([error_msg, "💡 Consider using WSL2 or Docker to run Redis on Windows"]),
|
|
32
|
+
title="❌ Error",
|
|
33
|
+
subtitle="⚠️ Unsupported platform",
|
|
34
|
+
border_style="red",
|
|
35
|
+
box=box.ROUNDED,
|
|
36
|
+
)
|
|
37
|
+
)
|
|
30
38
|
raise NotImplementedError(error_msg)
|
|
31
39
|
elif platform.system() in ["Linux", "Darwin"]:
|
|
32
40
|
system_name = "Linux" if platform.system() == "Linux" else "macOS"
|
|
33
|
-
print(f"🐧 Installing Redis on {system_name} using installation script...")
|
|
41
|
+
console.print(f"🐧 Installing Redis on {system_name} using installation script...", style="bold")
|
|
34
42
|
import machineconfig.jobs.installer as module
|
|
35
43
|
from pathlib import Path
|
|
36
44
|
if platform.system() == "Linux":
|
|
@@ -39,30 +47,40 @@ def main(installer_data: InstallerData, version: Optional[str]):
|
|
|
39
47
|
program = "brew install redis"
|
|
40
48
|
else:
|
|
41
49
|
error_msg = f"Unsupported platform: {platform.system()}"
|
|
42
|
-
print(
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
""
|
|
50
|
+
console.print(
|
|
51
|
+
Panel.fit(
|
|
52
|
+
"\n".join([error_msg]),
|
|
53
|
+
title="❌ Error",
|
|
54
|
+
subtitle="⚠️ Unsupported platform",
|
|
55
|
+
border_style="red",
|
|
56
|
+
box=box.ROUNDED,
|
|
57
|
+
)
|
|
58
|
+
)
|
|
47
59
|
raise NotImplementedError(error_msg)
|
|
48
60
|
|
|
49
|
-
print(
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
61
|
+
console.print(
|
|
62
|
+
Panel.fit(
|
|
63
|
+
"\n".join(
|
|
64
|
+
[
|
|
65
|
+
"⚡ In-memory data structure store",
|
|
66
|
+
"🔑 Key-value database with optional persistence",
|
|
67
|
+
"🚀 Sub-millisecond response times",
|
|
68
|
+
"💾 Supports strings, lists, sets, sorted sets, hashes",
|
|
69
|
+
"🔄 Built-in replication and Lua scripting",
|
|
70
|
+
]
|
|
71
|
+
),
|
|
72
|
+
title="ℹ️ Redis Features",
|
|
73
|
+
border_style="magenta",
|
|
74
|
+
box=box.ROUNDED,
|
|
75
|
+
)
|
|
76
|
+
)
|
|
59
77
|
|
|
60
|
-
print("🔄 EXECUTING | Running Redis installation...")
|
|
78
|
+
console.print("🔄 EXECUTING | Running Redis installation...", style="bold yellow")
|
|
61
79
|
try:
|
|
62
80
|
subprocess.run(program, shell=True, text=True, check=True)
|
|
63
|
-
print("✅ Redis installation completed successfully")
|
|
81
|
+
console.print("✅ Redis installation completed successfully", style="bold green")
|
|
64
82
|
except subprocess.CalledProcessError as e:
|
|
65
|
-
print(f"❌ Installation failed with exit code {e.returncode}")
|
|
83
|
+
console.print(f"❌ Installation failed with exit code {e.returncode}", style="bold red")
|
|
66
84
|
raise
|
|
67
85
|
|
|
68
86
|
|
|
@@ -2110,6 +2110,23 @@
|
|
|
2110
2110
|
}
|
|
2111
2111
|
}
|
|
2112
2112
|
},
|
|
2113
|
+
{
|
|
2114
|
+
"appName": "auggie",
|
|
2115
|
+
"repoURL": "CMD",
|
|
2116
|
+
"doc": "Terminal-based CLI agents and tools for productivity and coding.",
|
|
2117
|
+
"fileNamePattern": {
|
|
2118
|
+
"amd64": {
|
|
2119
|
+
"linux": "npm install -g @augmentcode/auggie",
|
|
2120
|
+
"windows": "npm install -g @augmentcode/auggie",
|
|
2121
|
+
"macos": "npm install -g @augmentcode/auggie"
|
|
2122
|
+
},
|
|
2123
|
+
"arm64": {
|
|
2124
|
+
"linux": "npm install -g @augmentcode/auggie",
|
|
2125
|
+
"windows": "npm install -g @augmentcode/auggie",
|
|
2126
|
+
"macos": "npm install -g @augmentcode/auggie"
|
|
2127
|
+
}
|
|
2128
|
+
}
|
|
2129
|
+
},
|
|
2113
2130
|
{
|
|
2114
2131
|
"appName": "warp",
|
|
2115
2132
|
"repoURL": "CMD",
|