machineconfig 7.79__py3-none-any.whl → 7.83__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 (52) hide show
  1. machineconfig/jobs/installer/custom/yazi.py +120 -0
  2. machineconfig/jobs/installer/custom_dev/nerdfont.py +1 -1
  3. machineconfig/jobs/installer/custom_dev/nerfont_windows_helper.py +26 -12
  4. machineconfig/jobs/installer/custom_dev/sysabc.py +0 -5
  5. machineconfig/jobs/installer/installer_data.json +162 -94
  6. machineconfig/jobs/installer/powershell_scripts/install_fonts.ps1 +129 -34
  7. machineconfig/profile/create_helper.py +0 -12
  8. machineconfig/profile/mapper.toml +2 -2
  9. machineconfig/scripts/python/ai/solutions/copilot/instructions/python/dev.instructions.md +1 -0
  10. machineconfig/scripts/python/croshell.py +4 -4
  11. machineconfig/scripts/python/env_manager/env_manager_tui.py +204 -0
  12. machineconfig/scripts/python/env_manager/path_manager_tui.py +1 -1
  13. machineconfig/scripts/python/helpers_devops/cli_config.py +10 -0
  14. machineconfig/scripts/python/helpers_devops/cli_nw.py +15 -16
  15. machineconfig/scripts/python/helpers_devops/cli_self.py +4 -4
  16. machineconfig/scripts/python/helpers_devops/cli_terminal.py +2 -5
  17. machineconfig/scripts/python/helpers_msearch/scripts_linux/fzfg +2 -2
  18. machineconfig/scripts/python/helpers_msearch/scripts_windows/fzfg.ps1 +58 -1
  19. machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py +1 -1
  20. machineconfig/scripts/python/helpers_repos/count_lines.py +40 -11
  21. machineconfig/scripts/python/helpers_repos/count_lines_frontend.py +1 -1
  22. machineconfig/scripts/python/helpers_utils/path.py +7 -4
  23. machineconfig/scripts/python/msearch.py +37 -7
  24. machineconfig/scripts/python/utils.py +3 -3
  25. machineconfig/scripts/windows/mounts/mount_ssh.ps1 +1 -1
  26. machineconfig/settings/yazi/init.lua +4 -0
  27. machineconfig/settings/yazi/keymap_linux.toml +11 -4
  28. machineconfig/settings/yazi/theme.toml +4 -0
  29. machineconfig/settings/yazi/yazi_linux.toml +84 -0
  30. machineconfig/settings/yazi/yazi_windows.toml +58 -0
  31. machineconfig/setup_linux/web_shortcuts/interactive.sh +10 -10
  32. machineconfig/setup_windows/web_shortcuts/interactive.ps1 +10 -10
  33. machineconfig/utils/installer_utils/github_release_bulk.py +104 -62
  34. machineconfig/utils/installer_utils/install_from_url.py +122 -102
  35. machineconfig/utils/installer_utils/installer_class.py +15 -72
  36. machineconfig/utils/installer_utils/installer_cli.py +29 -44
  37. machineconfig/utils/installer_utils/installer_helper.py +100 -0
  38. machineconfig/utils/installer_utils/installer_runner.py +5 -8
  39. machineconfig/utils/ssh_utils/abc.py +2 -2
  40. machineconfig/utils/ssh_utils/wsl.py +44 -2
  41. {machineconfig-7.79.dist-info → machineconfig-7.83.dist-info}/METADATA +2 -2
  42. {machineconfig-7.79.dist-info → machineconfig-7.83.dist-info}/RECORD +45 -47
  43. machineconfig/scripts/python/helpers_msearch/scripts_linux/fzfag +0 -17
  44. machineconfig/scripts/python/helpers_msearch/scripts_linux/fzfrga +0 -21
  45. machineconfig/scripts/python/helpers_msearch/scripts_linux/skrg +0 -4
  46. machineconfig/scripts/python/helpers_msearch/scripts_windows/fzfb.ps1 +0 -3
  47. machineconfig/scripts/python/helpers_msearch/scripts_windows/fzfrga.bat +0 -20
  48. machineconfig/settings/yazi/yazi.toml +0 -17
  49. machineconfig/setup_linux/others/cli_installation.sh +0 -137
  50. {machineconfig-7.79.dist-info → machineconfig-7.83.dist-info}/WHEEL +0 -0
  51. {machineconfig-7.79.dist-info → machineconfig-7.83.dist-info}/entry_points.txt +0 -0
  52. {machineconfig-7.79.dist-info → machineconfig-7.83.dist-info}/top_level.txt +0 -0
@@ -1,9 +1,23 @@
1
- """Devops Devapps Install"""
1
+ """Devops Devapps Install
2
2
 
3
+
4
+ sudo apt update && sudo apt install -y \
5
+ git gcc g++ clang \
6
+ yasm nasm pkg-config \
7
+ meson ninja-build \
8
+ autoconf automake libtool \
9
+ libx11-dev libxext-dev libxrandr-dev libxrender-dev libxss-dev \
10
+ libvdpau-dev libgl1-mesa-dev libegl1-mesa-dev libxv-dev \
11
+ libasound2-dev libpulse-dev \
12
+ libfribidi-dev libfreetype-dev libfontconfig1-dev libharfbuzz-dev \
13
+ libjpeg-dev libssl-dev zlib1g-dev python3-pip
14
+
15
+
16
+ """
17
+
18
+ from machineconfig.utils.installer_utils.installer_helper import get_group_name_to_repr
3
19
  import typer
4
20
  from typing import Annotated, Optional
5
- from machineconfig.jobs.installer.package_groups import PACKAGE_GROUP2NAMES
6
- from machineconfig.utils.installer_utils.installer_class import Installer
7
21
 
8
22
 
9
23
 
@@ -27,6 +41,7 @@ def main_installer_cli(
27
41
  console = Console()
28
42
 
29
43
  typer.echo("❌ You must provide a group name when using the --group/-g option.")
44
+ from machineconfig.utils.installer_utils.installer_helper import get_group_name_to_repr
30
45
  res = get_group_name_to_repr()
31
46
  console.print("[bold blue]Here are the available groups:[/bold blue]")
32
47
  table = Table(show_header=True, header_style="bold magenta")
@@ -51,13 +66,7 @@ def main_installer_cli(
51
66
  raise typer.Exit(1)
52
67
 
53
68
 
54
- def get_group_name_to_repr() -> dict[str, str]:
55
- # Build category options and maintain a mapping from display text to actual category name
56
- category_display_to_name: dict[str, str] = {}
57
- for group_name, group_values in PACKAGE_GROUP2NAMES.items():
58
- display = f"📦 {group_name:<20}" + " -- " + f"{'|'.join(group_values):<60}"
59
- category_display_to_name[display] = group_name
60
- return category_display_to_name
69
+
61
70
 
62
71
 
63
72
  def install_interactively():
@@ -97,6 +106,7 @@ def install_group(package_group: str):
97
106
  from rich.console import Console
98
107
  from rich.panel import Panel
99
108
  # from rich.table import Table
109
+ from machineconfig.jobs.installer.package_groups import PACKAGE_GROUP2NAMES
100
110
  if package_group in PACKAGE_GROUP2NAMES:
101
111
  panel = Panel(f"[bold yellow]Installing programs from category: [green]{package_group}[/green][/bold yellow]", title="[bold blue]📦 Category Installation[/bold blue]", border_style="blue", padding=(1, 2))
102
112
  console = Console()
@@ -106,59 +116,34 @@ def install_group(package_group: str):
106
116
  return
107
117
  console = Console()
108
118
  console.print(f"❌ ERROR: Unknown package group: {package_group}. Available groups are: {list(PACKAGE_GROUP2NAMES.keys())}")
109
- def _handle_installer_not_found(search_term: str, all_names: list[str]) -> None: # type: ignore
110
- """Handle installer not found with friendly suggestions using fuzzy matching."""
111
- from difflib import get_close_matches
112
- from rich.console import Console
113
- from rich.panel import Panel
114
- from rich.table import Table
115
- close_matches = get_close_matches(search_term, all_names, n=5, cutoff=0.4)
116
- console = Console()
117
-
118
- console.print(f"\n❌ '[red]{search_term}[/red]' was not found.", style="bold")
119
- if close_matches:
120
- console.print("🤔 Did you mean one of these?", style="yellow")
121
- table = Table(show_header=False, box=None, pad_edge=False)
122
- for i, match in enumerate(close_matches, 1):
123
- table.add_row(f"[cyan]{i}.[/cyan]", f"[green]{match}[/green]")
124
- console.print(table)
125
- else:
126
- console.print("📋 Here are some available options:", style="blue")
127
- # Show first 10 installers as examples
128
- if len(all_names) > 10:
129
- sample_names = all_names[:10]
130
- else:
131
- sample_names = all_names
132
- table = Table(show_header=False, box=None, pad_edge=False)
133
- for i, name in enumerate(sample_names, 1):
134
- table.add_row(f"[cyan]{i}.[/cyan]", f"[green]{name}[/green]")
135
- console.print(table)
136
- if len(all_names) > 10:
137
- console.print(f" [dim]... and {len(all_names) - 10} more[/dim]")
138
119
 
139
- panel = Panel(f"[bold blue]💡 Use 'ia' to interactively browse all available installers.[/bold blue]\n[bold blue]💡 Use one of the categories: {list(PACKAGE_GROUP2NAMES.keys())}[/bold blue]", title="[yellow]Helpful Tips[/yellow]", border_style="yellow")
140
- console.print(panel)
141
120
 
142
121
  def install_clis(clis_names: list[str]):
143
122
  from machineconfig.utils.schemas.installer.installer_types import get_normalized_arch, get_os_name
144
123
  from machineconfig.utils.installer_utils.installer_runner import get_installers
145
124
  from machineconfig.utils.installer_utils.installer_class import Installer
146
125
  from rich.console import Console
147
- all_installers = get_installers(os=get_os_name(), arch=get_normalized_arch(), which_cats=None)
126
+ all_installers_data = get_installers(os=get_os_name(), arch=get_normalized_arch(), which_cats=None)
148
127
  total_messages: list[str] = []
149
128
  for a_cli_name in clis_names:
150
129
  if "github.com" in a_cli_name.lower():
151
130
  from machineconfig.utils.installer_utils.install_from_url import install_from_github_url
152
131
  install_from_github_url(github_url=a_cli_name)
153
132
  continue
133
+ elif a_cli_name.startswith("https://") or a_cli_name.startswith("http://"):
134
+ print(f"⏳ Installing from binary URL: {a_cli_name} ...")
135
+ from machineconfig.utils.installer_utils.install_from_url import install_from_binary_url
136
+ install_from_binary_url(a_cli_name)
137
+ continue
154
138
  selected_installer = None
155
- for installer in all_installers:
139
+ for installer in all_installers_data:
156
140
  app_name = installer["appName"]
157
141
  if app_name.lower() == a_cli_name.lower():
158
142
  selected_installer = installer
159
143
  break
160
144
  if selected_installer is None:
161
- _handle_installer_not_found(a_cli_name, all_names=[inst["appName"] for inst in all_installers])
145
+ from machineconfig.utils.installer_utils.installer_helper import handle_installer_not_found
146
+ handle_installer_not_found(a_cli_name, all_installers_data)
162
147
  return None
163
148
  message = Installer(selected_installer).install_robust(version=None) # finish the task
164
149
  total_messages.append(message)
@@ -0,0 +1,100 @@
1
+ from machineconfig.jobs.installer.package_groups import PACKAGE_GROUP2NAMES
2
+ from machineconfig.utils.schemas.installer.installer_types import InstallerData
3
+ from pathlib import Path
4
+
5
+
6
+ def get_group_name_to_repr() -> dict[str, str]:
7
+ # Build category options and maintain a mapping from display text to actual category name
8
+ category_display_to_name: dict[str, str] = {}
9
+ for group_name, group_values in PACKAGE_GROUP2NAMES.items():
10
+ display = f"📦 {group_name:<20}" + " -- " + f"{'|'.join(group_values):<60}"
11
+ category_display_to_name[display] = group_name
12
+ return category_display_to_name
13
+
14
+
15
+ def handle_installer_not_found(search_term: str, app_apps: list[InstallerData]) -> None: # type: ignore
16
+ """Handle installer not found with friendly suggestions using fuzzy matching."""
17
+ from difflib import get_close_matches
18
+ from rich.console import Console
19
+ from rich.panel import Panel
20
+ from rich.table import Table
21
+ all_names = sorted([inst["appName"] for inst in app_apps])
22
+ name_to_doc = {inst["appName"]: inst["doc"] for inst in app_apps}
23
+ all_descriptions = {f"{inst['appName']}: {inst['doc']}": inst["appName"] for inst in app_apps}
24
+
25
+ close_name_matches = get_close_matches(search_term, all_names, n=5, cutoff=0.4)
26
+ close_description_matches = get_close_matches(search_term, list(all_descriptions.keys()), n=5, cutoff=0.4)
27
+
28
+ search_lower = search_term.lower()
29
+ substring_matches = [
30
+ inst["appName"]
31
+ for inst in app_apps
32
+ if search_lower in inst["appName"].lower() or search_lower in inst["doc"].lower()
33
+ ]
34
+
35
+ ordered_matches: list[str] = list(
36
+ dict.fromkeys(
37
+ close_name_matches
38
+ + [all_descriptions[desc] for desc in close_description_matches]
39
+ + substring_matches
40
+ )
41
+ )
42
+ top_matches = ordered_matches[:10]
43
+ console = Console()
44
+
45
+ console.print(f"\n❌ '[red]{search_term}[/red]' was not found.", style="bold")
46
+ if top_matches:
47
+ console.print("🤔 Did you mean one of these?", style="yellow")
48
+ table = Table(show_header=True, header_style="bold", box=None, pad_edge=False)
49
+ table.add_column("#", justify="right", width=3)
50
+ table.add_column("Installer", style="green")
51
+ table.add_column("Description", style="dim", overflow="fold")
52
+ for i, match in enumerate(top_matches, 1):
53
+ table.add_row(f"[cyan]{i}[/cyan]", match, name_to_doc.get(match, ""))
54
+ console.print(table)
55
+ else:
56
+ console.print("📋 Here are some available options:", style="blue")
57
+ # Show first 10 installers as examples
58
+ if len(all_names) > 10:
59
+ sample_names = all_names[:10]
60
+ else:
61
+ sample_names = all_names
62
+ table = Table(show_header=True, header_style="bold", box=None, pad_edge=False)
63
+ table.add_column("#", justify="right", width=3)
64
+ table.add_column("Installer", style="green")
65
+ table.add_column("Description", style="dim", overflow="fold")
66
+ for i, name in enumerate(sample_names, 1):
67
+ table.add_row(f"[cyan]{i}[/cyan]", name, name_to_doc.get(name, ""))
68
+ console.print(table)
69
+ if len(all_names) > 10:
70
+ console.print(f" [dim]... and {len(all_names) - 10} more[/dim]")
71
+
72
+ panel = Panel(f"[bold blue]💡 Use 'ia' to interactively browse all available installers.[/bold blue]\n[bold blue]💡 Use one of the categories: {list(PACKAGE_GROUP2NAMES.keys())}[/bold blue]", title="[yellow]Helpful Tips[/yellow]", border_style="yellow")
73
+ console.print(panel)
74
+
75
+
76
+ def install_deb_package(downloaded: Path) -> None:
77
+ from rich import print as rprint
78
+ from rich.panel import Panel
79
+ print(f"📦 Installing .deb package: {downloaded}")
80
+ import platform
81
+ import subprocess
82
+ assert platform.system() == "Linux"
83
+ result = subprocess.run(f"sudo nala install -y {downloaded}", shell=True, capture_output=True, text=True)
84
+ success = result.returncode == 0 and result.stderr == ""
85
+ if not success:
86
+ from rich.console import Group
87
+ desc = "Installing .deb"
88
+ sub_panels = []
89
+ if result.stdout:
90
+ sub_panels.append(Panel(result.stdout, title="STDOUT", style="blue"))
91
+ if result.stderr:
92
+ sub_panels.append(Panel(result.stderr, title="STDERR", style="red"))
93
+ group_content = Group(f"❌ {desc} failed\nReturn code: {result.returncode}", *sub_panels)
94
+ rprint(Panel(group_content, title=desc, style="red"))
95
+ print("🗑️ Cleaning up .deb package...")
96
+ if downloaded.is_file():
97
+ downloaded.unlink(missing_ok=True)
98
+ elif downloaded.is_dir():
99
+ import shutil
100
+ shutil.rmtree(downloaded, ignore_errors=True)
@@ -92,7 +92,11 @@ def get_installed_cli_apps():
92
92
 
93
93
 
94
94
  def get_installers(os: OPERATING_SYSTEMS, arch: CPU_ARCHITECTURES, which_cats: Optional[list[str]]) -> list[InstallerData]:
95
- res_all = get_all_installer_data_files()
95
+ import machineconfig.jobs.installer as module
96
+ from pathlib import Path
97
+ res_raw: InstallerDataFiles = read_json(Path(module.__file__).parent.joinpath("installer_data.json"))
98
+ res_all: list[InstallerData] = res_raw["installers"]
99
+
96
100
  acceptable_apps_names: list[str] | None = None
97
101
  if which_cats is not None:
98
102
  acceptable_apps_names = []
@@ -116,13 +120,6 @@ def get_installers(os: OPERATING_SYSTEMS, arch: CPU_ARCHITECTURES, which_cats: O
116
120
  return all_installers
117
121
 
118
122
 
119
- def get_all_installer_data_files() -> list[InstallerData]:
120
- import machineconfig.jobs.installer as module
121
- from pathlib import Path
122
- res_raw: InstallerDataFiles = read_json(Path(module.__file__).parent.joinpath("installer_data.json"))
123
- res_final: list[InstallerData] = res_raw["installers"]
124
- return res_final
125
-
126
123
 
127
124
  def install_bulk(installers_data: list[InstallerData], safe: bool = False, jobs: int = 10, fresh: bool = False):
128
125
  print("🚀 BULK INSTALLATION PROCESS 🚀")
@@ -2,7 +2,7 @@
2
2
 
3
3
  import platform
4
4
 
5
- UV_RUN_CMD = "$HOME/.local/bin/uv run" if platform.system() != "Windows" else """& "$env:USERPROFILE/.local/bin/uv" run"""
6
- MACHINECONFIG_VERSION = "machineconfig>=7.79"
5
+ UV_RUN_CMD = """ "$HOME/.local/bin/uv" run """ if platform.system() != "Windows" else """& "$env:USERPROFILE/.local/bin/uv" run"""
6
+ MACHINECONFIG_VERSION = "machineconfig>=7.83"
7
7
  DEFAULT_PICKLE_SUBDIR = "tmp_results/tmp_scripts/ssh"
8
8
 
@@ -75,10 +75,18 @@ def _resolve_windows_home_from_wsl() -> Path:
75
75
  return _infer_windows_home_from_permissions()
76
76
 
77
77
 
78
+ def _decode_wsl_output(raw_bytes: bytes) -> str:
79
+ try:
80
+ return raw_bytes.decode("utf-16-le")
81
+ except UnicodeDecodeError:
82
+ return raw_bytes.decode()
83
+
84
+
78
85
  def _get_single_wsl_distribution() -> str:
79
- process = subprocess.run(["wsl.exe", "-l"], capture_output=True, text=True, check=True)
86
+ process = subprocess.run(["wsl.exe", "-l"], capture_output=True, text=False, check=True)
87
+ stdout = _decode_wsl_output(process.stdout).replace("\ufeff", "")
80
88
  distributions: list[str] = []
81
- for raw_line in process.stdout.replace("\ufeff", "").splitlines():
89
+ for raw_line in stdout.splitlines():
82
90
  line = raw_line.strip()
83
91
  if not line or line.lower().startswith("windows subsystem for linux"):
84
92
  continue
@@ -128,6 +136,20 @@ def _run_windows_copy_command(source_path: Path, target_path: Path) -> None:
128
136
  )
129
137
 
130
138
 
139
+ def _ensure_symlink(link_path: Path, target_path: Path) -> None:
140
+ if not target_path.exists():
141
+ raise FileNotFoundError(target_path)
142
+ if link_path.is_symlink():
143
+ existing_target = Path(os.path.realpath(link_path))
144
+ desired_target = Path(os.path.realpath(target_path))
145
+ if os.path.normcase(str(existing_target)) == os.path.normcase(str(desired_target)):
146
+ return
147
+ link_path.unlink()
148
+ elif link_path.exists():
149
+ raise FileExistsError(link_path)
150
+ link_path.symlink_to(target_path, target_is_directory=True)
151
+
152
+
131
153
  def copy_when_inside_wsl(source: Path | str, target: Path | str, overwrite: bool) -> None:
132
154
  _ensure_wsl_environment()
133
155
  source_relative = _ensure_relative_path(source)
@@ -163,6 +185,26 @@ def copy_when_inside_windows(source: Path | str, target: Path | str, overwrite:
163
185
  _run_windows_copy_command(source_path, target_path)
164
186
 
165
187
 
188
+ def link_wsl_and_windows() -> None:
189
+ system = platform.system()
190
+ if system == "Darwin":
191
+ raise RuntimeError("link_wsl_and_windows is not designed for macOS")
192
+ try:
193
+ _ensure_wsl_environment()
194
+ except RuntimeError:
195
+ try:
196
+ _ensure_windows_environment()
197
+ except RuntimeError as exc:
198
+ raise RuntimeError("link_wsl_and_windows must run inside Windows or WSL") from exc
199
+ target_path = _resolve_wsl_home_on_windows()
200
+ link_path = Path.home() / "wsl"
201
+ _ensure_symlink(link_path, target_path)
202
+ return
203
+ target_path = _resolve_windows_home_from_wsl()
204
+ link_path = Path.home() / "win"
205
+ _ensure_symlink(link_path, target_path)
206
+
207
+
166
208
  if __name__ == "__main__":
167
209
  copy_when_inside_wsl(Path("projects/source.txt"), Path("windows_projects/source.txt"), True)
168
210
  copy_when_inside_windows(Path("documents/example.txt"), Path("linux_documents/example.txt"), True)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: machineconfig
3
- Version: 7.79
3
+ Version: 7.83
4
4
  Summary: Dotfiles management package
5
5
  Author-email: Alex Al-Saffar <programmer@usa.com>
6
6
  License: Apache 2.0
@@ -53,7 +53,7 @@ Requires-Dist: python-magic>=0.4.27; extra == "plot"
53
53
 
54
54
  # 🧠 Welcome to **Machineconfig**
55
55
 
56
- **Machineconfig** is a cli-based **Digital Life Manager** — It's called so because no existing category of software fully captures its scope. At the same time, it is a *Package Manager*, *Configuration Manager*, *Automation Tool*, *Dotfiles Manager*, *Data Solution*, and *Code Manager*, among other functionalities covered, all rolled into one seamless experience.
56
+ **Machineconfig** is a cli-based **Stack Manager** — It is a *Package Manager*, *Configuration Manager*, *Automation Tool*, *Dotfiles Manager*, *Data Solution*, and *Code Manager*, among other functionalities covered, all rolled into one seamless experience, that is consistent across different platforms.
57
57
 
58
58
 
59
59
  ## 💡 Motivation
@@ -51,11 +51,12 @@ machineconfig/cluster/templates/cli_trogon.py,sha256=PFWGy8SFYIhT9r3ZV4oIEYfImsQ
51
51
  machineconfig/jobs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
52
52
  machineconfig/jobs/installer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
53
53
  machineconfig/jobs/installer/check_installations.py,sha256=hkHmmT7Bx3_QWRn2v8dCKOzAapFzqHRzbe-Q08GLnKE,10743
54
- machineconfig/jobs/installer/installer_data.json,sha256=Py1006iS1omzxqfAb9CjetSS-8EIcU6TayXEWgu--BY,113629
54
+ machineconfig/jobs/installer/installer_data.json,sha256=XxDM-PfzyaOiKExqystdDy1_pJtetSCTj46MleSPwP0,117456
55
55
  machineconfig/jobs/installer/package_groups.py,sha256=AE1sPeEI6i7uLE_rMavA2m1skb27aYZIfjH0ukeGDYc,4938
56
56
  machineconfig/jobs/installer/custom/boxes.py,sha256=C6R5T1INjBUKwaYPOnpx13N1VrNxHsbJ-j-llujuujY,1991
57
57
  machineconfig/jobs/installer/custom/gh.py,sha256=gn7TUSrsLx7uqFqj1Z-iYglS0EYBSgtJ9jWHxaJIfXM,4119
58
58
  machineconfig/jobs/installer/custom/hx.py,sha256=nI8g49zsmksx5ZZOcvcaM_gqWesOjobcG8wTzhrIA64,9021
59
+ machineconfig/jobs/installer/custom/yazi.py,sha256=CP--J6mQWCssbUFo633Uoar5_tdY6orM1U0g5miAXJM,4201
59
60
  machineconfig/jobs/installer/custom_dev/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
60
61
  machineconfig/jobs/installer/custom_dev/alacritty.py,sha256=STXertp5pE6VVhcjAfZSKBxAC94S2HAzas646jwd4ow,2754
61
62
  machineconfig/jobs/installer/custom_dev/brave.py,sha256=1WTUgEHlpzA9POK6hMeL4-ZxDs_PvLm9q_l19edI_K8,2887
@@ -67,10 +68,10 @@ machineconfig/jobs/installer/custom_dev/dubdb_adbc.py,sha256=FsE0q9Vx1M2BFtLNiKg
67
68
  machineconfig/jobs/installer/custom_dev/espanso.py,sha256=H1rZb4xnjs72lL0_mB0M4d7NrDyVv1sAG3NOkOrCB64,4137
68
69
  machineconfig/jobs/installer/custom_dev/goes.py,sha256=SIRkpzkCeWMof0BnPuoEJy3KHNkVZs8J5DnoZJXb9TY,2130
69
70
  machineconfig/jobs/installer/custom_dev/lvim.py,sha256=2-wbh_IClTFcFkSYk9EsRiv88-isSNIVX6dNZ1L5m8Q,2985
70
- machineconfig/jobs/installer/custom_dev/nerdfont.py,sha256=dsPmiqP9AJCack7mNeJ8Qzo4dSOwC0bsupH0Hn3gqSg,4149
71
- machineconfig/jobs/installer/custom_dev/nerfont_windows_helper.py,sha256=NbmRNNq3Mc-x-UgQxYDy5-cBngMAAax7nEnnvbhbq4Q,5627
71
+ machineconfig/jobs/installer/custom_dev/nerdfont.py,sha256=FdBM2jhfx0Lktdppt-7wBeERfgFXMlTAieTHIh5XKxA,4174
72
+ machineconfig/jobs/installer/custom_dev/nerfont_windows_helper.py,sha256=EQrooSjtqw3YvOfD9z8JaVrQShZbzGh3QPLiHPrKSEs,6017
72
73
  machineconfig/jobs/installer/custom_dev/redis.py,sha256=bReDLsgy37eJyTU4TXE7FQpKFi-_usQC7bwhfXvZuBU,3259
73
- machineconfig/jobs/installer/custom_dev/sysabc.py,sha256=G-MVn49KriYHOX1Tk84quJh6XQzXC5kSN21enGofBgA,6275
74
+ machineconfig/jobs/installer/custom_dev/sysabc.py,sha256=EPZEfCPj1s5cfjQ4lulw1_5YFtsv7q932WXsXoeN0TQ,5976
74
75
  machineconfig/jobs/installer/custom_dev/wezterm.py,sha256=yQqRpnaj7I_2q-Ge9HX0leK5-ntUCWpkqgH09cgmh-Q,3063
75
76
  machineconfig/jobs/installer/custom_dev/winget.py,sha256=gLdwM20jKMf2bMV3BAcOg4MkuzwF09CU5OhXvLkPoHo,5738
76
77
  machineconfig/jobs/installer/linux_scripts/brave.sh,sha256=_al_D5iZSwtlDRTeqjjK37nEWai8mrHFk-cZeVws9MY,1389
@@ -86,15 +87,15 @@ machineconfig/jobs/installer/linux_scripts/q.sh,sha256=lPSHBeZm4z6xv5K3cYPiOkK0A
86
87
  machineconfig/jobs/installer/linux_scripts/redis.sh,sha256=-Ur541bMwjq6TKrmvy-S5c_qoR8GlRpE6923USDylm8,2097
87
88
  machineconfig/jobs/installer/linux_scripts/vscode.sh,sha256=fI6lNCWUjlstNE319Y-rUtimvLLb9GcNh3z9t1KRaaE,4541
88
89
  machineconfig/jobs/installer/linux_scripts/wezterm.sh,sha256=hZBS0CopWr-VrGhFSVjoWATFzHqCt6V41_N8bImAQRc,1294
89
- machineconfig/jobs/installer/powershell_scripts/install_fonts.ps1,sha256=JsQfGAMkvirhiUmBNOifMlbum2PfHSs0-Akgj-J-WZw,3177
90
+ machineconfig/jobs/installer/powershell_scripts/install_fonts.ps1,sha256=Y7uof8naGBNv79heNXJ4KyH5sXDjDm0KwCKnshpprR4,6494
90
91
  machineconfig/profile/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
91
92
  machineconfig/profile/backup.toml,sha256=Hb25sIdKVvLqOF62NgiOpGZxd45I6IhsNHu623RtfQQ,766
92
93
  machineconfig/profile/bash_shell_profiles.md,sha256=mio0xkMTwO-F3fikWIfgcdQaPCmQrmkxJMNtZsTe9TI,514
93
- machineconfig/profile/create_helper.py,sha256=jBwgf2r6Wid9LNXw_O8JpVmm7Vk5sZJWlN0qeIkQhjE,2986
94
+ machineconfig/profile/create_helper.py,sha256=Y67lB_KBBKoI8aLvJyW7JiI4hFMeDxSGtqclT7jdzGA,2497
94
95
  machineconfig/profile/create_links.py,sha256=42U5dEu7fMnGBAqyhQ1VspFaZg3VssMMQSdpGEmpHnE,14199
95
96
  machineconfig/profile/create_links_export.py,sha256=WfswDxxp7yXkAIDC-7wwc0skdivrCQNRJUS3rqUZMq8,5251
96
97
  machineconfig/profile/create_shell_profile.py,sha256=jjCwH3rNxVOcb9sgbZQsjYlKGfqhDvPxBDrkFLThT3c,7221
97
- machineconfig/profile/mapper.toml,sha256=9SOHwHbFCI6J9nGVk72RZZhSPBI2OWtfyTXcGz3cSaA,12701
98
+ machineconfig/profile/mapper.toml,sha256=tW2DPZ4sH-W9DSJ29AqBxR1WvubHY6BVyr9orQ_EboE,12715
98
99
  machineconfig/profile/records/generic/shares.toml,sha256=FduDztfyQtZcr5bfx-RSKhEEweweQSWfVXkKWnx8hCY,143
99
100
  machineconfig/profile/records/linux/apps_summary_report.csv,sha256=pw9djvaRUPalKDLn2sl3odcbD2_Zx3aEupsQ8UPfaaY,2738
100
101
  machineconfig/profile/records/linux/apps_summary_report.md,sha256=l77oofA6Rliql0ZgKGIZi8bstFoGyyGTxeS8p2PtOj0,5634
@@ -110,7 +111,7 @@ machineconfig/scripts/nu/wrap_mcfg.nu,sha256=9heiUHVkHjI_AMXT5QJJixk7ZK_hJNV_A8l
110
111
  machineconfig/scripts/python/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
111
112
  machineconfig/scripts/python/agents.py,sha256=lW0Cx8xB84qqon5G4LUFPxqMnXu6rkDVqYjhzVhkq8M,10858
112
113
  machineconfig/scripts/python/cloud.py,sha256=yAD6ciKiEtv2CH3g2NScDK5cpCZQi7Vu8yyeehw_cU8,1263
113
- machineconfig/scripts/python/croshell.py,sha256=R0v-1L9SpP3SFO8wYleougO51FHrSVhZdoIpwET6In8,7570
114
+ machineconfig/scripts/python/croshell.py,sha256=tufNeedizT_U4h8KsuXsSR7uWhOiDoDFcU-VKl9N90s,7570
114
115
  machineconfig/scripts/python/define.py,sha256=AtuVac6tJeDMcxtbWmQh1TH3dYAPSGFdO51b75zJVeI,717
115
116
  machineconfig/scripts/python/devops.py,sha256=O7o44lUcdAs5R3th2d3xjLPSjJk7sOTLOJUyBF-yHtQ,2213
116
117
  machineconfig/scripts/python/devops_navigator.py,sha256=UeqkY9_c22Ce9b1ksFGq-lNwaGCMMHL1LikPhP-QDt8,154
@@ -118,10 +119,10 @@ machineconfig/scripts/python/fire_jobs.py,sha256=7S5tn6Y_Dov94ZRha6mqJMRAsf3en2O
118
119
  machineconfig/scripts/python/ftpx.py,sha256=ncFvM4p-ohBB0Pez-0zSI6NQBN1T_tfltN-dB09yPzQ,11087
119
120
  machineconfig/scripts/python/interactive.py,sha256=cD9wYKPKtbVZfYuDQh6GDTd7fqgVtEs8B2kNM_WavyA,11546
120
121
  machineconfig/scripts/python/mcfg_entry.py,sha256=FKVnSR1mlZutQfmHu7fz2in0m-QntiIJE2L_bDVJ7BY,3088
121
- machineconfig/scripts/python/msearch.py,sha256=J64epdk-bL_WkrUUHlXUR0Tuys1okdEzLbXjVqB9hSE,1646
122
+ machineconfig/scripts/python/msearch.py,sha256=3Xr0cOTcSu3YjmQslreggHOMs5nwTsIxsCbgWOjrVt8,3523
122
123
  machineconfig/scripts/python/sessions.py,sha256=uypWqdBpzYtyCzPPXQJdQgZlgyplHtQPDh69rV1DFBQ,10270
123
124
  machineconfig/scripts/python/terminal.py,sha256=3333ZxOwPhAOPj9KmKO24NrK7afVTD7Hb5bTf35dcfc,5928
124
- machineconfig/scripts/python/utils.py,sha256=vqzWMM9MTBSZfjOr8vM3TPPdKXzGckicQUTWIAlbOXc,3571
125
+ machineconfig/scripts/python/utils.py,sha256=m2OBshQ1v6Ehf1eXGkCQB-MH0c1dQQ7IiZNEuqVTtiw,3595
125
126
  machineconfig/scripts/python/ai/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
126
127
  machineconfig/scripts/python/ai/generate_files.py,sha256=VfjKdwgF8O6E4oiRtfWNliibLmmwGe7f9ld6wpOsXTw,14498
127
128
  machineconfig/scripts/python/ai/initai.py,sha256=P4-NCLJPWeNef_k-l4TQ92AB1Xm1k3xzdqSBIjmevnQ,1573
@@ -140,7 +141,7 @@ machineconfig/scripts/python/ai/solutions/copilot/privacy.md,sha256=QeEU3P1tVBeG
140
141
  machineconfig/scripts/python/ai/solutions/copilot/chatmodes/Thinking-Beast-Mode.chatmode.md,sha256=Tu-fWxX_FLiIBRdgOndMhewK41kIHDoYxuGZ1kF6dYA,17947
141
142
  machineconfig/scripts/python/ai/solutions/copilot/chatmodes/Ultimate-Transparent-Thinking-Beast-Mode.chatmode.md,sha256=kB8u_QAZar9StuywXcbPTUCbAVHKin0s0brssOroK5o,29019
142
143
  machineconfig/scripts/python/ai/solutions/copilot/chatmodes/deepResearch.chatmode.md,sha256=WRbZXkdOPw5pVAFjR51n9IRTtqw3TE7jUt4BNyN5Z8k,5165
143
- machineconfig/scripts/python/ai/solutions/copilot/instructions/python/dev.instructions.md,sha256=4OPNxuHWXSdOOmMrsOyHTTue8n_ImTCDMjpOuV_0T6s,4576
144
+ machineconfig/scripts/python/ai/solutions/copilot/instructions/python/dev.instructions.md,sha256=Evz3iDmrJQxl5CBO6CLdmO-Xc6HpzCsVBcZAMI95TnY,4635
144
145
  machineconfig/scripts/python/ai/solutions/copilot/prompts/pyright_fix.md,sha256=a3tMb-t0jmC02OAQZSRBEuiccB-osBvgAIOSBXqC5JQ,544
145
146
  machineconfig/scripts/python/ai/solutions/copilot/prompts/research-report-skeleton.prompt.md,sha256=VJboe6_ynLAcxml8tgOQCN-6ecJY3hraEneKILQkNis,668
146
147
  machineconfig/scripts/python/ai/solutions/crush/crush.json,sha256=2hhWLBtAroKO0dboksWIIV6s5XISDgzSMkPg8L9hSK4,5652
@@ -153,8 +154,9 @@ machineconfig/scripts/python/ai/solutions/kilocode/privacy.md,sha256=oKOXnfFOdUu
153
154
  machineconfig/scripts/python/ai/solutions/opencode/opencode.json,sha256=nahHKRw1dNzkUCS_vCX_fy2TisRtfg8DXH-D4N1iUVU,99
154
155
  machineconfig/scripts/python/ai/solutions/opencode/opencode.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
155
156
  machineconfig/scripts/python/env_manager/__init__.py,sha256=E4LAHbU1wo2dLjE36ntv8U7QNTe8TasujUAYK9SLvWk,6
157
+ machineconfig/scripts/python/env_manager/env_manager_tui.py,sha256=yrIQ6WDFtQgqFH3_IA1mzaAz_mCjXI8BDqmSpll-u6E,7055
156
158
  machineconfig/scripts/python/env_manager/path_manager_backend.py,sha256=ZVGlGJALhg7zNABDdwXxL7MFbL2BXPebObipXSLGbic,1552
157
- machineconfig/scripts/python/env_manager/path_manager_tui.py,sha256=EblLRBhXOwbLFOty64emm7DPH1Hu13uWBhZMvIU4yVY,6932
159
+ machineconfig/scripts/python/env_manager/path_manager_tui.py,sha256=O-4QOm72VPADP0kMKcHaC94SKz8uLzv68RyLMPuCfXY,6932
158
160
  machineconfig/scripts/python/helpers/ast_search.py,sha256=-BFLZfJpYyj2CjUVrRigWf6xdfdorBfScJ33S2j9O2I,2515
159
161
  machineconfig/scripts/python/helpers/qr_code.py,sha256=DLZwRI9j8g6qV6XngHEoiStqVYKmXhPjuA_sSTgvf88,5150
160
162
  machineconfig/scripts/python/helpers/repo_rag.py,sha256=WxSLC99SBpnbUyIQjKiuraGgFk0qGzQ1dC9zSUc88hc,13702
@@ -188,15 +190,15 @@ machineconfig/scripts/python/helpers_croshell/start_slidev.py,sha256=hpLSRENN8zB
188
190
  machineconfig/scripts/python/helpers_croshell/viewer.py,sha256=heQNjB9fwn3xxbPgMofhv1Lp6Vtkl76YjjexWWBM0pM,2041
189
191
  machineconfig/scripts/python/helpers_croshell/viewer_template.py,sha256=ve3Q1-iKhCLc0VJijKvAeOYp2xaFOeIOC_XW956GWCc,3944
190
192
  machineconfig/scripts/python/helpers_devops/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
191
- machineconfig/scripts/python/helpers_devops/cli_config.py,sha256=VLR7tH1SdR3ftWSNjyt0LHc1gRssYJXYvkLjtydxVOM,5007
193
+ machineconfig/scripts/python/helpers_devops/cli_config.py,sha256=dMvN99_iXjotmUYd9JuejEhLrxsmmiV5HNSGLuN_Pc4,5512
192
194
  machineconfig/scripts/python/helpers_devops/cli_config_dotfile.py,sha256=KFIBpAaBtRn-nP1ILXZmyGlgCi4olKRohoF-HdHORaQ,4034
193
195
  machineconfig/scripts/python/helpers_devops/cli_data.py,sha256=79Xvx7YnbueruEnl69hrDg2AhVxf_zCUdlVcKfeMGyQ,1774
194
- machineconfig/scripts/python/helpers_devops/cli_nw.py,sha256=YnGfjnz2KkWXc_x66Sddq3Pem0rgNWgAXHWZkhSdNjs,10998
196
+ machineconfig/scripts/python/helpers_devops/cli_nw.py,sha256=V88k38wdOFaR401jCZfY7eCp3rcRQ5Mmd2kwqq07p3s,10795
195
197
  machineconfig/scripts/python/helpers_devops/cli_repos.py,sha256=mFrhosIFCCT70d82NYUxp9ta6BYeAHQNhsx7CEmWcg4,12478
196
- machineconfig/scripts/python/helpers_devops/cli_self.py,sha256=cUSlbyYdXMEBuD_3hFN-xp1yrjP5Si3E070rtYhIA98,7061
198
+ machineconfig/scripts/python/helpers_devops/cli_self.py,sha256=fsnVAn3T6GSvIcj2tvWYh17G3dLHPvrQwiAnXCXLUFY,7064
197
199
  machineconfig/scripts/python/helpers_devops/cli_share_file.py,sha256=BPHC-M4OjILY130iL4QcRcjBZNbYwzuSc7clSpr9oUo,6404
198
200
  machineconfig/scripts/python/helpers_devops/cli_share_server.py,sha256=IDed7qI-LM9kCd4XI-5El_xFtqGZCqDyF8chQJKLdsg,6493
199
- machineconfig/scripts/python/helpers_devops/cli_terminal.py,sha256=KjBlYW3W96RL26zmiWKeQ46AFEQ21OqHEffAvD9eKYU,6139
201
+ machineconfig/scripts/python/helpers_devops/cli_terminal.py,sha256=e9eSqy0e70YlUDkCM3KdbfGn1Gv0oR_TQEzLm5p3f-s,6148
200
202
  machineconfig/scripts/python/helpers_devops/cli_utils.py,sha256=RHYuEJn_xUMj8jMDx0Gi0Xr1yjA_7BLnStGU4N1qV7M,5003
201
203
  machineconfig/scripts/python/helpers_devops/devops_backup_retrieve.py,sha256=Tyfz5S1QfY_nOhg-ROTp9eILNqYx_i1ootth34frbv0,5540
202
204
  machineconfig/scripts/python/helpers_devops/devops_status.py,sha256=IKDd0fD8qINFoxC3Ajk0GtXiDfXgiL6shrUMubx_yx4,20312
@@ -214,13 +216,8 @@ machineconfig/scripts/python/helpers_fire_command/fire_jobs_args_helper.py,sha25
214
216
  machineconfig/scripts/python/helpers_fire_command/fire_jobs_route_helper.py,sha256=hj81yaj5NBWkxfpZeym99pXfiP_YP_0DRJFbjd7CeRY,5926
215
217
  machineconfig/scripts/python/helpers_fire_command/fire_jobs_streamlit_helper.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
216
218
  machineconfig/scripts/python/helpers_msearch/__init__.py,sha256=eZSLmDDBtML_JRn1BjU8IyzXEqjZ9-u3TYY6_hYsEKA,183
217
- machineconfig/scripts/python/helpers_msearch/scripts_linux/fzfag,sha256=u3EYNQ_WT8jP11V0DPXWWXmFj1rzgNBnRokVBdVZpmc,677
218
- machineconfig/scripts/python/helpers_msearch/scripts_linux/fzfg,sha256=Lqk5pMH1JiGeNzhUwdrz_zbWetOHeMp-m1wP0Ful3DE,1201
219
- machineconfig/scripts/python/helpers_msearch/scripts_linux/fzfrga,sha256=9K84gLZbxar19FE2bjbgdTztmyFyyCH7lELr6S9PwyA,454
220
- machineconfig/scripts/python/helpers_msearch/scripts_linux/skrg,sha256=JgQJGwxaChr148bDnpTB0rrqZMe2o2zGSDA9x_oUhWM,133
221
- machineconfig/scripts/python/helpers_msearch/scripts_windows/fzfb.ps1,sha256=Bmngm2aY8hnPa3iKAOK6EPDYdKzGLUc81wYOnJhNoqg,149
222
- machineconfig/scripts/python/helpers_msearch/scripts_windows/fzfg.ps1,sha256=CHJbMrMuZePd4dxwIwz3g4XWAEmWmckuX-Nrx2xgRkg,27
223
- machineconfig/scripts/python/helpers_msearch/scripts_windows/fzfrga.bat,sha256=rU_KBMO6ii2EZ0akMnmDk9vpuhKSUZqkV0o8a8ywXcM,488
219
+ machineconfig/scripts/python/helpers_msearch/scripts_linux/fzfg,sha256=1WPQn8nudfOLdpyya4THQgAzTH7LOSnk-YH0e9e8KRE,1201
220
+ machineconfig/scripts/python/helpers_msearch/scripts_windows/fzfg.ps1,sha256=CJbrvZVAAUxDxMFhgPKjq07mtn6V29tBrpodCvCDGT4,1918
224
221
  machineconfig/scripts/python/helpers_navigator/__init__.py,sha256=5qPsu5ztoj0gkrioY0Yg0GTZ9JAn6SG2gAk-6DpuQ00,764
225
222
  machineconfig/scripts/python/helpers_navigator/command_builder.py,sha256=59ipLYdkWvj_l1xqrC6rz2E2GNCP91BVBsX8vqTRnjQ,4618
226
223
  machineconfig/scripts/python/helpers_navigator/command_detail.py,sha256=9cL2wVqa_vzgsSIYg-eVjeuac9f3aQJvrTl0T-SRAOU,1693
@@ -231,9 +228,9 @@ machineconfig/scripts/python/helpers_navigator/search_bar.py,sha256=kDi8Jhxap8wd
231
228
  machineconfig/scripts/python/helpers_repos/action.py,sha256=8je051kpGZ7A_GRsQyWKhPZ8xVW7tSm4bnPu6VjxaXk,9755
232
229
  machineconfig/scripts/python/helpers_repos/action_helper.py,sha256=XRCtkGkNrxauqUd9qkxtfJt02Mx2gejSYDLL0jyWn24,6176
233
230
  machineconfig/scripts/python/helpers_repos/clone.py,sha256=9RZgs2OD2RUH6UiZKCuUvRyweDBomAm2lDG2qJmhry0,5436
234
- machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py,sha256=MyKtPoCGTLqv-AARorI57XjZwE9v_ZpfvIFuZ8RCJrg,11689
235
- machineconfig/scripts/python/helpers_repos/count_lines.py,sha256=Q5c7b-DxvTlQmljoic7niTuiAVyFlwYvkVQ7uRJHiTo,16009
236
- machineconfig/scripts/python/helpers_repos/count_lines_frontend.py,sha256=Uoc2e9gZiuR1egX2hTPEn1iTbj069jQ8FlqzdUi7r38,607
231
+ machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py,sha256=MuB97xFBdCR2OqgS2KvE9_dJUXGzr33g26ncFbjwLWE,11689
232
+ machineconfig/scripts/python/helpers_repos/count_lines.py,sha256=PTHI5WZd1wsCJLomcq2ON0wqIQ2Q2JFYAwjvddlwhVo,17455
233
+ machineconfig/scripts/python/helpers_repos/count_lines_frontend.py,sha256=JHbUxvc99xLdkqBu2EfNVCM_bveYJSecCKuOY6SZNSs,607
237
234
  machineconfig/scripts/python/helpers_repos/entrypoint.py,sha256=eAM-7trZCPTeep0iTU3_HNqCkF0pYKqMMXNq3vLBsP8,2898
238
235
  machineconfig/scripts/python/helpers_repos/grource.py,sha256=lHxyfsIQr4pbu71Ekqu-9nohR7LXbN2wufw7LPTyOgM,14639
239
236
  machineconfig/scripts/python/helpers_repos/record.py,sha256=1PycYcW7VA-9n9iv1TJXub7qNIQ6I6Z9dEnvbdDm4TU,11099
@@ -242,7 +239,7 @@ machineconfig/scripts/python/helpers_repos/update.py,sha256=cUIMUMm-50HrY6fzxSMZ
242
239
  machineconfig/scripts/python/helpers_sessions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
243
240
  machineconfig/scripts/python/helpers_sessions/sessions_multiprocess.py,sha256=wCQPpsOeuNz0V7_SopHWLRgYQcQryDdQSDabikVS3AE,3054
244
241
  machineconfig/scripts/python/helpers_utils/download.py,sha256=kGSk17oOPd1soN1JCxYRdnNId0Yux1HNhExwClrPAYk,6654
245
- machineconfig/scripts/python/helpers_utils/path.py,sha256=cni9iBM1BbnfJt38gWOPQfcmmMx0CcAeiE1V7pH10k0,7101
242
+ machineconfig/scripts/python/helpers_utils/path.py,sha256=wPhd5dVWOEigz30Ji01_iORGGpMrtpFIs8IAdsHjUvE,7402
246
243
  machineconfig/scripts/python/nw/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
247
244
  machineconfig/scripts/python/nw/address.py,sha256=pKawu1OqoVsLtridVAdwrW7JnXy2jxRA8qKLJekjj2g,4626
248
245
  machineconfig/scripts/python/nw/devops_add_identity.py,sha256=aPjcHbTLhxYwWYcandyAHdwuO15ZBu3fB82u6bI0tMQ,3773
@@ -264,7 +261,7 @@ machineconfig/scripts/windows/mounts/Restore-ThunderbirdProfile.ps1,sha256=HYIT4
264
261
  machineconfig/scripts/windows/mounts/mount_nfs.ps1,sha256=XrAdzpxE6a4OccSmWJ7YWHJTnsZK8uXnFE5j9GOPA20,2026
265
262
  machineconfig/scripts/windows/mounts/mount_nw.ps1,sha256=puxcfZc3ZCJerm8pj8OZGVoTYkhzp-h7oV-MrksSqIE,454
266
263
  machineconfig/scripts/windows/mounts/mount_smb.ps1,sha256=PzYWpIO9BpwXjdWlUQL9pnMRnOGNSkxfh4bHukJFme8,69
267
- machineconfig/scripts/windows/mounts/mount_ssh.ps1,sha256=nWdaS3OrLUaivEwRe-4T1Mw5OkSGNWQVb8wUowHgXRo,322
264
+ machineconfig/scripts/windows/mounts/mount_ssh.ps1,sha256=iXtOOKE5M4ajtp59GSmw0JutMNk3J4SQGjxFc_EWbl0,322
268
265
  machineconfig/scripts/windows/mounts/share_cloud.cmd,sha256=exD7JCdxw2LqVjw2MKCYHbVZlEqmelXtwnATng-dhJ4,1028
269
266
  machineconfig/scripts/windows/mounts/share_smb.ps1,sha256=U7x8ULYSjbgzTtiHNSKQuTaZ_apilDvkGV5Xm5hXk5M,384
270
267
  machineconfig/scripts/windows/mounts/unlock_bitlocker.ps1,sha256=Wv-SLscdckV-1mG3p82VXKPY9zW3hgkRmcLUXIZ1daE,253
@@ -359,11 +356,12 @@ machineconfig/settings/tere/terecd.sh,sha256=vDKRbldub0aGQwnWtDwkPnSQHKpVQiDg1RT
359
356
  machineconfig/settings/tmux/.tmate.conf,sha256=dhj8IbNUe_oaBSmnAE-k2rcHJ6_zcd7pHqrmKP19zA0,57
360
357
  machineconfig/settings/tmux/.tmux.conf,sha256=55qyCgKHOyg70kJ42GXrHwqAAtRtnsWtdHCuPt-8Hy8,94
361
358
  machineconfig/settings/wsl/.wslconfig,sha256=wL4oWxRw_0vLQXheSLNuGUQqypqEKlVqYALosPI9jhY,1279
362
- machineconfig/settings/yazi/init.lua,sha256=i4OsyFhGaTzxm44fw5N-IWzuhJLhmCgxRfPhpy569vo,1547
363
- machineconfig/settings/yazi/keymap_linux.toml,sha256=DFLc_KcyaskQT26Y5eNsvUOPbQeShURbmilyew-8ctI,1982
359
+ machineconfig/settings/yazi/init.lua,sha256=5ihDgbs9I1wxLpSUBJMBs4ecZ39P-MvMj25jWPbI0sY,1609
360
+ machineconfig/settings/yazi/keymap_linux.toml,sha256=xnjwPxZ4V_VHuiqJ2RJZRuYlkotT9xTEk7OD7INELVk,2240
364
361
  machineconfig/settings/yazi/keymap_windows.toml,sha256=i8tWQwpvA7XE2DAKbjKaaUigsT5hmNqK9OipcgIOZDo,2023
365
- machineconfig/settings/yazi/theme.toml,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
366
- machineconfig/settings/yazi/yazi.toml,sha256=KRGbjMkCmbCdTRxEXJXd5gI1kTEQK7VtDGm1MXsOJDw,234
362
+ machineconfig/settings/yazi/theme.toml,sha256=YIzoyrdGQA-srv41M0z-O1avoQMM5_Mw9lwUCDagFio,56
363
+ machineconfig/settings/yazi/yazi_linux.toml,sha256=vjQUmL8sn6AFaZUMZG1MULXEP7l1e6l4yhI_DkBbTUQ,2589
364
+ machineconfig/settings/yazi/yazi_windows.toml,sha256=kiNr_lFyMLAa9CGeTW3hKcGCttqG76dOGvkK4tzQCLc,1535
367
365
  machineconfig/settings/yazi/shell/yazi_cd.ps1,sha256=-H6tPmalGlUEmYybFgk51d_MfA3Q01Emf8lVXzKQsi0,1604
368
366
  machineconfig/settings/yazi/shell/yazi_cd.sh,sha256=oC_MSBbnSwCg6qgGe598Qhm0V2B9RD5IcIbKEabn7aE,208
369
367
  machineconfig/settings/zed/settings.json,sha256=WYuoJycLVhM1-_Haq2VlERds3W7LZFzJ1qJp7lwhnos,789
@@ -381,11 +379,10 @@ machineconfig/setup_linux/apps_desktop.sh,sha256=L2b_pcw3GiQdoAaoMO7J4bVvUoG5Pnu
381
379
  machineconfig/setup_linux/apps_gui.sh,sha256=lFPYq7H2bRogPwW6QoEuSr9GnTjHS-jRM_eYg2rjOmM,2301
382
380
  machineconfig/setup_linux/uv.sh,sha256=cyegPmMMB7B3OnVx9KxZiU1JQU3Z_oqboUgwzmW2W40,487
383
381
  machineconfig/setup_linux/others/android.sh,sha256=gzep6bBhK7FCBvGcXK0fdJCtkSfBOftt0aFyDZq_eMs,68
384
- machineconfig/setup_linux/others/cli_installation.sh,sha256=gVvszYZJgKPRJx2SEaE31BXDP0Fmeta4--gpr-zJZlY,4010
385
382
  machineconfig/setup_linux/others/mint_keyboard_shortcuts.sh,sha256=F5dbg0n9RHsKGPn8fIdZMn3p0RrHEkb8rWBGsdVGbus,1207
386
383
  machineconfig/setup_linux/ssh/openssh_all.sh,sha256=3dg6HEUFbHQOzLfSAtzK_D_GB8rGCCp_aBnxNdnidVc,824
387
384
  machineconfig/setup_linux/ssh/openssh_wsl.sh,sha256=1eeRGrloVB34K5z8yWVUMG5b9pV-WBfHgV9jqXiYgCQ,1398
388
- machineconfig/setup_linux/web_shortcuts/interactive.sh,sha256=K0el74YyHJmmzNwrMeG9Ckg1ii82sQMFRGKH9lEgSDQ,1606
385
+ machineconfig/setup_linux/web_shortcuts/interactive.sh,sha256=DY1aT6mH9Id-7jzntixwDpkuldLcY4-yDqXQkjkHLoY,1606
389
386
  machineconfig/setup_mac/__init__.py,sha256=PfdhwY4Ss-rfP7b4-9fvKwxCDtNAd-u1JdhFYnE7CwI,518
390
387
  machineconfig/setup_mac/apps_gui.sh,sha256=3alvddg918oMlJB2aUWJWpGGoaq5atlxcaOwhnyXlRI,9517
391
388
  machineconfig/setup_mac/uv.sh,sha256=CSN8oCBKS-LK1vJJqYOhAMcrouTf4Q_F3cpplc_ddMA,1157
@@ -400,7 +397,7 @@ machineconfig/setup_windows/ssh/add_identity.ps1,sha256=b8ZXpmNUSw3IMYvqSY7ClpdW
400
397
  machineconfig/setup_windows/ssh/openssh-server.ps1,sha256=OMlYQdvuJQNxF5EILLPizB6BZAT3jAmDsv1WcVVxpFQ,2529
401
398
  machineconfig/setup_windows/ssh/openssh-server_add_key.ps1,sha256=91cL3K4H2saAuzOS1GxGicpc64ZDpgvPY39YPBWyxZI,269
402
399
  machineconfig/setup_windows/ssh/openssh-server_copy-ssh-id.ps1,sha256=-7pElYiGFXUvO4dp6rW0LXmNo65h3hFTHJWyHbmO3Xc,745
403
- machineconfig/setup_windows/web_shortcuts/interactive.ps1,sha256=rKtO0-_j3NS8E1EdORfSbsFv6FycYiDGjS8PajurkUc,1939
400
+ machineconfig/setup_windows/web_shortcuts/interactive.ps1,sha256=vLx69x4B5Yh2Yn4NeKOHRCGnUjeMYgXn2cLAeF8GtCQ,1939
404
401
  machineconfig/setup_windows/web_shortcuts/quick_init.ps1,sha256=bcRWU6QIFv5U4ibXy7jKqO7YfxpI3KvvesZ88aQD49E,652
405
402
  machineconfig/setup_windows/wt_and_pwsh/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
406
403
  machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py,sha256=ogxJnwpdcpH7N6dFJu95UCNoGYirZKQho_3X0F_hmXs,6791
@@ -438,23 +435,24 @@ machineconfig/utils/files/art/water_croco.txt,sha256=5SPK6W3TQe6mO9eFbDIZ4n1rNAj
438
435
  machineconfig/utils/files/ouch/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
439
436
  machineconfig/utils/files/ouch/decompress.py,sha256=7qPaEkMerBBXzeZyFn8hLODHZJv1aty-yGgwBxLgVys,1413
440
437
  machineconfig/utils/installer_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
441
- machineconfig/utils/installer_utils/github_release_bulk.py,sha256=WJf_qZlF02SmIc6C7o1h4Gy4gAaJAfeAS8O9s2Itj-k,6535
442
- machineconfig/utils/installer_utils/install_from_url.py,sha256=18eOJNIfLsiUv9FAvdvGu92rwgb0wu89YrYT3VC8UNk,8548
443
- machineconfig/utils/installer_utils/installer_class.py,sha256=82ZzlOK3ryS1AOKcrYBzDZZp_kKQUCoF8UJ4VJMqXPE,18152
444
- machineconfig/utils/installer_utils/installer_cli.py,sha256=EkVRZLDeb4aEMatSTx8Nnx8XeWkTDQqwOut2dF3IERg,9680
438
+ machineconfig/utils/installer_utils/github_release_bulk.py,sha256=0lbZDOfm0WDcQQutEKiHd7eOzmKWb6pgbUpGDSgcnYo,8198
439
+ machineconfig/utils/installer_utils/install_from_url.py,sha256=qaAdlxSjF9EpNoDaY71m4MRztMHpSalujy979EqLZbI,9402
440
+ machineconfig/utils/installer_utils/installer_class.py,sha256=p54_4bTBAH3DSmO5ftdmOWNrmD6Fcf2djQTNv-tA2YU,15510
441
+ machineconfig/utils/installer_utils/installer_cli.py,sha256=XD7Jn0C3ooriXHGt2ewpwopL0AhAq453BCGBwPyYbPo,8474
442
+ machineconfig/utils/installer_utils/installer_helper.py,sha256=-Tkq2K0-123sgxKDGjzraEHjBSUIWAEoV9IaSRPVD0U,4726
445
443
  machineconfig/utils/installer_utils/installer_locator_utils.py,sha256=_QihkKgi7-IGrQQoy8muD0iL_n65ebvqDgiv43sCudI,8984
446
- machineconfig/utils/installer_utils/installer_runner.py,sha256=yHaW2_5XM7NTfS7kWDEhb7MJZAr4GMzs1aR6pOFYBBo,8047
444
+ machineconfig/utils/installer_utils/installer_runner.py,sha256=aISG0kaXV49PvRWz_wBaKJ9-SQ2rp_lMZjmeBZ1si78,7920
447
445
  machineconfig/utils/schemas/fire_agents/fire_agents_input.py,sha256=d3pwhmE-EuHPxaIoTTZeUdDUEK9QqtimV8zO3vV-7N4,2052
448
446
  machineconfig/utils/schemas/installer/installer_types.py,sha256=QClRY61QaduBPJoSpdmTIdgS9LS-RvE-QZ-D260tD3o,1214
449
447
  machineconfig/utils/schemas/layouts/layout_types.py,sha256=IV45Z_ZTw8S4V-wiZ_lpAVsUX6rSSfDCG7qm5Dk4Oog,1977
450
448
  machineconfig/utils/schemas/repos/repos_types.py,sha256=ECVr-3IVIo8yjmYmVXX2mnDDN1SLSwvQIhx4KDDQHBQ,405
451
- machineconfig/utils/ssh_utils/abc.py,sha256=SxBUsm4cHsIrUZhUxN-PimKE7It1oOHWrxShLn9dE0U,243
449
+ machineconfig/utils/ssh_utils/abc.py,sha256=WM06yGPx5DbiUgiJPn0IrnOPc5er80yDrpcjPcQ8N08,251
452
450
  machineconfig/utils/ssh_utils/copy_from_here.py,sha256=-iQdk2d5S9xDIhU2hsdAWWRmRYjPZX33SxvBSrpKjdY,5322
453
451
  machineconfig/utils/ssh_utils/copy_to_here.py,sha256=yM-U7knnOA7IwgXmXEdoeJ4SChsd4aMAyxkeBTkkcYU,13844
454
452
  machineconfig/utils/ssh_utils/utils.py,sha256=C5Ht13WlKdXEwaSbs9SE8v09Sw_8Dn0ei4_bAwXQpLE,6198
455
- machineconfig/utils/ssh_utils/wsl.py,sha256=qp0pIG7L6gBhv7KiFP_LxYkiJ7Ji5gDcxa0kILwu9Do,6371
456
- machineconfig-7.79.dist-info/METADATA,sha256=pBjVSp93FPKuuJTKItkzppJ8bDgAqxjD4cqfcM1GPX0,5939
457
- machineconfig-7.79.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
458
- machineconfig-7.79.dist-info/entry_points.txt,sha256=nZv_eHgIxktijrRlv1O4AMwbXXN-pnEUwQF7qZC9lcI,740
459
- machineconfig-7.79.dist-info/top_level.txt,sha256=porRtB8qms8fOIUJgK-tO83_FeH6Bpe12oUVC670teA,14
460
- machineconfig-7.79.dist-info/RECORD,,
453
+ machineconfig/utils/ssh_utils/wsl.py,sha256=nSzZnZ7M4d3mfW2z-57OQIwfVpa114bJVOf9tDLheLE,7865
454
+ machineconfig-7.83.dist-info/METADATA,sha256=owkrIN83BTswAk_FGMJn8Mf9DApMVCe2fc5R4BWCwws,5879
455
+ machineconfig-7.83.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
456
+ machineconfig-7.83.dist-info/entry_points.txt,sha256=nZv_eHgIxktijrRlv1O4AMwbXXN-pnEUwQF7qZC9lcI,740
457
+ machineconfig-7.83.dist-info/top_level.txt,sha256=porRtB8qms8fOIUJgK-tO83_FeH6Bpe12oUVC670teA,14
458
+ machineconfig-7.83.dist-info/RECORD,,
@@ -1,17 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- # uses fzf as filter After ripgrep (secondary filter)
4
- # from https://github.com/junegunn/fzf/blob/master/ADVANCED.md#ripgrep-integration
5
- # 1. Search for text in files using Ripgrep
6
- # 2. Interactively narrow down the list using fzf
7
- # 3. Open the file in Vim
8
- IFS=: read -ra selected < <(
9
- rg --color=always --line-number --no-heading --smart-case "${*:-}" |
10
- fzf --ansi \
11
- --color "hl:-1:underline,hl+:-1:underline:reverse" \
12
- --delimiter : \
13
- --preview 'batcat --color=always {1} --highlight-line {2}' \
14
- --preview-window 'up,60%,border-bottom,+{2}+3/3,~3'
15
- )
16
- [ -n "${selected[0]}" ] && hx "${selected[0]}" "+${selected[1]}"
17
-
@@ -1,21 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- # From https://github.com/phiresky/ripgrep-all/wiki/fzf-Integration
4
-
5
- rga-fzf() {
6
- RG_PREFIX="rga --files-with-matches"
7
- local file
8
- file="$(
9
- FZF_DEFAULT_COMMAND="$RG_PREFIX '$1'" \
10
- fzf --sort --preview="[[ ! -z {} ]] && rga --pretty --context 5 {q} {}" \
11
- --phony -q "$1" \
12
- --bind "change:reload:$RG_PREFIX {q}" \
13
- --preview-window="70%:wrap"
14
- )" &&
15
- echo "opening $file" &&
16
- hx "$file"
17
- }
18
-
19
-
20
- # run the function
21
- rga-fzf