machineconfig 7.36__py3-none-any.whl → 7.37__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 (27) hide show
  1. machineconfig/jobs/installer/installer_data.json +17 -0
  2. machineconfig/profile/create_helper.py +4 -1
  3. machineconfig/scripts/nu/wrap_mcfg.nu +69 -0
  4. machineconfig/scripts/python/croshell.py +6 -13
  5. machineconfig/scripts/python/env_manager/path_manager_tui.py +1 -1
  6. machineconfig/scripts/python/fire_jobs.py +5 -9
  7. machineconfig/scripts/python/helpers_devops/cli_config.py +1 -1
  8. machineconfig/scripts/python/helpers_devops/cli_self.py +3 -3
  9. machineconfig/scripts/python/helpers_devops/cli_utils.py +12 -0
  10. machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py +1 -1
  11. machineconfig/scripts/python/helpers_repos/count_lines_frontend.py +1 -1
  12. machineconfig/scripts/python/msearch.py +2 -10
  13. machineconfig/scripts/python/utils.py +4 -1
  14. machineconfig/scripts/windows/mounts/mount_ssh.ps1 +1 -1
  15. machineconfig/settings/shells/bash/init.sh +1 -1
  16. machineconfig/settings/shells/nushell/init.nu +61 -0
  17. machineconfig/settings/shells/pwsh/init.ps1 +4 -4
  18. machineconfig/settings/shells/wt/settings.json +4 -3
  19. machineconfig/setup_linux/web_shortcuts/interactive.sh +11 -11
  20. machineconfig/setup_windows/web_shortcuts/interactive.ps1 +12 -12
  21. machineconfig/utils/code.py +35 -15
  22. machineconfig/utils/ssh.py +1 -1
  23. {machineconfig-7.36.dist-info → machineconfig-7.37.dist-info}/METADATA +1 -1
  24. {machineconfig-7.36.dist-info → machineconfig-7.37.dist-info}/RECORD +27 -25
  25. {machineconfig-7.36.dist-info → machineconfig-7.37.dist-info}/WHEEL +0 -0
  26. {machineconfig-7.36.dist-info → machineconfig-7.37.dist-info}/entry_points.txt +0 -0
  27. {machineconfig-7.36.dist-info → machineconfig-7.37.dist-info}/top_level.txt +0 -0
@@ -1106,6 +1106,23 @@
1106
1106
  }
1107
1107
  }
1108
1108
  },
1109
+ {
1110
+ "appName": "Clipboard",
1111
+ "repoURL": "https://github.com/Slackadays/Clipboard",
1112
+ "doc": "🔍 Inspecting the memory usage of a running process",
1113
+ "fileNamePattern": {
1114
+ "amd64": {
1115
+ "linux": "bytehound-x86_64-unknown-linux-gnu.tgz",
1116
+ "macos": null,
1117
+ "windows": null
1118
+ },
1119
+ "arm64": {
1120
+ "linux": null,
1121
+ "macos": null,
1122
+ "windows": null
1123
+ }
1124
+ }
1125
+ },
1109
1126
  {
1110
1127
  "appName": "atuin",
1111
1128
  "repoURL": "https://github.com/atuinsh/atuin",
@@ -12,16 +12,19 @@ def copy_assets_to_machine(which: Literal["scripts", "settings"]):
12
12
  system = "linux"
13
13
  else:
14
14
  raise NotImplementedError(f"System {platform.system().lower()} not supported")
15
+ from machineconfig.utils.path_extended import PathExtended
15
16
  match which:
16
17
  case "scripts":
17
18
  source = LIBRARY_ROOT.joinpath("scripts", system)
18
19
  target = CONFIG_ROOT.joinpath("scripts", system)
19
20
 
21
+ PathExtended(LIBRARY_ROOT.joinpath("scripts", "nu", "wrap_mcfg.nu")).copy(folder=CONFIG_ROOT.joinpath("scripts"), overwrite=True)
20
22
  case "settings":
21
23
  source = LIBRARY_ROOT.joinpath("settings")
22
24
  target = CONFIG_ROOT.joinpath("settings")
23
- from machineconfig.utils.path_extended import PathExtended
25
+
24
26
  PathExtended(source).copy(folder=target.parent, overwrite=True)
27
+
25
28
  import platform
26
29
  system = platform.system().lower()
27
30
  if system == "linux" and which == "scripts":
@@ -0,0 +1,69 @@
1
+ #!/usr/bin/env nu
2
+
3
+ def wrap-in-shell-script [command: string ...args: string] -> nothing {
4
+ # ANSI color/style codes
5
+ let bold = (char ansi_reset | str append "\e[1m")
6
+ let reset = "\e[0m"
7
+ let green = "\e[32m"
8
+ let yellow = "\e[33m"
9
+ let blue = "\e[34m"
10
+ let red = "\e[31m"
11
+
12
+ let random_name = (date now | format date "%s%N" | sha256sum | str substring 0..16)
13
+ let op_dir = $"($env.HOME)/tmp_results/tmp_scripts/machineconfig"
14
+ let op_program_path = $"($op_dir)/($random_name).sh"
15
+
16
+ $env.OP_PROGRAM_PATH = $op_program_path
17
+
18
+ let timestamp = (date now --utc | format date "%Y-%m-%d %H:%M:%SZ")
19
+
20
+ print $"($bold)($blue)🛠️ machineconfig — running ($command)($reset)"
21
+ print $"($blue)Timestamp:($reset) ($timestamp)"
22
+ print $"($blue)Op program path:($reset) ($op_program_path)"
23
+
24
+ # Forward arguments to the command
25
+ let result = (
26
+ try {
27
+ nu -c $"($command) ($args | str join ' ')"
28
+ } catch {
29
+ $"Error running command: ($in)"
30
+ }
31
+ )
32
+
33
+ if ($op_program_path | path exists) {
34
+ print $"($green)🚀 Taking over from python script @ ($op_program_path)($reset)"
35
+
36
+ if (which bat | is-empty | not) {
37
+ bat --style=plain --paging=never $op_program_path
38
+ } else {
39
+ open $op_program_path
40
+ }
41
+
42
+ print $"($green)▶ Running...($reset)"
43
+
44
+ let status = (
45
+ try {
46
+ bash $op_program_path
47
+ 0
48
+ } catch {
49
+ 1
50
+ }
51
+ )
52
+
53
+ if ($status == 0) {
54
+ print $"($green)✅ '($command)' execution completed.($reset)"
55
+ } else {
56
+ print $"($yellow)⚠️ Program exited with status ($status)($reset)"
57
+ }
58
+ } else {
59
+ print $"($green)✅ '($command)' execution completed.($reset)"
60
+ }
61
+ }
62
+
63
+ def main [] {
64
+ if ($nu.env.args | length) > 0 {
65
+ wrap-in-shell-script ...$nu.env.args
66
+ }
67
+ }
68
+
69
+ main
@@ -130,7 +130,7 @@ def croshell(
130
130
  fire_line = f"uv run --python 3.14 --with visidata,pyarrow vd {str(file_obj)}"
131
131
  elif marimo:
132
132
  if Path.home().joinpath("code/machineconfig").exists(): requirements = f"""--with marimo --project "{str(Path.home().joinpath("code/machineconfig"))}" """
133
- else: requirements = """--python 3.14 --with "marimo,machineconfig[plot]>=7.36" """
133
+ else: requirements = """--python 3.14 --with "marimo,machineconfig[plot]>=7.37" """
134
134
  fire_line = f"""
135
135
  cd {str(pyfile.parent)}
136
136
  uv run --python 3.14 --with "marimo" marimo convert {pyfile.name} -o marimo_nb.py
@@ -138,14 +138,14 @@ uv run {requirements} marimo edit --host 0.0.0.0 marimo_nb.py
138
138
  """
139
139
  elif jupyter:
140
140
  if Path.home().joinpath("code/machineconfig").exists(): requirements = f"""--project "{str(Path.home().joinpath("code/machineconfig"))}" --with jupyterlab """
141
- else: requirements = """--with "machineconfig[plot]>=7.36" """
141
+ else: requirements = """--with "machineconfig[plot]>=7.37" """
142
142
  fire_line = f"uv run {requirements} jupyter-lab {str(nb_target)}"
143
143
  elif vscode:
144
144
  fire_line = f"""
145
145
  cd {str(pyfile.parent)}
146
146
  uv init --python 3.14
147
147
  uv venv
148
- uv add "machineconfig[plot]>=7.36"
148
+ uv add "machineconfig[plot]>=7.37"
149
149
  # code serve-web
150
150
  code --new-window {str(pyfile)}
151
151
  """
@@ -153,20 +153,13 @@ code --new-window {str(pyfile)}
153
153
  if interpreter == "ipython": profile = f" --profile {ipython_profile} --no-banner"
154
154
  else: profile = ""
155
155
  if Path.home().joinpath("code/machineconfig").exists(): ve_line = f"""--project "{str(Path.home().joinpath("code/machineconfig"))}" """
156
- else: ve_line = """--python 3.14 --with "machineconfig[plot]>=7.36" """
156
+ else: ve_line = """--python 3.14 --with "machineconfig[plot]>=7.37" """
157
157
  # ve_path_maybe, ipython_profile_maybe = get_ve_path_and_ipython_profile(Path.cwd())
158
158
  # --python 3.14
159
159
  fire_line = f"uv run {ve_line} {interpreter} {interactivity} {profile} {str(pyfile)}"
160
160
 
161
- import os
162
- program_path_maybe = os.environ.get("OP_PROGRAM_PATH", None)
163
- if program_path_maybe is not None:
164
- program_path_obj = PathExtended(program_path_maybe)
165
- program_path_obj.parent.mkdir(parents=True, exist_ok=True)
166
- program_path_obj.write_text(data=fire_line, encoding="utf-8")
167
- else:
168
- from machineconfig.utils.code import run_shell_script
169
- run_shell_script(fire_line, clean_env=False)
161
+ from machineconfig.utils.code import exit_then_run_shell_script
162
+ exit_then_run_shell_script(fire_line, strict=False)
170
163
 
171
164
 
172
165
  def main() -> None:
@@ -2,7 +2,7 @@
2
2
  # /// script
3
3
  # requires-python = ">=3.13"
4
4
  # dependencies = [
5
- # "machineconfig>=7.36",
5
+ # "machineconfig>=7.37",
6
6
  # "textual",
7
7
  # "pyperclip",
8
8
  # ]
@@ -38,6 +38,7 @@ def route(args: FireJobArgs, fire_args: str = "") -> None:
38
38
  repo_root = get_repo_root(Path(choice_file))
39
39
  print(f"💾 Selected file: {choice_file}.\nRepo root: {repo_root}")
40
40
  if args.marimo:
41
+ print(f"🧽 Preparing to launch Marimo notebook for `{choice_file}`...")
41
42
  tmp_dir = PathExtended.tmp().joinpath(f"tmp_scripts/marimo/{choice_file.stem}_{randstr()}")
42
43
  tmp_dir.mkdir(parents=True, exist_ok=True)
43
44
  script = f"""
@@ -52,6 +53,7 @@ uv run --project {repo_root} --with marimo marimo edit --host 0.0.0.0 marimo_nb.
52
53
 
53
54
  # ========================= preparing kwargs_dict
54
55
  if choice_file.suffix == ".py":
56
+
55
57
  kwargs_dict = extract_kwargs(args) # This now returns empty dict, but kept for compatibility
56
58
  else:
57
59
  kwargs_dict = {}
@@ -165,15 +167,9 @@ uv run --project {repo_root} --with marimo marimo edit --host 0.0.0.0 marimo_nb.
165
167
  command = "$ErrorActionPreference = 'SilentlyContinue';\n" + command + "\nStart-Sleep -Seconds 0.5"
166
168
  else:
167
169
  raise NotImplementedError(f"Platform {platform.system()} not supported.")
168
- import os
169
- op_program_path = os.environ.get("OP_PROGRAM_PATH", None)
170
- if op_program_path is not None:
171
- op_program_path = Path(op_program_path)
172
- op_program_path.parent.mkdir(parents=True, exist_ok=True)
173
- op_program_path.write_text(command, encoding="utf-8")
174
- else:
175
- from machineconfig.utils.code import run_shell_script
176
- run_shell_script(command)
170
+
171
+ from machineconfig.utils.code import exit_then_run_shell_script
172
+ exit_then_run_shell_script(script=command, strict=False)
177
173
 
178
174
 
179
175
  def fire(
@@ -39,7 +39,7 @@ def path():
39
39
  uv_with = ["textual"]
40
40
  uv_project_dir = None
41
41
  if not Path.home().joinpath("code/machineconfig").exists():
42
- uv_with.append("machineconfig>=7.36")
42
+ uv_with.append("machineconfig>=7.37")
43
43
  else:
44
44
  uv_project_dir = str(Path.home().joinpath("code/machineconfig"))
45
45
  run_shell_script(get_uv_command_executing_python_script(python_script=path.read_text(encoding="utf-8"), uv_with=uv_with, uv_project_dir=uv_project_dir)[0])
@@ -48,9 +48,9 @@ def install(no_copy_assets: Annotated[bool, typer.Option("--no-assets-copy", "-n
48
48
  else:
49
49
  import platform
50
50
  if platform.system() == "Windows":
51
- run_shell_script(r"""& "$HOME\.local\bin\uv.exe" tool install --upgrade "machineconfig>=7.36" """)
51
+ run_shell_script(r"""& "$HOME\.local\bin\uv.exe" tool install --upgrade "machineconfig>=7.37" """)
52
52
  else:
53
- run_shell_script("""$HOME/.local/bin/uv tool install --upgrade "machineconfig>=7.36" """)
53
+ run_shell_script("""$HOME/.local/bin/uv tool install --upgrade "machineconfig>=7.37" """)
54
54
  from machineconfig.profile.create_shell_profile import create_default_shell_profile
55
55
  if not no_copy_assets:
56
56
  create_default_shell_profile() # involves copying assets too
@@ -75,7 +75,7 @@ def navigate():
75
75
  path = Path(navigator.__file__).resolve().parent.joinpath("devops_navigator.py")
76
76
  from machineconfig.utils.code import run_shell_script
77
77
  if Path.home().joinpath("code/machineconfig").exists(): executable = f"""--project "{str(Path.home().joinpath("code/machineconfig"))}" --with textual"""
78
- else: executable = """--with "machineconfig>=7.36,textual" """
78
+ else: executable = """--with "machineconfig>=7.37,textual" """
79
79
  run_shell_script(f"""uv run {executable} {path}""")
80
80
 
81
81
 
@@ -5,6 +5,18 @@ from typing import Annotated, Literal, Optional, TypedDict
5
5
  from pathlib import Path
6
6
 
7
7
 
8
+ def copy(path: Annotated[str, typer.Argument(..., help="Path of the file to copy to clipboard")]):
9
+ def copy_internal(path: str):
10
+ import pyperclip
11
+ from pathlib import Path
12
+ pyperclip.copy(Path(path).read_text(encoding="utf-8"))
13
+ from machineconfig.utils.meta import lambda_to_python_script
14
+ from machineconfig.utils.code import exit_then_run_shell_script, get_uv_command_executing_python_script
15
+ py_script = lambda_to_python_script(lambda: copy_internal(path=str(path)), in_global=True, import_module=False)
16
+ shell_script, _python_file = get_uv_command_executing_python_script(python_script=py_script, uv_with=["pyperclip"], uv_project_dir=None)
17
+ exit_then_run_shell_script(shell_script, strict=True)
18
+
19
+
8
20
  def download(
9
21
  url: Annotated[Optional[str], typer.Argument(..., help="The URL to download the file from.")] = None,
10
22
  decompress: Annotated[bool, typer.Option("--decompress", "-d", help="Decompress the file if it's an archive.")] = False,
@@ -80,7 +80,7 @@ git pull originEnc master
80
80
  uv_project_dir = f"""{str(Path.home().joinpath("code/machineconfig"))}"""
81
81
  uv_with = None
82
82
  else:
83
- uv_with = ["machineconfig>=7.36"]
83
+ uv_with = ["machineconfig>=7.37"]
84
84
  uv_project_dir = None
85
85
 
86
86
  import tempfile
@@ -8,7 +8,7 @@ def analyze_repo_development(repo_path: Annotated[str, typer.Argument(..., help=
8
8
  from pathlib import Path
9
9
  count_lines_path = Path(count_lines.__file__)
10
10
  # --project $HOME/code/ machineconfig --group plot
11
- cmd = f"""uv run --python 3.14 --with "machineconfig[plot]>=7.36" {count_lines_path} analyze-over-time {repo_path}"""
11
+ cmd = f"""uv run --python 3.14 --with "machineconfig[plot]>=7.37" {count_lines_path} analyze-over-time {repo_path}"""
12
12
  from machineconfig.utils.code import run_shell_script
13
13
  run_shell_script(cmd)
14
14
 
@@ -11,16 +11,8 @@ def machineconfig_find():
11
11
  script_path = FZFG_WINDOWS_PATH
12
12
  else:
13
13
  raise RuntimeError("Unsupported platform")
14
- import os
15
- op_program_path = os.getenv("OP_PROGRAM_PATH")
16
- if op_program_path is None:
17
- typer.echo("Error: OP_PROGRAM_PATH environment variable is not set, please run using `wrap_mcfg msearch` ", err=True)
18
- raise typer.Exit(code=1)
19
- from pathlib import Path
20
- op_program_path = Path(op_program_path)
21
- op_program_path.write_text(script_path.read_text(encoding="utf-8"), encoding="utf-8")
22
- # Use the script_path as needed
23
- # print(f"Using script at: {script_path}")
14
+ from machineconfig.utils.code import exit_then_run_shell_script
15
+ exit_then_run_shell_script(script=script_path.read_text(encoding="utf-8"), strict=False)
24
16
 
25
17
 
26
18
  def main():
@@ -1,6 +1,6 @@
1
1
 
2
2
 
3
- from machineconfig.scripts.python.helpers_devops.cli_utils import download, merge_pdfs, get_machine_specs, init_project, compress_pdf
3
+ from machineconfig.scripts.python.helpers_devops.cli_utils import download, merge_pdfs, get_machine_specs, init_project, compress_pdf, copy
4
4
  import typer
5
5
  from typing import Annotated
6
6
 
@@ -45,6 +45,9 @@ def get_app() -> typer.Typer:
45
45
  app.command(name="pdf-compress", no_args_is_help=True, help="[pc] Compress a PDF file.")(compress_pdf)
46
46
  app.command(name="pc", no_args_is_help=True, hidden=True)(compress_pdf)
47
47
 
48
+ app.command(name="copy", no_args_is_help=True, help="[c] Copy files or directories.")(copy)
49
+ app.command(name="c", no_args_is_help=True, hidden=True)(copy)
50
+
48
51
  return app
49
52
 
50
53
  # def func():
@@ -7,7 +7,7 @@ $user = ''
7
7
  $sharePath = ''
8
8
  $driveLetter = ''
9
9
 
10
- uv run --python 3.14 --with "machineconfig>=7.36" python -m machineconfig.scripts.python.mount_ssh
10
+ uv run --python 3.14 --with "machineconfig>=7.37" python -m machineconfig.scripts.python.mount_ssh
11
11
 
12
12
  net use T: \\sshfs.kr\$user@$host.local
13
13
  # this worked: net use T: \\sshfs\alex@alex-p51s-5.local
@@ -50,7 +50,7 @@ alias d='wrap_in_shell_script devops'
50
50
  alias c='wrap_in_shell_script cloud'
51
51
  alias a='wrap_in_shell_script agents'
52
52
  alias s='wrap_in_shell_script sessions'
53
- alias ff='wrap_in_shell_script ftpx'
53
+ alias fx='wrap_in_shell_script ftpx'
54
54
  alias f='wrap_in_shell_script fire'
55
55
  alias r='wrap_in_shell_script croshell'
56
56
  alias u='wrap_in_shell_script utils'
@@ -0,0 +1,61 @@
1
+ # Nushell initialization script
2
+ # Translation of init.ps1 to Nushell
3
+
4
+ const CONFIG_ROOT = $"($env.HOME)/.config/machineconfig"
5
+
6
+ # Add directories to PATH if not already present
7
+ def add_to_path_if_not_already [...directories: string] {
8
+ for dir in $directories {
9
+ if $dir not-in $env.PATH {
10
+ $env.PATH = ($env.PATH | append $dir)
11
+ }
12
+ }
13
+ }
14
+
15
+ # Add directories to PATH
16
+ add_to_path_if_not_already (
17
+ $"($CONFIG_ROOT)/scripts/linux"
18
+ $"($env.HOME)/dotfiles/scripts/linux"
19
+ "/usr/local/bin"
20
+ )
21
+
22
+ # Source external scripts and define aliases
23
+ if ($"($CONFIG_ROOT)/scripts/linux" | path exists) {
24
+ # Source helper scripts
25
+ source $"($CONFIG_ROOT)/settings/broot/brootcd.nu"
26
+ source $"($CONFIG_ROOT)/settings/lf/linux/lfcd.nu"
27
+ source $"($CONFIG_ROOT)/settings/tere/terecd.nu"
28
+ source $"($CONFIG_ROOT)/scripts/linux/wrap_mcfg.nu"
29
+
30
+ # Define aliases and custom commands
31
+ def lsdla [] { lsd -la }
32
+ alias l = lsdla
33
+
34
+ def d [...args: string] { wrap_in_shell_script devops ...$args }
35
+ def c [...args: string] { wrap_in_shell_script cloud ...$args }
36
+ def a [...args: string] { wrap_in_shell_script agents ...$args }
37
+ def ss [...args: string] { wrap_in_shell_script sessions ...$args }
38
+ def ff [...args: string] { wrap_in_shell_script ftpx ...$args }
39
+ def f [...args: string] { wrap_in_shell_script fire ...$args }
40
+ def rr [...args: string] { wrap_in_shell_script croshell ...$args }
41
+ def u [...args: string] { wrap_in_shell_script utils ...$args }
42
+ def t [...args: string] { wrap_in_shell_script terminal ...$args }
43
+ def ms [...args: string] { wrap_in_shell_script msearch ...$args }
44
+ } else {
45
+ print $"Missing config files: ($CONFIG_ROOT)"
46
+ }
47
+
48
+ # Initialize zoxide if available
49
+ # Patched by machineconfig from https://github.com/ajeetdsouza/zoxide
50
+ try {
51
+ source <(zoxide init nushell)
52
+ } catch {
53
+ # Do nothing if zoxide is not available
54
+ }
55
+
56
+ # Initialize Starship prompt if available
57
+ try {
58
+ source <(starship init nu)
59
+ } catch {
60
+ # Do nothing if starship is not available
61
+ }
@@ -35,8 +35,8 @@ if (Test-Path "$CONFIG_ROOT\scripts\windows\wrap_mcfg.ps1") {
35
35
  function d { wrap_in_shell_script devops $args }
36
36
  function c { wrap_in_shell_script cloud $args }
37
37
  function a { wrap_in_shell_script agents $args }
38
- function ss { wrap_in_shell_script sessions $args }
39
- function ff { wrap_in_shell_script ftpx $args }
38
+ function sx { wrap_in_shell_script sessions $args }
39
+ function fx { wrap_in_shell_script ftpx $args }
40
40
  function f { wrap_in_shell_script fire $args }
41
41
  function rr { wrap_in_shell_script croshell $args }
42
42
  function u { wrap_in_shell_script utils $args }
@@ -51,8 +51,8 @@ else {
51
51
  function d { devops $args }
52
52
  function c { cloud $args }
53
53
  function a { agents $args }
54
- function ss { sessions $args }
55
- function ff { ftpx $args }
54
+ function sx { sessions $args }
55
+ function fx { ftpx $args }
56
56
  function f { fire $args }
57
57
  function rr { croshell $args }
58
58
  function u { utils $args }
@@ -70,7 +70,7 @@
70
70
  "startingDirectory": "%USERPROFILE%"
71
71
  },
72
72
  {
73
- "commandline": "powershell.exe -Command \"$HOME/scripts/croshell.ps1\"",
73
+ "commandline": "powershell.exe -Command \"rr\"",
74
74
  "guid": "{1e951406-6597-48c7-8137-b967bed19572}",
75
75
  "name": "croshell",
76
76
  "startingDirectory": "%USERPROFILE%"
@@ -101,8 +101,9 @@
101
101
  {
102
102
  "guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
103
103
  "hidden": false,
104
- "name": "Azure Cloud Shell",
105
- "source": "Windows.Terminal.Azure"
104
+ "commandline": "nu.exe",
105
+ "name": "nushell"
106
+ // "source": "Windows.Terminal.Azure"
106
107
  },
107
108
  {
108
109
  "guid": "{2ddc9f1a-8263-557a-8652-3db9e80a7164}",
@@ -2,22 +2,22 @@
2
2
  . <( curl -sSL "https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_linux/uv.sh")
3
3
  . <( curl -sSL "https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/scripts/linux/wrap_mcfg")
4
4
 
5
- alias devops='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.36" devops'
6
- alias cloud='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.36" cloud'
7
- alias agents='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.36" agents'
8
- alias sessions='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.36" sessions'
9
- alias ftpx='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.36" ftpx'
10
- alias fire='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.36" fire'
11
- alias croshell='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.36" croshell'
12
- alias utils='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.36" utils'
13
- alias terminal='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.36" terminal'
14
- alias msearch='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.36" msearch'
5
+ alias devops='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.37" devops'
6
+ alias cloud='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.37" cloud'
7
+ alias agents='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.37" agents'
8
+ alias sessions='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.37" sessions'
9
+ alias ftpx='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.37" ftpx'
10
+ alias fire='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.37" fire'
11
+ alias croshell='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.37" croshell'
12
+ alias utils='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.37" utils'
13
+ alias terminal='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.37" terminal'
14
+ alias msearch='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.37" msearch'
15
15
 
16
16
  alias d='wrap_in_shell_script devops'
17
17
  alias c='wrap_in_shell_script cloud'
18
18
  alias a='wrap_in_shell_script agents'
19
19
  alias ss='wrap_in_shell_script sessions'
20
- alias ff='wrap_in_shell_script ftpx'
20
+ alias fx='wrap_in_shell_script ftpx'
21
21
  alias f='wrap_in_shell_script fire'
22
22
  alias rr='wrap_in_shell_script croshell'
23
23
  alias u='wrap_in_shell_script utils'
@@ -3,22 +3,22 @@
3
3
  iex (iwr "https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_windows/uv.ps1").Content
4
4
  iex (iwr "https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/scripts/windows/wrap_mcfg.ps1").Content
5
5
 
6
- function devops { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.36" devops $args }
7
- function cloud { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.36" cloud $args }
8
- function agents { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.36" agents $args }
9
- function sessions { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.36" sessions $args }
10
- function ftpx { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.36" ftpx $args }
11
- function fire { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.36" fire $args }
12
- function croshell { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.36" croshell $args }
13
- function utils { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.36" utils $args }
14
- function terminal { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.36" terminal $args }
15
- function msearch { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.36" msearch $args }
6
+ function devops { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.37" devops $args }
7
+ function cloud { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.37" cloud $args }
8
+ function agents { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.37" agents $args }
9
+ function sessions { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.37" sessions $args }
10
+ function ftpx { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.37" ftpx $args }
11
+ function fire { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.37" fire $args }
12
+ function croshell { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.37" croshell $args }
13
+ function utils { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.37" utils $args }
14
+ function terminal { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.37" terminal $args }
15
+ function msearch { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.37" msearch $args }
16
16
 
17
17
  function d { wrap_in_shell_script devops @args }
18
18
  function c { wrap_in_shell_script cloud @args }
19
19
  function a { wrap_in_shell_script agents @args }
20
- function ss { wrap_in_shell_script sessions @args }
21
- function ff { wrap_in_shell_script ftpx @args }
20
+ function sx { wrap_in_shell_script sessions @args }
21
+ function fx { wrap_in_shell_script ftpx @args }
22
22
  function f { wrap_in_shell_script fire @args }
23
23
  function rr { wrap_in_shell_script croshell @args }
24
24
  function u { wrap_in_shell_script utils @args }
@@ -110,27 +110,47 @@ def run_shell_script(script: str, display_script: bool = True, clean_env: bool =
110
110
 
111
111
  def exit_then_run_shell_script(script: str, strict: bool = False):
112
112
  import os
113
+ from rich.console import Console
114
+
115
+ console = Console()
113
116
  op_program_path = os.environ.get("OP_PROGRAM_PATH", None)
114
- if strict and op_program_path is None:
115
- import platform
116
- if platform.system() == "Windows":
117
- suffix = ".ps1"
118
- lexer = "powershell"
119
- else:
120
- suffix = ".sh"
121
- lexer = "bash"
122
- op_program_path = Path.home().joinpath("tmp_results", "tmp_scripts", "manual_run", f"manual_script_{randstr()}.{suffix}")
123
- op_program_path.parent.mkdir(parents=True, exist_ok=True)
124
- op_program_path.write_text(script, encoding="utf-8")
125
- print_code(script, lexer=lexer, desc="script to run manually")
126
- print(f"Please run the script manually via your shell by executing the script @:\n{str(op_program_path)}")
127
- print("OP_PROGRAM_PATH environment variable is not set in strict mode.")
128
117
  if op_program_path is not None:
118
+ exists = Path(op_program_path).exists()
119
+ else:
120
+ exists = False
121
+ # three cases: (op_program_path is None, exists=False), (op_program_path is set, exists=False), (op_program_path is set, exists=True)
122
+
123
+ if strict: # we want to assert op_program_path is set and is not an already existing file
124
+ if (op_program_path is None or exists):
125
+ import platform
126
+ if platform.system() == "Windows":
127
+ suffix = ".ps1"
128
+ lexer = "powershell"
129
+ else:
130
+ suffix = ".sh"
131
+ lexer = "bash"
132
+ op_program_path = Path.home().joinpath("tmp_results", "tmp_scripts", "manual_run", f"manual_script_{randstr()}.{suffix}")
133
+ op_program_path.parent.mkdir(parents=True, exist_ok=True)
134
+ op_program_path.write_text(script, encoding="utf-8")
135
+ print_code(script, lexer=lexer, desc="script to run manually")
136
+ console.print("[bold yellow]⚠️ STRICT MODE:[/bold yellow] [cyan]Please run the script manually via your shell by executing:[/cyan]")
137
+ console.print(f"[green]{str(op_program_path)}[/green]")
138
+ console.print("[red]❌ OP_PROGRAM_PATH environment variable is not set in strict mode.[/red]")
139
+ import sys
140
+ sys.exit(1)
141
+
142
+ if op_program_path is not None and not exists:
129
143
  op_program_path = Path(op_program_path)
130
144
  op_program_path.parent.mkdir(parents=True, exist_ok=True)
131
145
  op_program_path.write_text(script, encoding="utf-8")
132
- print(f"Handing over to shell script runner via OP_PROGRAM_PATH @\n{str(op_program_path)}...")
146
+ console.print("[cyan]🚀 Handing over to shell script runner via OP_PROGRAM_PATH:[/cyan]")
147
+ console.print(f"[bold green]{str(op_program_path)}[/bold green]")
148
+ print_code(script, lexer="shell", desc="script to run via OP_PROGRAM_PATH")
133
149
  else:
150
+ if op_program_path is not None and exists:
151
+ console.print(f"[yellow]⚠️ OP_PROGRAM_PATH @ {str(op_program_path)} already exists.[/yellow] [cyan]Falling back to direct execution.[/cyan]")
152
+ elif op_program_path is None:
153
+ console.print("[cyan]ℹ️ OP_PROGRAM_PATH is not set.[/cyan] [yellow]Falling back to direct execution.[/yellow]")
134
154
  run_shell_script(script)
135
155
  import sys
136
156
  sys.exit(0)
@@ -8,7 +8,7 @@ from machineconfig.utils.terminal import Response
8
8
  from machineconfig.utils.accessories import pprint, randstr
9
9
  from machineconfig.utils.meta import lambda_to_python_script
10
10
  UV_RUN_CMD = "$HOME/.local/bin/uv run" if platform.system() != "Windows" else """& "$env:USERPROFILE/.local/bin/uv" run"""
11
- MACHINECONFIG_VERSION = "machineconfig>=7.36"
11
+ MACHINECONFIG_VERSION = "machineconfig>=7.37"
12
12
  DEFAULT_PICKLE_SUBDIR = "tmp_results/tmp_scripts/ssh"
13
13
 
14
14
  class SSH:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: machineconfig
3
- Version: 7.36
3
+ Version: 7.37
4
4
  Summary: Dotfiles management package
5
5
  Author-email: Alex Al-Saffar <programmer@usa.com>
6
6
  License: Apache 2.0
@@ -51,7 +51,7 @@ 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=hF8J7-jMOZCOSFMUuko9nIsFi37zKdV9Yg52F6zeGMk,80914
54
+ machineconfig/jobs/installer/installer_data.json,sha256=0TiQSVcbL4XD8HU7-ErSj22mMd6a3GDPErnhStI5Oz4,81369
55
55
  machineconfig/jobs/installer/package_groups.py,sha256=CvSJogQgnz5HZfGS9DoCoPfmv0qUinLfh76zw4x58Q8,5262
56
56
  machineconfig/jobs/installer/custom/boxes.py,sha256=ws8QRbDn48oKhbQntr54I0nSfkwINbprjTy0HOpuX40,1974
57
57
  machineconfig/jobs/installer/custom/gh.py,sha256=gn7TUSrsLx7uqFqj1Z-iYglS0EYBSgtJ9jWHxaJIfXM,4119
@@ -93,7 +93,7 @@ machineconfig/jobs/installer/powershell_scripts/openssh-server_copy-ssh-id.ps1,s
93
93
  machineconfig/profile/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
94
94
  machineconfig/profile/backup.toml,sha256=Hb25sIdKVvLqOF62NgiOpGZxd45I6IhsNHu623RtfQQ,766
95
95
  machineconfig/profile/bash_shell_profiles.md,sha256=mio0xkMTwO-F3fikWIfgcdQaPCmQrmkxJMNtZsTe9TI,514
96
- machineconfig/profile/create_helper.py,sha256=_iNeuwmcEGTx6sf_f40JKHfOCuJRZQRpyE8Fo_3Q6bI,1519
96
+ machineconfig/profile/create_helper.py,sha256=JLBryJ192Gk0ztbNhv9PFlsMVB6ZQH_2GVWHFeRylH8,1663
97
97
  machineconfig/profile/create_links.py,sha256=gdjRWEO4NDSlBWvCPbkBCqegapRB0mKdIsz1z4RJDT0,14228
98
98
  machineconfig/profile/create_links_export.py,sha256=BXav-70rme4oagfU8I-xrv_xc6E409ipafegGeIuUDw,3309
99
99
  machineconfig/profile/create_shell_profile.py,sha256=fib3YOj4QMV4dy7ysJtSzner1x-0nGtnGvnTKGyq578,10280
@@ -110,21 +110,22 @@ machineconfig/scripts/linux/other/share_cloud.sh,sha256=lIZrXiaOT11kzu4NFNTXvANh
110
110
  machineconfig/scripts/linux/other/share_nfs,sha256=LDQZQ9TV7z2y7RtNHiO4Wb513MztyGjaAV-GzTGwUdc,1374
111
111
  machineconfig/scripts/linux/other/start_docker,sha256=_yDN_PPqgzSUnPT7dmniMTpL4IfeeaGy1a2OL3IJlDU,525
112
112
  machineconfig/scripts/linux/other/switch_ip,sha256=NQfeKMBSbFY3eP6M-BadD-TQo5qMP96DTp77KHk2tU8,613
113
+ machineconfig/scripts/nu/wrap_mcfg.nu,sha256=9heiUHVkHjI_AMXT5QJJixk7ZK_hJNV_A8l7Gs51u-E,1799
113
114
  machineconfig/scripts/python/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
114
115
  machineconfig/scripts/python/agents.py,sha256=aVbLQDgpngXZm4taHcED4sAxyHvV2_Dz5VW3apPcQcY,10651
115
116
  machineconfig/scripts/python/cloud.py,sha256=yAD6ciKiEtv2CH3g2NScDK5cpCZQi7Vu8yyeehw_cU8,1263
116
- machineconfig/scripts/python/croshell.py,sha256=zTRLTyEbZmJShZfOt6wSc7mFu_20bBugoJ-h0xDQO0M,8695
117
+ machineconfig/scripts/python/croshell.py,sha256=rSmK-25afow-Wlkn-ONRtaAdKNKewYwPGqPgaJSspsY,8379
117
118
  machineconfig/scripts/python/define.py,sha256=RPedDmDPVY1X8xR4DQ5tRIb4BAfSRBXi3ZeGZzzctmU,713
118
119
  machineconfig/scripts/python/devops.py,sha256=Lv4d-UlyOREj4VTcu_pxswYo54Mawe3XGeKjreGQDYg,2222
119
120
  machineconfig/scripts/python/devops_navigator.py,sha256=5Cm384D4S8_GsvMzTwr0C16D0ktf8_5Mk5bEJncwDO8,237
120
- machineconfig/scripts/python/fire_jobs.py,sha256=-xrUlBQ90asQkXuWESiDsD6D05Xuw0-NMmfwBerwSjg,13874
121
+ machineconfig/scripts/python/fire_jobs.py,sha256=r_V5ZpZhE2-Hn_f5pvzbulUTl7_2S4AI_M71WlD4Vlw,13701
121
122
  machineconfig/scripts/python/ftpx.py,sha256=A13hL_tDYfcsaK9PkshK-0lrUS6KPhPCtwqWtLSo6IM,9764
122
123
  machineconfig/scripts/python/interactive.py,sha256=jFHpiQq_lisa51BS4-qUlWPJ1-pmHmPAfA6dixdsOzY,11745
123
124
  machineconfig/scripts/python/machineconfig.py,sha256=NvyNC0O3Yxf0vwTy_wl-vS_W6kEG6cLUSpj7yxLONL4,2747
124
- machineconfig/scripts/python/msearch.py,sha256=9IV1rgm0qhlPt0C3nZW9G_EKq2L6ff8CMaojcCyU_FM,1078
125
+ machineconfig/scripts/python/msearch.py,sha256=3NbwJFJtrvPSVyOfa6ogPjD-NVuRJHeAQ1WriDXCduU,737
125
126
  machineconfig/scripts/python/sessions.py,sha256=Q_fbprawvW1x_E6jKQ-Z2Z5MRurRaepKUvi5z1G4CUw,9531
126
127
  machineconfig/scripts/python/terminal.py,sha256=RY7hJ0JIefJeGe_sp7ZiZpOG_vhXLmEAFRq-Fon-VEY,5191
127
- machineconfig/scripts/python/utils.py,sha256=9vwF5QRbHphNF154UYg6Ld3W0b3N9uEkfMEeR-nP_sg,2802
128
+ machineconfig/scripts/python/utils.py,sha256=nqnUTrHJnikQ33sIkWKPKEzcfgC4yIGEK3jZR7-bb-o,2972
128
129
  machineconfig/scripts/python/ai/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
129
130
  machineconfig/scripts/python/ai/generate_files.py,sha256=VfjKdwgF8O6E4oiRtfWNliibLmmwGe7f9ld6wpOsXTw,14498
130
131
  machineconfig/scripts/python/ai/initai.py,sha256=P4-NCLJPWeNef_k-l4TQ92AB1Xm1k3xzdqSBIjmevnQ,1573
@@ -157,7 +158,7 @@ machineconfig/scripts/python/ai/solutions/opencode/opencode.json,sha256=nahHKRw1
157
158
  machineconfig/scripts/python/ai/solutions/opencode/opencode.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
158
159
  machineconfig/scripts/python/env_manager/__init__.py,sha256=E4LAHbU1wo2dLjE36ntv8U7QNTe8TasujUAYK9SLvWk,6
159
160
  machineconfig/scripts/python/env_manager/path_manager_backend.py,sha256=ZVGlGJALhg7zNABDdwXxL7MFbL2BXPebObipXSLGbic,1552
160
- machineconfig/scripts/python/env_manager/path_manager_tui.py,sha256=rGpm1vNTL30j0NsWrIHWeUYZ6uffarXIt8j5Zh6U_lc,6932
161
+ machineconfig/scripts/python/env_manager/path_manager_tui.py,sha256=91q8htdCiafvppkCXQkTx_Vit4QiwpEki7a-m4lyN6k,6932
161
162
  machineconfig/scripts/python/helpers_agents/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
162
163
  machineconfig/scripts/python/helpers_agents/fire_agents_help_launch.py,sha256=YD6-rtudHNip8tx85amSmOZZIHBP9khq4az3dF41j6U,5934
163
164
  machineconfig/scripts/python/helpers_agents/fire_agents_help_search.py,sha256=qIfSS_su2YJ1Gb0_lu4cbjlJlYMBw0v52NTGiSrGjk8,2991
@@ -187,15 +188,15 @@ machineconfig/scripts/python/helpers_croshell/start_slidev.py,sha256=HfJReOusTPh
187
188
  machineconfig/scripts/python/helpers_croshell/viewer.py,sha256=heQNjB9fwn3xxbPgMofhv1Lp6Vtkl76YjjexWWBM0pM,2041
188
189
  machineconfig/scripts/python/helpers_croshell/viewer_template.py,sha256=ve3Q1-iKhCLc0VJijKvAeOYp2xaFOeIOC_XW956GWCc,3944
189
190
  machineconfig/scripts/python/helpers_devops/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
190
- machineconfig/scripts/python/helpers_devops/cli_config.py,sha256=xQ9O1Q4e390Q8JdPRc6xfcBp40IIibqlImwHQdvstv4,6891
191
+ machineconfig/scripts/python/helpers_devops/cli_config.py,sha256=3BhZhMYXz__HS6cZfaoYGZgqkm2TJ76xdyGv7LO09Gk,6891
191
192
  machineconfig/scripts/python/helpers_devops/cli_config_dotfile.py,sha256=pVUFE1SUtyTiulLzUssf8FrtU190EIV-l9rpwucsBa0,3427
192
193
  machineconfig/scripts/python/helpers_devops/cli_data.py,sha256=79Xvx7YnbueruEnl69hrDg2AhVxf_zCUdlVcKfeMGyQ,1774
193
194
  machineconfig/scripts/python/helpers_devops/cli_nw.py,sha256=9NcVJvPYaUDtmI_DSKthZxR4emMBeNWVM_M5f0YR8EQ,7302
194
195
  machineconfig/scripts/python/helpers_devops/cli_repos.py,sha256=Xwkv1adqHZvTfRSPWiqSK3PZ1XADyx3llw_YkbxaKyE,12505
195
- machineconfig/scripts/python/helpers_devops/cli_self.py,sha256=J_jGRV9aSX_UZiZAqKH7Fs1-Awxic0xEyoFxujHZSEs,6621
196
+ machineconfig/scripts/python/helpers_devops/cli_self.py,sha256=6bDKQImI3mJLlf6nZvxhZQhYPPaz283uaZDDVi5aDU0,6621
196
197
  machineconfig/scripts/python/helpers_devops/cli_share_server.py,sha256=BJnm9mEI0PGA2xK_ciNX1docIiRQ_fNhygGrDCcTekw,11076
197
198
  machineconfig/scripts/python/helpers_devops/cli_terminal.py,sha256=k_PzXaiGyE0vXr0Ii1XcJz2A7UvyPJrR31TRWt4RKRI,6019
198
- machineconfig/scripts/python/helpers_devops/cli_utils.py,sha256=B9pnosujOxZLpwzJO4YAqeO-2rvvOFIZgrUwGREZXfM,11118
199
+ machineconfig/scripts/python/helpers_devops/cli_utils.py,sha256=WHk-BkuYYwifya-IIlVUMwNOMMrRrmWwRTU3aDBAkGA,11862
199
200
  machineconfig/scripts/python/helpers_devops/devops_backup_retrieve.py,sha256=Dn8luB6QJzxKiiFSC-NMqiYddWZoca3A8eOjMYZDzTc,5598
200
201
  machineconfig/scripts/python/helpers_devops/devops_status.py,sha256=PJVPhfhXq8der6Xd-_fjZfnizfM-RGfJApkRGhGBmNo,20525
201
202
  machineconfig/scripts/python/helpers_devops/devops_update_repos.py,sha256=kSln8_-Wn7Qu0NaKdt-QTN_bBVyTIAWHH8xVYKK-vCM,10133
@@ -228,9 +229,9 @@ machineconfig/scripts/python/helpers_navigator/search_bar.py,sha256=kDi8Jhxap8wd
228
229
  machineconfig/scripts/python/helpers_repos/action.py,sha256=8je051kpGZ7A_GRsQyWKhPZ8xVW7tSm4bnPu6VjxaXk,9755
229
230
  machineconfig/scripts/python/helpers_repos/action_helper.py,sha256=XRCtkGkNrxauqUd9qkxtfJt02Mx2gejSYDLL0jyWn24,6176
230
231
  machineconfig/scripts/python/helpers_repos/clone.py,sha256=UULEG5xJuXlPGU0nqXH6U45jA9DOFqLw8B4iPytCwOQ,5471
231
- machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py,sha256=HYk5aV_TqbUcrmkmV1la281n5dXwdvHVuwVGiNYecRs,10450
232
+ machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py,sha256=9qHHDJjUDGhtmzhOFy6gDnaxifEZHYOpITZy03Nd_1M,10450
232
233
  machineconfig/scripts/python/helpers_repos/count_lines.py,sha256=Q5c7b-DxvTlQmljoic7niTuiAVyFlwYvkVQ7uRJHiTo,16009
233
- machineconfig/scripts/python/helpers_repos/count_lines_frontend.py,sha256=OR3piWiA-z2XESEKG8XIHO5IUrB0wAGrf6ZoSE3cD8o,607
234
+ machineconfig/scripts/python/helpers_repos/count_lines_frontend.py,sha256=1V3tbOgl5Pp3FfG_WmM5I2q8v1k7jOcKC4Epp6IzQeE,607
234
235
  machineconfig/scripts/python/helpers_repos/entrypoint.py,sha256=WYEFGUJp9HWImlFjbs_hiFZrUqM_KEYm5VvSUjWd04I,2810
235
236
  machineconfig/scripts/python/helpers_repos/grource.py,sha256=oJj1-gqlkV3Z_BrIOXRmtzoXcuBl0xTYfulJ5D0srOc,14656
236
237
  machineconfig/scripts/python/helpers_repos/record.py,sha256=FQo0swuJZOp0I2XGK-t1OQU4zJHmQ2z9zTpDD30Tmg4,11001
@@ -259,7 +260,7 @@ machineconfig/scripts/windows/wrap_mcfg.ps1,sha256=1mLCFDPBG-1uNVaZe3fIAgvS_uo3u
259
260
  machineconfig/scripts/windows/mounts/mount_nfs.ps1,sha256=XrAdzpxE6a4OccSmWJ7YWHJTnsZK8uXnFE5j9GOPA20,2026
260
261
  machineconfig/scripts/windows/mounts/mount_nw.ps1,sha256=puxcfZc3ZCJerm8pj8OZGVoTYkhzp-h7oV-MrksSqIE,454
261
262
  machineconfig/scripts/windows/mounts/mount_smb.ps1,sha256=PzYWpIO9BpwXjdWlUQL9pnMRnOGNSkxfh4bHukJFme8,69
262
- machineconfig/scripts/windows/mounts/mount_ssh.ps1,sha256=YWmAMmV5FJxRJ7YlEuQtlZb72Sl8gsuwA4dvloagWQ8,322
263
+ machineconfig/scripts/windows/mounts/mount_ssh.ps1,sha256=5XIyXo3Uvdt0Sg3r47yqnpHAWq10EwPxe3g6bIvv6fY,322
263
264
  machineconfig/scripts/windows/mounts/share_cloud.cmd,sha256=exD7JCdxw2LqVjw2MKCYHbVZlEqmelXtwnATng-dhJ4,1028
264
265
  machineconfig/scripts/windows/mounts/share_smb.ps1,sha256=U7x8ULYSjbgzTtiHNSKQuTaZ_apilDvkGV5Xm5hXk5M,384
265
266
  machineconfig/scripts/windows/mounts/unlock_bitlocker.ps1,sha256=Wv-SLscdckV-1mG3p82VXKPY9zW3hgkRmcLUXIZ1daE,253
@@ -331,7 +332,7 @@ machineconfig/settings/rofi/config.rasi,sha256=nDX5B8wdXQYF1fwiOTBRJUI4l_gQbYaLa
331
332
  machineconfig/settings/rofi/config_default.rasi,sha256=rTfKnC-bZuWX1l-lWQACCUOE1ShhkfykAxtXX9PlQHE,4694
332
333
  machineconfig/settings/shells/alacritty/alacritty.toml,sha256=EbL-2Y4QunW1pvRWB2yuLCw8MMPONheJr5LFoWRieUQ,871
333
334
  machineconfig/settings/shells/alacritty/alacritty.yml,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
334
- machineconfig/settings/shells/bash/init.sh,sha256=IY2ZvdUbl1mqzE-PHYk91rp8SKIQcLx43yG3Mg4kFQc,2975
335
+ machineconfig/settings/shells/bash/init.sh,sha256=1fJr3LLlknejEv3JWTuuWIu1thuVl9QQ3X1dVSdqMrw,2975
335
336
  machineconfig/settings/shells/hyper/.hyper.js,sha256=h-HqeYlvPvPD4Ee7828Cxo87uVkzbMGJFqXTZIWoegw,8884
336
337
  machineconfig/settings/shells/ipy/profiles/default/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
337
338
  machineconfig/settings/shells/ipy/profiles/default/startup/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -339,12 +340,13 @@ machineconfig/settings/shells/ipy/profiles/default/startup/playext.py,sha256=OJ3
339
340
  machineconfig/settings/shells/kitty/kitty.conf,sha256=lDdx-dUX3jbKGb3BkS2f2TOpmgGiS-CI-_-lFvhD5A4,52870
340
341
  machineconfig/settings/shells/nushell/config.nu,sha256=xtko80MPteDXuOJmwJHNFhXmfHT6fIBfmTgsF29GiEc,748
341
342
  machineconfig/settings/shells/nushell/env.nu,sha256=4VmaXb-qP6qnMD5TPzkXMLFNlB5QC4l9HEzCvXZE2GQ,315
342
- machineconfig/settings/shells/pwsh/init.ps1,sha256=uRRL0GmULbJBNmsL7r-Q8iz7PJrP96_RbuoOE5pjtKs,2899
343
+ machineconfig/settings/shells/nushell/init.nu,sha256=OyhqJ6ARO7wkt8zoIZuKyDRxCY8urgYA1b6oN2A77W0,2061
344
+ machineconfig/settings/shells/pwsh/init.ps1,sha256=TB_oCtrrRT3rIo8350rrf7a96E5HGIdTWK1awb6HBSE,2899
343
345
  machineconfig/settings/shells/pwsh/profile.ps1,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
344
346
  machineconfig/settings/shells/starship/starship.toml,sha256=d5lWKC0AnTcriRAZV1opEZy76QknSpKFgJ3jyW9_vZ0,1305
345
347
  machineconfig/settings/shells/vtm/settings.xml,sha256=5TNXd-i0eUGo2w3tuhY9aOkwoJdqih8_HO_U6uL2Dts,18262
346
348
  machineconfig/settings/shells/wezterm/wezterm.lua,sha256=ZaUFqVNibGD5cyzlnYhIMAakTig6P7qggi5hvHGASPk,6210
347
- machineconfig/settings/shells/wt/settings.json,sha256=G3MzbSfkNDoCbFfKKuS5wuSWsMff4oj6s6m-iXryNz8,10353
349
+ machineconfig/settings/shells/wt/settings.json,sha256=I9gmu7EMbQdb19rad_vA1tNz99cZnDYEwtADNxDjGdg,10362
348
350
  machineconfig/settings/shells/zsh/init.sh,sha256=X6HP0LKoLCOUpKetWA3ZwPaqz_o31m66SbGS328EbwU,2692
349
351
  machineconfig/settings/streamlit/config.toml,sha256=O3d4ax88hoW7gm5r51xmCcPssQ8ol-oFz_d0NUDlU4k,483
350
352
  machineconfig/settings/svim/linux/init.toml,sha256=IEEQN_80H0A4NPv7bt5zltEKAbpRkJyCQTJKbu2bBf8,1346
@@ -377,7 +379,7 @@ machineconfig/setup_linux/others/cli_installation.sh,sha256=gVvszYZJgKPRJx2SEaE3
377
379
  machineconfig/setup_linux/others/mint_keyboard_shortcuts.sh,sha256=F5dbg0n9RHsKGPn8fIdZMn3p0RrHEkb8rWBGsdVGbus,1207
378
380
  machineconfig/setup_linux/ssh/openssh_all.sh,sha256=3dg6HEUFbHQOzLfSAtzK_D_GB8rGCCp_aBnxNdnidVc,824
379
381
  machineconfig/setup_linux/ssh/openssh_wsl.sh,sha256=1eeRGrloVB34K5z8yWVUMG5b9pV-WBfHgV9jqXiYgCQ,1398
380
- machineconfig/setup_linux/web_shortcuts/interactive.sh,sha256=hA6IGlsmit1l1vtd0mFaYdNQjqd1bVHkXjy8sLFNdOU,1581
382
+ machineconfig/setup_linux/web_shortcuts/interactive.sh,sha256=-jTkVCgcEEBZTqvtiHxXhwTcXBb1fJHFKXphkXUXKXY,1581
381
383
  machineconfig/setup_mac/__init__.py,sha256=Q1waupi5vCBroLqc8Rtnw69_7jLnm2Cs7_zH_GSZgMs,616
382
384
  machineconfig/setup_mac/apps.sh,sha256=R0N6fBwLCzwy4qAormyMerXXXrHazibSkY6NrNOpTQU,2772
383
385
  machineconfig/setup_mac/apps_gui.sh,sha256=3alvddg918oMlJB2aUWJWpGGoaq5atlxcaOwhnyXlRI,9517
@@ -392,12 +394,12 @@ machineconfig/setup_windows/others/power_options.ps1,sha256=c7Hn94jBD5GWF29CxMhm
392
394
  machineconfig/setup_windows/ssh/add-sshkey.ps1,sha256=qfPdqCpd9KP3VhH4ifsUm1Xvec7c0QVl4Wt8JIAm9HQ,1653
393
395
  machineconfig/setup_windows/ssh/add_identity.ps1,sha256=b8ZXpmNUSw3IMYvqSY7ClpdWPG39FS7MefoWnRhWN2U,506
394
396
  machineconfig/setup_windows/ssh/openssh-server.ps1,sha256=OMlYQdvuJQNxF5EILLPizB6BZAT3jAmDsv1WcVVxpFQ,2529
395
- machineconfig/setup_windows/web_shortcuts/interactive.ps1,sha256=XwehvEL2njC620VjOrhPZtL__oENM8wR-U-I3edqTMw,1916
397
+ machineconfig/setup_windows/web_shortcuts/interactive.ps1,sha256=B9hMmZ8dOKBpZlpDQLwj76ArVR21FZ-MFCqgfst5QlY,1916
396
398
  machineconfig/setup_windows/wt_and_pwsh/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
397
399
  machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py,sha256=ogxJnwpdcpH7N6dFJu95UCNoGYirZKQho_3X0F_hmXs,6791
398
400
  machineconfig/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
399
401
  machineconfig/utils/accessories.py,sha256=Rs8R0GUb2Ub6YimkgXHnI02CShS5BKlrZdCigVxfPlk,4339
400
- machineconfig/utils/code.py,sha256=fVeQnhZE8-aoPBsrgjNcBTcv3NuyBSSQv9P8jyC8W_M,6635
402
+ machineconfig/utils/code.py,sha256=C8HrRGeztEe0lfzrbR2OAGYoNA62NOa8-v_qEjfCCpg,7826
401
403
  machineconfig/utils/installer.py,sha256=1ScBaTe_pRsfTYht9-LXmirgnNizNy8u1GgetUfEDO4,10351
402
404
  machineconfig/utils/io.py,sha256=3Z2dLf12sCXe2y2_2p2ypfIH5OCwqvKqcYjcHMgCZt0,6491
403
405
  machineconfig/utils/links.py,sha256=mA98WNkX5iK4c6f8Ht3HKv7sB6VjIwqukTxXY23PVjk,25143
@@ -410,7 +412,7 @@ machineconfig/utils/procs.py,sha256=YPA_vEYQGwPd_o_Lc6nOTBo5BrB1tSs8PJ42XiGpenM,
410
412
  machineconfig/utils/scheduler.py,sha256=fguwvINyaupOxdU5Uadyxalh_jXTXDzt0ioEgjEOKcM,14705
411
413
  machineconfig/utils/scheduling.py,sha256=vcJgajeJPSWkJNlarYJSmLvasdOuCtBM4druOAB1Nwc,11089
412
414
  machineconfig/utils/source_of_truth.py,sha256=ZAnCRltiM07ig--P6g9_6nEAvNFC4X4ERFTVcvpIYsE,764
413
- machineconfig/utils/ssh.py,sha256=fewz9UCOAZjhAzWkzumarw7mAesJMdYVAWBVnAY4Df4,39274
415
+ machineconfig/utils/ssh.py,sha256=F_kf5-caynTm5CL-B63-vSp7jiE16mpvMmlmCd28gbY,39274
414
416
  machineconfig/utils/terminal.py,sha256=VDgsjTjBmMGgZN0YIc0pJ8YksLDrBtiXON1EThy7_is,4264
415
417
  machineconfig/utils/tst.py,sha256=6u1GI49NdcpxH2BYGAusNfY5q9G_ytCGVzFM5b6HYpM,674
416
418
  machineconfig/utils/upgrade_packages.py,sha256=e4iJn_9vL2zCJxAR2dhKJjM0__ALKgI5yB1uBRxSjhQ,6994
@@ -439,8 +441,8 @@ machineconfig/utils/schemas/installer/installer_types.py,sha256=QClRY61QaduBPJoS
439
441
  machineconfig/utils/schemas/layouts/layout_types.py,sha256=TcqlZdGVoH8htG5fHn1KWXhRdPueAcoyApppZsPAPto,2020
440
442
  machineconfig/utils/schemas/repos/repos_types.py,sha256=ECVr-3IVIo8yjmYmVXX2mnDDN1SLSwvQIhx4KDDQHBQ,405
441
443
  machineconfig/utils/ssh_utils/utils.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
442
- machineconfig-7.36.dist-info/METADATA,sha256=_Hbufg3B6z3eZ6HYpwUdu88mGvgWGaF6ZVdgPb4hBLM,3396
443
- machineconfig-7.36.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
444
- machineconfig-7.36.dist-info/entry_points.txt,sha256=okYzomE0f6au8xnxn_D4j6iKUVP4IqSlByUgMwojPKs,694
445
- machineconfig-7.36.dist-info/top_level.txt,sha256=porRtB8qms8fOIUJgK-tO83_FeH6Bpe12oUVC670teA,14
446
- machineconfig-7.36.dist-info/RECORD,,
444
+ machineconfig-7.37.dist-info/METADATA,sha256=zQjl4NbcDTgSQBVdPYc7_s5SlY0Wt2Cmx9tGEE2cVC0,3396
445
+ machineconfig-7.37.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
446
+ machineconfig-7.37.dist-info/entry_points.txt,sha256=okYzomE0f6au8xnxn_D4j6iKUVP4IqSlByUgMwojPKs,694
447
+ machineconfig-7.37.dist-info/top_level.txt,sha256=porRtB8qms8fOIUJgK-tO83_FeH6Bpe12oUVC670teA,14
448
+ machineconfig-7.37.dist-info/RECORD,,