machineconfig 7.51__py3-none-any.whl → 7.53__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.

Files changed (55) hide show
  1. machineconfig/jobs/installer/custom_dev/brave.py +1 -1
  2. machineconfig/jobs/installer/custom_dev/code.py +4 -1
  3. machineconfig/jobs/installer/custom_dev/nerfont_windows_helper.py +0 -9
  4. machineconfig/jobs/installer/custom_dev/sysabc.py +140 -0
  5. machineconfig/jobs/installer/custom_dev/wezterm.py +2 -15
  6. machineconfig/jobs/installer/installer_data.json +689 -9
  7. machineconfig/jobs/installer/linux_scripts/redis.sh +1 -0
  8. machineconfig/jobs/installer/package_groups.py +23 -72
  9. machineconfig/logger.py +0 -1
  10. machineconfig/profile/create_links_export.py +8 -3
  11. machineconfig/profile/mapper.toml +1 -4
  12. machineconfig/scripts/python/croshell.py +20 -43
  13. machineconfig/scripts/python/devops.py +1 -1
  14. machineconfig/scripts/python/env_manager/path_manager_tui.py +1 -1
  15. machineconfig/scripts/python/fire_jobs.py +52 -39
  16. machineconfig/scripts/python/helpers_croshell/crosh.py +1 -1
  17. machineconfig/scripts/python/helpers_devops/cli_config.py +3 -19
  18. machineconfig/scripts/python/helpers_devops/cli_self.py +12 -6
  19. machineconfig/scripts/python/helpers_devops/cli_utils.py +1 -80
  20. machineconfig/scripts/python/helpers_fire_command/file_wrangler.py +0 -17
  21. machineconfig/scripts/python/helpers_msearch/scripts_linux/fzfg +1 -1
  22. machineconfig/scripts/python/helpers_repos/clone.py +0 -1
  23. machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py +1 -1
  24. machineconfig/scripts/python/helpers_repos/count_lines_frontend.py +1 -1
  25. machineconfig/scripts/python/helpers_sessions/sessions_multiprocess.py +2 -2
  26. machineconfig/scripts/python/helpers_utils/path.py +106 -0
  27. machineconfig/scripts/python/interactive.py +9 -15
  28. machineconfig/scripts/python/sessions.py +2 -2
  29. machineconfig/scripts/python/utils.py +7 -3
  30. machineconfig/scripts/windows/mounts/mount_ssh.ps1 +1 -1
  31. machineconfig/settings/yazi/init.lua +45 -24
  32. machineconfig/setup_linux/__init__.py +0 -1
  33. machineconfig/setup_linux/web_shortcuts/interactive.sh +11 -10
  34. machineconfig/setup_mac/__init__.py +2 -3
  35. machineconfig/setup_windows/__init__.py +0 -3
  36. machineconfig/setup_windows/web_shortcuts/interactive.ps1 +11 -10
  37. machineconfig/setup_windows/web_shortcuts/quick_init.ps1 +15 -0
  38. machineconfig/utils/installer.py +11 -27
  39. machineconfig/utils/installer_utils/installer.py +9 -50
  40. machineconfig/utils/installer_utils/installer_abc.py +0 -68
  41. machineconfig/utils/io.py +0 -1
  42. machineconfig/utils/path_helper.py +57 -6
  43. machineconfig/utils/ssh.py +3 -3
  44. {machineconfig-7.51.dist-info → machineconfig-7.53.dist-info}/METADATA +5 -3
  45. {machineconfig-7.51.dist-info → machineconfig-7.53.dist-info}/RECORD +50 -52
  46. machineconfig/jobs/installer/linux_scripts/timescaledb.sh +0 -71
  47. machineconfig/jobs/installer/powershell_scripts/archive_pygraphviz.ps1 +0 -12
  48. machineconfig/setup_linux/apps.sh +0 -66
  49. machineconfig/setup_mac/apps.sh +0 -73
  50. machineconfig/setup_windows/apps.ps1 +0 -62
  51. /machineconfig/{jobs/installer/powershell_scripts → setup_windows/ssh}/openssh-server_add_key.ps1 +0 -0
  52. /machineconfig/{jobs/installer/powershell_scripts → setup_windows/ssh}/openssh-server_copy-ssh-id.ps1 +0 -0
  53. {machineconfig-7.51.dist-info → machineconfig-7.53.dist-info}/WHEEL +0 -0
  54. {machineconfig-7.51.dist-info → machineconfig-7.53.dist-info}/entry_points.txt +0 -0
  55. {machineconfig-7.51.dist-info → machineconfig-7.53.dist-info}/top_level.txt +0 -0
@@ -27,7 +27,7 @@ def main(installer_data: InstallerData, version: Optional[str]) -> None:
27
27
  console.print("🪟 Installing Brave Browser on Windows using winget...", style="bold")
28
28
  program = """
29
29
 
30
- winget install --Name "Brave Browser" --Id Brave.Brave --source winget --accept-package-agreements --accept-source-agreements
30
+ winget install --no-upgrade --name "Brave" --Id "Brave.Brave" --source winget --scope user --accept-package-agreements --accept-source-agreements
31
31
 
32
32
  """
33
33
  elif platform.system() in ["Linux", "Darwin"]:
@@ -32,7 +32,10 @@ def main(installer_data: InstallerData, version: Optional[str] = None) -> None:
32
32
  install_script = """brew install --cask visual-studio-code"""
33
33
  elif platform.system() == "Windows":
34
34
  console.print("🪟 Installing VS Code on Windows using winget...", style="bold")
35
- install_script = """winget install --no-upgrade --name "Microsoft Visual Studio Code" --Id "Microsoft.VisualStudioCode" --source winget --scope user --accept-package-agreements --accept-source-agreements"""
35
+ install_script = """
36
+ winget install --no-upgrade --name "Microsoft Visual Studio Code" --Id "Microsoft.VisualStudioCode" --source winget --scope user --accept-package-agreements --accept-source-agreements
37
+
38
+ """
36
39
  else:
37
40
  error_msg = f"Unsupported platform: {platform.system()}"
38
41
  console.print(
@@ -18,7 +18,6 @@ from machineconfig.utils.installer_utils.installer_class import Installer
18
18
  from machineconfig.utils.schemas.installer.installer_types import InstallerData
19
19
 
20
20
 
21
- # Nerd Fonts installer configuration data
22
21
  nerd_fonts: InstallerData = {
23
22
  "appName": "Cascadia Code Nerd Font",
24
23
  "repoURL": "https://github.com/ryanoasis/nerd-fonts",
@@ -38,14 +37,6 @@ nerd_fonts: InstallerData = {
38
37
  }
39
38
 
40
39
 
41
- # Patterns to match any installed variant (NF, Nerd Font, Mono, Propo, style weights) of Cascadia/Caskaydia
42
- # We'll compile them at runtime for flexibility. Keep them simple to avoid false positives.
43
- # REQUIRED_FONT_PATTERNS: tuple[str, ...] = (
44
- # r"caskaydiacove.*(nf|nerd ?font)",
45
- # r"cascadiacode.*(nf|nerd ?font)"
46
- # )
47
-
48
-
49
40
  console = Console()
50
41
 
51
42
 
@@ -0,0 +1,140 @@
1
+
2
+
3
+ import platform
4
+ from typing import Optional
5
+ from rich import box
6
+ from rich.console import Console
7
+ from rich.panel import Panel
8
+ from machineconfig.utils.schemas.installer.installer_types import InstallerData
9
+
10
+
11
+ ps1 = """
12
+ winget install --no-upgrade --name "Powershell" --Id "Microsoft.PowerShell" --source winget --scope user --accept-package-agreements --accept-source-agreements # powershell require admin
13
+ winget install --no-upgrade --name "Windows Terminal" --Id "Microsoft.WindowsTerminal" --source winget --scope user --accept-package-agreements --accept-source-agreements # Terminal is is installed by default on W 11
14
+ winget install --no-upgrade --name "GNU Nano" --Id "GNU.Nano" --source winget --scope user --accept-package-agreements --accept-source-agreements
15
+ # --GROUP:gui:Brave+VSCode+Git+WezTerm
16
+ # --GROUP:dev2:VSRedistrib+VSBuildTools+Codeblocks+GnuWin32: Make+GnuPG+graphviz+WinFsp+SSHFS-win+xming+Node.js+Rustup+Cloudflare+Cloudflare WARP+Microsoft Garage Mouse without Borders
17
+ # --GROUP:user:nu+Chrome+ChromeRemoteDesktop+Zoom+7zip+Firefox+Thunderbird+StreamlabsOBS+OBSStudio+MiKTeX+TexMaker+notepad+++Lapce+TesseractOCR+perl+DB Browser for SQLite+sql server management studio+Adobe Acrobat Reader DC+julia+Chafa+bottom+onefetch+Just+hyperfine+AWS CLI
18
+ # Install-Module -Name Terminal-Icons -Repository PSGallery -Force -AcceptLicense -PassThru -Confirm # -RequiredVersion 2.5.10
19
+ # Install-Module -Name PSFzf -SkipPublisherCheck # -AcceptLicense -PassThru -Confirm # -RequiredVersion 2.5.10
20
+
21
+ """
22
+
23
+ zsh = """
24
+ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
25
+ echo "🔄 Updating Homebrew..."
26
+ brew update || true
27
+ echo "📥 Installing essential tools..."
28
+ echo "📥 Installing Git version control..."
29
+ echo "📥 Installing Nano text editor..."
30
+ echo "📥 Installing Node Version Manager (NVM)..."
31
+ # Note: git and nano are pre-installed on macOS, but we install via Homebrew to ensure latest versions
32
+ # brew install git || true
33
+ # brew install nano || true
34
+ # brew install curl || true
35
+ # Install NVM
36
+ if [ ! -s "$HOME/.nvm/nvm.sh" ]; then
37
+ echo "📥 Installing NVM (Node Version Manager)..."
38
+ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
39
+ fi
40
+ echo "🔧 Configuring NVM environment..."
41
+ export NVM_DIR="$HOME/.nvm"
42
+ [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
43
+ echo "📥 Installing latest Node.js..."
44
+ nvm install node || true
45
+ # brew install make
46
+ # brew install ffmpeg
47
+ # brew install openssl
48
+ echo "✅ Essential tools installation complete."
49
+ """
50
+
51
+ bash = """
52
+ echo "🔄 Updating apt package lists..."
53
+ echo "📥 Installing nala package manager..."
54
+ echo "📥 Installing essential network tools..."
55
+ echo "📥 Installing Node Version Manager (NVM)..."
56
+ sudo apt update -y || true
57
+ sudo apt install nala -y || true
58
+ sudo nala install curl wget gpg lsb-release apt-transport-https -y || true
59
+ sudo nala install git net-tools htop nano -y || true
60
+ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
61
+ echo "🔧 Configuring NVM environment..."
62
+ export NVM_DIR="$HOME/.nvm"
63
+ [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
64
+ echo "📥 Installing latest Node.js..."
65
+ nvm install node || true
66
+
67
+ # --GROUP:TerminalEyeCandy:fortune,toilet,sl,aafire,cmatrix,hollywood,chafa
68
+ # echo "📥 Installing fortune - random wisdom generator..."
69
+ # echo "📥 Installing toilet - large ASCII text generator..."
70
+ # echo "📥 Installing sl - steam locomotive animation..."
71
+ # echo "📥 Installing aafire - ASCII art fire animation..."
72
+ # echo "📥 Installing cmatrix - Matrix-style terminal animation..."
73
+ # echo "📥 Installing hollywood - Hollywood hacker terminal effect..."
74
+ # echo "📥 Installing chafa - terminal image viewer..."
75
+ # sudo nala install cowsay -y || true
76
+ # sudo nala install lolcat -y || true
77
+ # sudo nala install boxes -y || true
78
+ # sudo nala install figlet -y || true
79
+ # sudo nala install fortune -y || true
80
+ # sudo nala install toilet -y || true
81
+ # sudo nala install chafa -y
82
+ # sudo nala install sl -y || true
83
+ # sudo nala install libaa-bin -y
84
+ # echo 'keyboard-configuration keyboard-configuration/layout select US English' | sudo debconf-set-selections
85
+ # echo 'keyboard-configuration keyboard-configuration/layoutcode string us' | sudo debconf-set-selections
86
+ # sudo DEBIAN_FRONTEND=noninteractive nala install -y cmatrix
87
+ # sudo nala install hollywood -y || true
88
+
89
+ # --GROUP:net: sshfs,samba,fuse3,nfs-common
90
+ echo "📥 Installing sshfs - mount remote filesystems over SSH..."
91
+ echo "📥 Installing Samba - LAN-based file sharing..."
92
+ sudo nala install samba
93
+ sudo nala install fuse3 -y || true
94
+ sudo nala install nfs-common -y || true
95
+
96
+ # --GROUP:dev: graphviz,make,rust,libssl-dev,sqlite3,postgresql-client,redis-tools
97
+ # sudo nala install ffmpeg -y || true # Required by some dev tools
98
+ # sudo nala install make -y || true # Required by LunarVim and SpaceVim
99
+ # (curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh) || true
100
+ # sudo nala install libssl-dev -y
101
+ """
102
+
103
+
104
+ def main(installer_data: InstallerData, version: Optional[str]) -> None:
105
+ console = Console()
106
+ _ = installer_data
107
+ console.print(
108
+ Panel.fit(
109
+ "\n".join([f"💻 Platform: {platform.system()}", f"🔄 Version: {'latest' if version is None else version}"]),
110
+ title="🔧 ABC Installer",
111
+ border_style="blue",
112
+ box=box.ROUNDED,
113
+ )
114
+ )
115
+
116
+ _ = version
117
+ if platform.system() == "Windows":
118
+ console.print("🪟 Installing ABC on Windows using winget...", style="bold")
119
+ program = ps1
120
+ elif platform.system() == "Linux":
121
+ console.print("🐧 Installing ABC on Linux...", style="bold")
122
+ program = bash
123
+ elif platform.system() == "Darwin":
124
+ console.print("🍎 Installing ABC on macOS...", style="bold")
125
+ program = zsh
126
+ else:
127
+ error_msg = f"Unsupported platform: {platform.system()}"
128
+ console.print(
129
+ Panel.fit(
130
+ "\n".join([error_msg]),
131
+ title="❌ Error",
132
+ subtitle="⚠️ Unsupported platform",
133
+ border_style="red",
134
+ box=box.ROUNDED,
135
+ )
136
+ )
137
+ raise NotImplementedError(error_msg)
138
+ from machineconfig.utils.code import print_code, run_shell_script
139
+ print_code(program, lexer="shell", desc="Installation Script Preview")
140
+ run_shell_script(program)
@@ -35,21 +35,8 @@ def main(installer_data: InstallerData, version: Optional[str]):
35
35
 
36
36
  _ = version
37
37
  if platform.system() == "Windows":
38
- error_msg = "WezTerm installation not supported on Windows through this installer"
39
- console.print(
40
- Panel.fit(
41
- "\n".join(
42
- [
43
- f"❌ ERROR | {error_msg}",
44
- "💡 TIP: Please download and install manually from the WezTerm website",
45
- ]
46
- ),
47
- title="Unsupported Platform",
48
- border_style="red",
49
- padding=(1, 2),
50
- )
51
- )
52
- raise NotImplementedError(error_msg)
38
+ program = """winget install --no-upgrade --name "WezTerm" --Id "wez.wezterm" --source winget --accept-package-agreements --accept-source-agreements
39
+ """
53
40
  elif platform.system() in ["Linux", "Darwin"]:
54
41
  system_name = "LINUX" if platform.system() == "Linux" else "MACOS"
55
42
  console.print(