machineconfig 7.34__py3-none-any.whl → 7.36__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 (34) hide show
  1. machineconfig/cluster/sessions_managers/utils/maker.py +4 -4
  2. machineconfig/scripts/linux/wrap_mcfg +0 -1
  3. machineconfig/scripts/python/croshell.py +17 -17
  4. machineconfig/scripts/python/define.py +5 -0
  5. machineconfig/scripts/python/env_manager/path_manager_tui.py +1 -1
  6. machineconfig/scripts/python/helpers_devops/cli_config.py +1 -1
  7. machineconfig/scripts/python/helpers_devops/cli_self.py +3 -3
  8. machineconfig/scripts/python/helpers_msearch/__init__.py +5 -0
  9. machineconfig/scripts/{linux → python/helpers_msearch/scripts_linux}/fzfag +1 -1
  10. machineconfig/scripts/{linux → python/helpers_msearch/scripts_linux}/fzfg +1 -1
  11. machineconfig/scripts/{linux → python/helpers_msearch/scripts_linux}/fzfrga +1 -1
  12. machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py +1 -1
  13. machineconfig/scripts/python/helpers_repos/count_lines_frontend.py +1 -1
  14. machineconfig/scripts/python/msearch.py +29 -0
  15. machineconfig/scripts/windows/mounts/mount_ssh.ps1 +1 -1
  16. machineconfig/settings/shells/bash/init.sh +1 -0
  17. machineconfig/settings/shells/pwsh/init.ps1 +2 -1
  18. machineconfig/setup_linux/web_shortcuts/interactive.sh +11 -9
  19. machineconfig/setup_windows/web_shortcuts/interactive.ps1 +11 -9
  20. machineconfig/utils/files/ascii_art.py +1 -1
  21. machineconfig/utils/files/headers.py +2 -1
  22. machineconfig/utils/ssh.py +2 -1
  23. machineconfig/utils/upgrade_packages.py +25 -6
  24. {machineconfig-7.34.dist-info → machineconfig-7.36.dist-info}/METADATA +1 -1
  25. {machineconfig-7.34.dist-info → machineconfig-7.36.dist-info}/RECORD +32 -32
  26. {machineconfig-7.34.dist-info → machineconfig-7.36.dist-info}/entry_points.txt +1 -0
  27. machineconfig/scripts/linux/fzf2g +0 -21
  28. machineconfig/scripts/linux/fzffg +0 -25
  29. /machineconfig/scripts/{linux → python/helpers_msearch/scripts_linux}/skrg +0 -0
  30. /machineconfig/scripts/{windows → python/helpers_msearch/scripts_windows}/fzfb.ps1 +0 -0
  31. /machineconfig/scripts/{windows → python/helpers_msearch/scripts_windows}/fzfg.ps1 +0 -0
  32. /machineconfig/scripts/{windows → python/helpers_msearch/scripts_windows}/fzfrga.bat +0 -0
  33. {machineconfig-7.34.dist-info → machineconfig-7.36.dist-info}/WHEEL +0 -0
  34. {machineconfig-7.34.dist-info → machineconfig-7.36.dist-info}/top_level.txt +0 -0
@@ -20,15 +20,15 @@ def get_fire_tab_using_fire(func: FunctionType):
20
20
  from machineconfig.utils.source_of_truth import CONFIG_ROOT
21
21
  import platform
22
22
  if platform.system().lower() == "windows":
23
- mcfgs = CONFIG_ROOT / "scripts/windows/mcfgs.ps1"
24
- mcfgs = f'& "{mcfgs}"'
23
+ wrap_mcfg = CONFIG_ROOT / "scripts/windows/wrap_mcfg.ps1"
24
+ wrap_mcfg = f'& "{wrap_mcfg}"'
25
25
  elif platform.system().lower() == "linux" or platform.system().lower() == "darwin":
26
- mcfgs = CONFIG_ROOT / "scripts/linux/mcfgs"
26
+ wrap_mcfg = CONFIG_ROOT / "scripts/linux/wrap_mcfg"
27
27
  else:
28
28
  raise ValueError(f"Unsupported platform: {platform.system()}")
29
29
  path = Path(inspect.getfile(func))
30
30
  path_relative = path.relative_to(Path.home())
31
- command_to_run = f"""{mcfgs} fire {path_relative} {func.__name__} """
31
+ command_to_run = f"""{wrap_mcfg} fire {path_relative} {func.__name__} """
32
32
  tab_config: TabConfig = {
33
33
  "command": command_to_run,
34
34
  "startDir": "$HOME",
@@ -3,7 +3,6 @@
3
3
 
4
4
  wrap_in_shell_script() {
5
5
  # set -euo pipefail
6
-
7
6
  # ANSI color/style codes
8
7
  BOLD="\033[1m"
9
8
  RESET="\033[0m"
@@ -5,23 +5,12 @@ croshell
5
5
  """
6
6
 
7
7
  from typing import Annotated, Optional
8
- from machineconfig.scripts.python.helpers_croshell.crosh import code, get_read_data_pycode
9
- from machineconfig.utils.meta import lambda_to_python_script
10
8
  import typer
11
- from machineconfig.utils.path_extended import PathExtended
12
- from pathlib import Path
13
- from machineconfig.utils.accessories import randstr
14
- import json
15
- from machineconfig.utils.options import choose_from_options
16
- from rich.console import Console
17
- from rich.panel import Panel
18
9
 
19
10
 
20
- console = Console()
21
-
22
11
 
23
12
  def croshell(
24
- path: Annotated[Optional[str], typer.Argument(help="path of file to read.")] = "",
13
+ path: Annotated[Optional[str], typer.Argument(help="path of file to read.")] = None,
25
14
  python: Annotated[bool, typer.Option("--python", "-p", help="flag to use python over IPython.")] = False,
26
15
  profile: Annotated[Optional[str], typer.Option("--profile", "-P", help="ipython profile to use, defaults to default profile.")] = None,
27
16
  jupyter: Annotated[bool, typer.Option("--jupyter", "-j", help="run in jupyter interactive console")] = False,
@@ -30,6 +19,17 @@ def croshell(
30
19
  visidata: Annotated[bool, typer.Option("--visidata", "-v", help="open data file in visidata")] = False,
31
20
  marimo: Annotated[bool, typer.Option("--marimo", "-m", help="open the notebook using marimo if available")] = False,
32
21
  ) -> None:
22
+ from machineconfig.scripts.python.helpers_croshell.crosh import code, get_read_data_pycode
23
+ from machineconfig.utils.meta import lambda_to_python_script
24
+ from machineconfig.utils.path_extended import PathExtended
25
+ from pathlib import Path
26
+ from machineconfig.utils.accessories import randstr
27
+ import json
28
+ from machineconfig.utils.options import choose_from_options
29
+ from rich.console import Console
30
+ from rich.panel import Panel
31
+ console = Console()
32
+
33
33
  # ==================================================================================
34
34
  # flags processing
35
35
  interactivity = "-i"
@@ -77,7 +77,7 @@ def croshell(
77
77
  def preprogram_func():
78
78
  from machineconfig.utils.files.headers import print_header, print_logo
79
79
  print_header()
80
- print_logo("CROCODILE")
80
+ print_logo("Machineconfig")
81
81
  from pathlib import Path
82
82
  from machineconfig.utils.path_extended import PathExtended
83
83
  _ = Path, PathExtended # avoid unused import warnings
@@ -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]>=6.57" """
133
+ else: requirements = """--python 3.14 --with "marimo,machineconfig[plot]>=7.36" """
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]>=6.57" """
141
+ else: requirements = """--with "machineconfig[plot]>=7.36" """
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]>=6.57"
148
+ uv add "machineconfig[plot]>=7.36"
149
149
  # code serve-web
150
150
  code --new-window {str(pyfile)}
151
151
  """
@@ -153,7 +153,7 @@ 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]>=6.57" """
156
+ else: ve_line = """--python 3.14 --with "machineconfig[plot]>=7.36" """
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)}"
@@ -21,6 +21,11 @@ def get_app():
21
21
  app.command(name="scripts", help="define all scripts", no_args_is_help=False)(define_scripts)
22
22
  return app
23
23
 
24
+ def main():
25
+ # return app
26
+ app = get_app()
27
+ app()
28
+
24
29
 
25
30
  # if __name__ == "__main__":
26
31
  # main()
@@ -2,7 +2,7 @@
2
2
  # /// script
3
3
  # requires-python = ">=3.13"
4
4
  # dependencies = [
5
- # "machineconfig>=7.34",
5
+ # "machineconfig>=7.36",
6
6
  # "textual",
7
7
  # "pyperclip",
8
8
  # ]
@@ -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.34")
42
+ uv_with.append("machineconfig>=7.36")
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.34" """)
51
+ run_shell_script(r"""& "$HOME\.local\bin\uv.exe" tool install --upgrade "machineconfig>=7.36" """)
52
52
  else:
53
- run_shell_script("""$HOME/.local/bin/uv tool install --upgrade "machineconfig>=7.34" """)
53
+ run_shell_script("""$HOME/.local/bin/uv tool install --upgrade "machineconfig>=7.36" """)
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.34,textual" """
78
+ else: executable = """--with "machineconfig>=7.36,textual" """
79
79
  run_shell_script(f"""uv run {executable} {path}""")
80
80
 
81
81
 
@@ -0,0 +1,5 @@
1
+
2
+ from pathlib import Path
3
+
4
+ FZFG_LINUX_PATH = Path(__file__).parent.joinpath("scripts_linux", "fzfg")
5
+ FZFG_WINDOWS_PATH = Path(__file__).parent.joinpath("scripts_windows", "fzfg.ps1")
@@ -13,5 +13,5 @@ IFS=: read -ra selected < <(
13
13
  --preview 'batcat --color=always {1} --highlight-line {2}' \
14
14
  --preview-window 'up,60%,border-bottom,+{2}+3/3,~3'
15
15
  )
16
- [ -n "${selected[0]}" ] && lvim "${selected[0]}" "+${selected[1]}"
16
+ [ -n "${selected[0]}" ] && hx "${selected[0]}" "+${selected[1]}"
17
17
 
@@ -19,5 +19,5 @@ IFS=: read -ra selected < <(
19
19
  --preview 'bat --color=always {1} --highlight-line {2}' \
20
20
  --preview-window 'up,60%,border-bottom,+{2}+3/3,~3'
21
21
  )
22
- [ -n "${selected[0]}" ] && lvim "${selected[0]}" "+${selected[1]}
22
+ [ -n "${selected[0]}" ] && hx "${selected[0]}" "+${selected[1]}
23
23
  "
@@ -13,7 +13,7 @@ rga-fzf() {
13
13
  --preview-window="70%:wrap"
14
14
  )" &&
15
15
  echo "opening $file" &&
16
- xdg-open "$file"
16
+ hx "$file"
17
17
  }
18
18
 
19
19
 
@@ -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.34"]
83
+ uv_with = ["machineconfig>=7.36"]
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]>=6.57" {count_lines_path} analyze-over-time {repo_path}"""
11
+ cmd = f"""uv run --python 3.14 --with "machineconfig[plot]>=7.36" {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
 
@@ -0,0 +1,29 @@
1
+
2
+ import typer
3
+
4
+
5
+ def machineconfig_find():
6
+ from machineconfig.scripts.python.helpers_msearch import FZFG_LINUX_PATH, FZFG_WINDOWS_PATH
7
+ import platform
8
+ if platform.system() == "Linux":
9
+ script_path = FZFG_LINUX_PATH
10
+ elif platform.system() == "Windows":
11
+ script_path = FZFG_WINDOWS_PATH
12
+ else:
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}")
24
+
25
+
26
+ def main():
27
+ app = typer.Typer(add_completion=False, no_args_is_help=True)
28
+ app.command(name="msearch", help="machineconfig search helper", no_args_is_help=False)(machineconfig_find)
29
+ app()
@@ -7,7 +7,7 @@ $user = ''
7
7
  $sharePath = ''
8
8
  $driveLetter = ''
9
9
 
10
- uv run --python 3.14 --with "machineconfig>=7.34" python -m machineconfig.scripts.python.mount_ssh
10
+ uv run --python 3.14 --with "machineconfig>=7.36" 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
@@ -55,6 +55,7 @@ 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'
57
57
  alias t='wrap_in_shell_script terminal'
58
+ alias ms='wrap_in_shell_script msearch'
58
59
 
59
60
 
60
61
  # alias gcs='gh copilot suggest -t shell'
@@ -41,6 +41,7 @@ if (Test-Path "$CONFIG_ROOT\scripts\windows\wrap_mcfg.ps1") {
41
41
  function rr { wrap_in_shell_script croshell $args }
42
42
  function u { wrap_in_shell_script utils $args }
43
43
  function t { wrap_in_shell_script terminal $args }
44
+ function ms { wrap_in_shell_script msearch $args }
44
45
 
45
46
  }
46
47
  else {
@@ -56,7 +57,7 @@ else {
56
57
  function rr { croshell $args }
57
58
  function u { utils $args }
58
59
  function t { terminal $args }
59
-
60
+ function ms { msearch $args }
60
61
  }
61
62
 
62
63
 
@@ -2,15 +2,16 @@
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.34" devops'
6
- alias cloud='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.34" cloud'
7
- alias agents='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.34" agents'
8
- alias sessions='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.34" sessions'
9
- alias ftpx='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.34" ftpx'
10
- alias fire='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.34" fire'
11
- alias croshell='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.34" croshell'
12
- alias utils='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.34" utils'
13
- alias terminal='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.34" terminal'
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'
14
15
 
15
16
  alias d='wrap_in_shell_script devops'
16
17
  alias c='wrap_in_shell_script cloud'
@@ -21,5 +22,6 @@ alias f='wrap_in_shell_script fire'
21
22
  alias rr='wrap_in_shell_script croshell'
22
23
  alias u='wrap_in_shell_script utils'
23
24
  alias t='wrap_in_shell_script terminal'
25
+ alias ms='wrap_in_shell_script msearch'
24
26
 
25
27
  echo "mcfg command aliases are now defined in this shell session."
@@ -3,15 +3,16 @@
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.34" devops $args }
7
- function cloud { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.34" cloud $args }
8
- function agents { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.34" agents $args }
9
- function sessions { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.34" sessions $args }
10
- function ftpx { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.34" ftpx $args }
11
- function fire { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.34" fire $args }
12
- function croshell { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.34" croshell $args }
13
- function utils { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.34" utils $args }
14
- function terminal { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.34" terminal $args }
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 }
15
16
 
16
17
  function d { wrap_in_shell_script devops @args }
17
18
  function c { wrap_in_shell_script cloud @args }
@@ -22,5 +23,6 @@ function f { wrap_in_shell_script fire @args }
22
23
  function rr { wrap_in_shell_script croshell @args }
23
24
  function u { wrap_in_shell_script utils @args }
24
25
  function t { wrap_in_shell_script terminal @args }
26
+ function ms { wrap_in_shell_script msearch @args }
25
27
 
26
28
  Write-Host "mcfg command aliases are now defined in this PowerShell session."
@@ -62,7 +62,7 @@ def get_art(comment: Optional[str] = None, artlib: Optional[BOX_OR_CHAR] = None,
62
62
  try:
63
63
  comment = subprocess.run("fortune", shell=True, capture_output=True, text=True, check=True).stdout
64
64
  except Exception:
65
- comment = "crocodile"
65
+ comment = "machineconfig"
66
66
  if artlib is None: artlib = random.choice(['boxes', 'cowsay'])
67
67
  to_file = '' if not file else f'> {file}'
68
68
  if artlib == 'boxes':
@@ -25,8 +25,9 @@ def print_header():
25
25
  table.add_row("Virtual Environment", os.getenv('VIRTUAL_ENV', 'None'))
26
26
  table.add_row("Running @", str(Path.cwd()))
27
27
 
28
+ from machineconfig.utils.installer import get_machineconfig_version
28
29
 
29
- console.print(Panel(table, title="[bold blue]✨ 🐊 Crocodile Shell 14.5 ✨ Made with 🐍 | Built with ❤️[/bold blue]", border_style="blue"))
30
+ console.print(Panel(table, title=f"[bold blue]✨ 🐊 Machineconfig Shell {get_machineconfig_version()} ✨ Made with 🐍 | Built with ❤️[/bold blue]", border_style="blue"))
30
31
  def print_logo(logo: str):
31
32
  from machineconfig.utils.files.ascii_art import font_box_color, character_color, character_or_box_color
32
33
  if platform.system() == "Windows":
@@ -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.34"
11
+ MACHINECONFIG_VERSION = "machineconfig>=7.36"
12
12
  DEFAULT_PICKLE_SUBDIR = "tmp_results/tmp_scripts/ssh"
13
13
 
14
14
  class SSH:
@@ -253,6 +253,7 @@ class SSH:
253
253
  else:
254
254
  directory_path.unlink()
255
255
  directory_path.parent.mkdir(parents=True, exist_ok=True)
256
+ directory_path.mkdir(parents=True, exist_ok=True)
256
257
  command = lambda_to_python_script(lmb=lambda: create_target_dir(target_rel2home=path_rel2home, overwrite=overwrite_existing), in_global=True, import_module=False)
257
258
  tmp_py_file = Path.home().joinpath(f"{DEFAULT_PICKLE_SUBDIR}/create_target_dir_{randstr()}.py")
258
259
  tmp_py_file.parent.mkdir(parents=True, exist_ok=True)
@@ -98,8 +98,8 @@ def upgrade_machine_config_version() -> None:
98
98
  Upgrade machineconfig version in pyproject.toml and all source files.
99
99
 
100
100
  Reads current version from pyproject.toml, bumps it by 0.01, and replaces
101
- all occurrences of machineconfig>={old_version} with the new version in
102
- Python (.py), shell (.sh), and PowerShell (.ps1) files.
101
+ all occurrences of machineconfig>={old_version} and machineconfig[group]>={old_version}
102
+ with the new version in Python (.py), shell (.sh), and PowerShell (.ps1) files.
103
103
  """
104
104
  current_dir: Path = Path.cwd()
105
105
  pyproject_file: Path = current_dir / "pyproject.toml"
@@ -119,10 +119,15 @@ def upgrade_machine_config_version() -> None:
119
119
  minor_width: int = len(version_parts[1])
120
120
  new_version: str = f"{major}.{new_minor:0{minor_width}d}"
121
121
 
122
- old_version_constraint: str = f"machineconfig>={current_version_str}"
123
- new_version_constraint: str = f"machineconfig>={new_version}"
122
+ # Collect all optional dependency groups
123
+ optional_groups: set[str] = set()
124
+ if "project" in pyproject_data and "optional-dependencies" in pyproject_data["project"]:
125
+ optional_groups.update(pyproject_data["project"]["optional-dependencies"].keys())
126
+ if "dependency-groups" in pyproject_data:
127
+ optional_groups.update(pyproject_data["dependency-groups"].keys())
124
128
 
125
129
  print(f"Upgrading from {current_version_str} to {new_version}")
130
+ print(f"Found optional groups: {', '.join(sorted(optional_groups))}")
126
131
 
127
132
  # Update pyproject.toml
128
133
  content: str = pyproject_file.read_text(encoding="utf-8")
@@ -137,8 +142,22 @@ def upgrade_machine_config_version() -> None:
137
142
  for file_path in py_files:
138
143
  try:
139
144
  file_content: str = file_path.read_text(encoding="utf-8")
140
- if old_version_constraint in file_content:
141
- updated_file_content: str = file_content.replace(old_version_constraint, new_version_constraint)
145
+ updated_file_content: str = file_content
146
+
147
+ # Replace base constraint (without group)
148
+ old_constraint: str = f"machineconfig>={current_version_str}"
149
+ new_constraint: str = f"machineconfig>={new_version}"
150
+ if old_constraint in updated_file_content:
151
+ updated_file_content = updated_file_content.replace(old_constraint, new_constraint)
152
+
153
+ # Replace constraints with optional groups
154
+ for group in optional_groups:
155
+ old_group_constraint: str = f"machineconfig[{group}]>={current_version_str}"
156
+ new_group_constraint: str = f"machineconfig[{group}]>={new_version}"
157
+ if old_group_constraint in updated_file_content:
158
+ updated_file_content = updated_file_content.replace(old_group_constraint, new_group_constraint)
159
+
160
+ if updated_file_content != file_content:
142
161
  file_path.write_text(updated_file_content, encoding="utf-8")
143
162
  files_updated += 1
144
163
  print(f"Updated {file_path.relative_to(current_dir)}")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: machineconfig
3
- Version: 7.34
3
+ Version: 7.36
4
4
  Summary: Dotfiles management package
5
5
  Author-email: Alex Al-Saffar <programmer@usa.com>
6
6
  License: Apache 2.0
@@ -25,7 +25,7 @@ machineconfig/cluster/sessions_managers/zellij_remote_manager.py,sha256=xzih0y8_
25
25
  machineconfig/cluster/sessions_managers/helpers/enhanced_command_runner.py,sha256=YULt8r3zotkotjdmWRrUq3yGySZW-5e_rQSIZ-IMvjk,5410
26
26
  machineconfig/cluster/sessions_managers/helpers/load_balancer_helper.py,sha256=i5TRittC1IWTgMZNyG8AR5qq-3WrGp3xgIx2m5ktT7g,7526
27
27
  machineconfig/cluster/sessions_managers/utils/load_balancer.py,sha256=Y4RQmhROY6o7JXSJXRrBTkoAuEmu1gvmvN_7JKPw5sc,3178
28
- machineconfig/cluster/sessions_managers/utils/maker.py,sha256=V8_ywAEaD9VZQ5GIAm0S0XO_5pf7nAcnVBEyD_R8TSY,2643
28
+ machineconfig/cluster/sessions_managers/utils/maker.py,sha256=DifhHbmp0n35KnSO54SeXaHTgCMB5ocV3Jmv17Prz0w,2671
29
29
  machineconfig/cluster/sessions_managers/wt_utils/layout_generator.py,sha256=OA50j16uUS9ZTjL38TLuR3jufIOln_EszMZpbWyejTo,6972
30
30
  machineconfig/cluster/sessions_managers/wt_utils/manager_persistence.py,sha256=LWgK-886QMERLRJwQ4rH2Nr2RGlyKu6P7JYoBMVWMGc,1604
31
31
  machineconfig/cluster/sessions_managers/wt_utils/monitoring_helpers.py,sha256=e75rdp0G8cDfF9SfkJ7LX3TAJ8R3JWR5v-C_SDkDa14,1627
@@ -105,13 +105,7 @@ machineconfig/profile/records/windows/apps_summary_report.csv,sha256=nN5BoACBqXg
105
105
  machineconfig/profile/records/windows/apps_summary_report.md,sha256=O5hmAcpObaLmOjYLvHg9kkPJryqFwFaP8OsmfPwfR1o,137
106
106
  machineconfig/scripts/Restore-ThunderbirdProfile.ps1,sha256=HYIT48vW_E86QJq7RqfWAV06ZAMqjiZS8EDSET11Y04,3605
107
107
  machineconfig/scripts/__init__.py,sha256=v0cMjnaIo39C3ltLiTf1S0fCTMAqWtEU7zrVenUj4PQ,71
108
- machineconfig/scripts/linux/fzf2g,sha256=YK_YLmxCm6zms24ytylgoUHnvWqq8oTdRTiskzDClS0,831
109
- machineconfig/scripts/linux/fzfag,sha256=x0rX7vM_YjKLZ822D2Xh0HdaTj5kR_gG3g_5_w6ring,679
110
- machineconfig/scripts/linux/fzffg,sha256=jjeeyFkWmBbwH2taRqC3EOzZep2KR-ZYoI4UI-5kHqg,1090
111
- machineconfig/scripts/linux/fzfg,sha256=ClGnJZUsIk4y0qs3W5iXGo-nd0FaqAHMsnh8uoXQFy8,1190
112
- machineconfig/scripts/linux/fzfrga,sha256=xSdws6ae28ZXkkqz_uupZ0MYw_vxE2qpLT2DLS3WITM,460
113
- machineconfig/scripts/linux/skrg,sha256=JgQJGwxaChr148bDnpTB0rrqZMe2o2zGSDA9x_oUhWM,133
114
- machineconfig/scripts/linux/wrap_mcfg,sha256=R2WmmIVOL9nVtyZdvU02664GD7lYrmQUW4Y8b-wjLM8,1387
108
+ machineconfig/scripts/linux/wrap_mcfg,sha256=ETtxEmWCwrIdliIT7TYhBYbq5QrHJIxwktJpRUYMM54,1386
115
109
  machineconfig/scripts/linux/other/share_cloud.sh,sha256=lIZrXiaOT11kzu4NFNTXvANhc2bMdSPDYD1-7XUO_C0,2027
116
110
  machineconfig/scripts/linux/other/share_nfs,sha256=LDQZQ9TV7z2y7RtNHiO4Wb513MztyGjaAV-GzTGwUdc,1374
117
111
  machineconfig/scripts/linux/other/start_docker,sha256=_yDN_PPqgzSUnPT7dmniMTpL4IfeeaGy1a2OL3IJlDU,525
@@ -119,14 +113,15 @@ machineconfig/scripts/linux/other/switch_ip,sha256=NQfeKMBSbFY3eP6M-BadD-TQo5qMP
119
113
  machineconfig/scripts/python/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
120
114
  machineconfig/scripts/python/agents.py,sha256=aVbLQDgpngXZm4taHcED4sAxyHvV2_Dz5VW3apPcQcY,10651
121
115
  machineconfig/scripts/python/cloud.py,sha256=yAD6ciKiEtv2CH3g2NScDK5cpCZQi7Vu8yyeehw_cU8,1263
122
- machineconfig/scripts/python/croshell.py,sha256=QyQbVboNqDQHJkUeSsJvdT212t4TW46yat3GBzneqsQ,8649
123
- machineconfig/scripts/python/define.py,sha256=cT1N-QpnRvUTosYEsEtds-8rik90pbMNS4iliqb5sqM,653
116
+ machineconfig/scripts/python/croshell.py,sha256=zTRLTyEbZmJShZfOt6wSc7mFu_20bBugoJ-h0xDQO0M,8695
117
+ machineconfig/scripts/python/define.py,sha256=RPedDmDPVY1X8xR4DQ5tRIb4BAfSRBXi3ZeGZzzctmU,713
124
118
  machineconfig/scripts/python/devops.py,sha256=Lv4d-UlyOREj4VTcu_pxswYo54Mawe3XGeKjreGQDYg,2222
125
119
  machineconfig/scripts/python/devops_navigator.py,sha256=5Cm384D4S8_GsvMzTwr0C16D0ktf8_5Mk5bEJncwDO8,237
126
120
  machineconfig/scripts/python/fire_jobs.py,sha256=-xrUlBQ90asQkXuWESiDsD6D05Xuw0-NMmfwBerwSjg,13874
127
121
  machineconfig/scripts/python/ftpx.py,sha256=A13hL_tDYfcsaK9PkshK-0lrUS6KPhPCtwqWtLSo6IM,9764
128
122
  machineconfig/scripts/python/interactive.py,sha256=jFHpiQq_lisa51BS4-qUlWPJ1-pmHmPAfA6dixdsOzY,11745
129
123
  machineconfig/scripts/python/machineconfig.py,sha256=NvyNC0O3Yxf0vwTy_wl-vS_W6kEG6cLUSpj7yxLONL4,2747
124
+ machineconfig/scripts/python/msearch.py,sha256=9IV1rgm0qhlPt0C3nZW9G_EKq2L6ff8CMaojcCyU_FM,1078
130
125
  machineconfig/scripts/python/sessions.py,sha256=Q_fbprawvW1x_E6jKQ-Z2Z5MRurRaepKUvi5z1G4CUw,9531
131
126
  machineconfig/scripts/python/terminal.py,sha256=RY7hJ0JIefJeGe_sp7ZiZpOG_vhXLmEAFRq-Fon-VEY,5191
132
127
  machineconfig/scripts/python/utils.py,sha256=9vwF5QRbHphNF154UYg6Ld3W0b3N9uEkfMEeR-nP_sg,2802
@@ -162,7 +157,7 @@ machineconfig/scripts/python/ai/solutions/opencode/opencode.json,sha256=nahHKRw1
162
157
  machineconfig/scripts/python/ai/solutions/opencode/opencode.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
163
158
  machineconfig/scripts/python/env_manager/__init__.py,sha256=E4LAHbU1wo2dLjE36ntv8U7QNTe8TasujUAYK9SLvWk,6
164
159
  machineconfig/scripts/python/env_manager/path_manager_backend.py,sha256=ZVGlGJALhg7zNABDdwXxL7MFbL2BXPebObipXSLGbic,1552
165
- machineconfig/scripts/python/env_manager/path_manager_tui.py,sha256=xzGtd2PPuSpSuYrD9TJVWijeVNop1estuyxjXhyLlek,6932
160
+ machineconfig/scripts/python/env_manager/path_manager_tui.py,sha256=rGpm1vNTL30j0NsWrIHWeUYZ6uffarXIt8j5Zh6U_lc,6932
166
161
  machineconfig/scripts/python/helpers_agents/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
167
162
  machineconfig/scripts/python/helpers_agents/fire_agents_help_launch.py,sha256=YD6-rtudHNip8tx85amSmOZZIHBP9khq4az3dF41j6U,5934
168
163
  machineconfig/scripts/python/helpers_agents/fire_agents_help_search.py,sha256=qIfSS_su2YJ1Gb0_lu4cbjlJlYMBw0v52NTGiSrGjk8,2991
@@ -192,12 +187,12 @@ machineconfig/scripts/python/helpers_croshell/start_slidev.py,sha256=HfJReOusTPh
192
187
  machineconfig/scripts/python/helpers_croshell/viewer.py,sha256=heQNjB9fwn3xxbPgMofhv1Lp6Vtkl76YjjexWWBM0pM,2041
193
188
  machineconfig/scripts/python/helpers_croshell/viewer_template.py,sha256=ve3Q1-iKhCLc0VJijKvAeOYp2xaFOeIOC_XW956GWCc,3944
194
189
  machineconfig/scripts/python/helpers_devops/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
195
- machineconfig/scripts/python/helpers_devops/cli_config.py,sha256=8Mn4wmXB2YiAta59tdTYSFbqFf3c-pFqNLxSWtg0k2k,6891
190
+ machineconfig/scripts/python/helpers_devops/cli_config.py,sha256=xQ9O1Q4e390Q8JdPRc6xfcBp40IIibqlImwHQdvstv4,6891
196
191
  machineconfig/scripts/python/helpers_devops/cli_config_dotfile.py,sha256=pVUFE1SUtyTiulLzUssf8FrtU190EIV-l9rpwucsBa0,3427
197
192
  machineconfig/scripts/python/helpers_devops/cli_data.py,sha256=79Xvx7YnbueruEnl69hrDg2AhVxf_zCUdlVcKfeMGyQ,1774
198
193
  machineconfig/scripts/python/helpers_devops/cli_nw.py,sha256=9NcVJvPYaUDtmI_DSKthZxR4emMBeNWVM_M5f0YR8EQ,7302
199
194
  machineconfig/scripts/python/helpers_devops/cli_repos.py,sha256=Xwkv1adqHZvTfRSPWiqSK3PZ1XADyx3llw_YkbxaKyE,12505
200
- machineconfig/scripts/python/helpers_devops/cli_self.py,sha256=h5w7S4TlphvduV7zLxzI6K83LlJ4ws-GfK8qta-1TC0,6621
195
+ machineconfig/scripts/python/helpers_devops/cli_self.py,sha256=J_jGRV9aSX_UZiZAqKH7Fs1-Awxic0xEyoFxujHZSEs,6621
201
196
  machineconfig/scripts/python/helpers_devops/cli_share_server.py,sha256=BJnm9mEI0PGA2xK_ciNX1docIiRQ_fNhygGrDCcTekw,11076
202
197
  machineconfig/scripts/python/helpers_devops/cli_terminal.py,sha256=k_PzXaiGyE0vXr0Ii1XcJz2A7UvyPJrR31TRWt4RKRI,6019
203
198
  machineconfig/scripts/python/helpers_devops/cli_utils.py,sha256=B9pnosujOxZLpwzJO4YAqeO-2rvvOFIZgrUwGREZXfM,11118
@@ -215,6 +210,14 @@ machineconfig/scripts/python/helpers_fire_command/file_wrangler.py,sha256=tZS9qX
215
210
  machineconfig/scripts/python/helpers_fire_command/fire_jobs_args_helper.py,sha256=teioVhLI-skNpbYOJGo7WJEnz_FHzyidHff174CZSg8,4359
216
211
  machineconfig/scripts/python/helpers_fire_command/fire_jobs_route_helper.py,sha256=0aqH_ShEvmrzMC2oyWDds-CwtUqJNniNjp39-0wTpvQ,5391
217
212
  machineconfig/scripts/python/helpers_fire_command/fire_jobs_streamlit_helper.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
213
+ machineconfig/scripts/python/helpers_msearch/__init__.py,sha256=eZSLmDDBtML_JRn1BjU8IyzXEqjZ9-u3TYY6_hYsEKA,183
214
+ machineconfig/scripts/python/helpers_msearch/scripts_linux/fzfag,sha256=u3EYNQ_WT8jP11V0DPXWWXmFj1rzgNBnRokVBdVZpmc,677
215
+ machineconfig/scripts/python/helpers_msearch/scripts_linux/fzfg,sha256=v24TH1UpadimORxSH1EY3SRfiSAOVZyYXJUaifwc2qw,1188
216
+ machineconfig/scripts/python/helpers_msearch/scripts_linux/fzfrga,sha256=9K84gLZbxar19FE2bjbgdTztmyFyyCH7lELr6S9PwyA,454
217
+ machineconfig/scripts/python/helpers_msearch/scripts_linux/skrg,sha256=JgQJGwxaChr148bDnpTB0rrqZMe2o2zGSDA9x_oUhWM,133
218
+ machineconfig/scripts/python/helpers_msearch/scripts_windows/fzfb.ps1,sha256=Bmngm2aY8hnPa3iKAOK6EPDYdKzGLUc81wYOnJhNoqg,149
219
+ machineconfig/scripts/python/helpers_msearch/scripts_windows/fzfg.ps1,sha256=CHJbMrMuZePd4dxwIwz3g4XWAEmWmckuX-Nrx2xgRkg,27
220
+ machineconfig/scripts/python/helpers_msearch/scripts_windows/fzfrga.bat,sha256=rU_KBMO6ii2EZ0akMnmDk9vpuhKSUZqkV0o8a8ywXcM,488
218
221
  machineconfig/scripts/python/helpers_navigator/__init__.py,sha256=5qPsu5ztoj0gkrioY0Yg0GTZ9JAn6SG2gAk-6DpuQ00,764
219
222
  machineconfig/scripts/python/helpers_navigator/command_builder.py,sha256=59ipLYdkWvj_l1xqrC6rz2E2GNCP91BVBsX8vqTRnjQ,4618
220
223
  machineconfig/scripts/python/helpers_navigator/command_detail.py,sha256=9cL2wVqa_vzgsSIYg-eVjeuac9f3aQJvrTl0T-SRAOU,1693
@@ -225,9 +228,9 @@ machineconfig/scripts/python/helpers_navigator/search_bar.py,sha256=kDi8Jhxap8wd
225
228
  machineconfig/scripts/python/helpers_repos/action.py,sha256=8je051kpGZ7A_GRsQyWKhPZ8xVW7tSm4bnPu6VjxaXk,9755
226
229
  machineconfig/scripts/python/helpers_repos/action_helper.py,sha256=XRCtkGkNrxauqUd9qkxtfJt02Mx2gejSYDLL0jyWn24,6176
227
230
  machineconfig/scripts/python/helpers_repos/clone.py,sha256=UULEG5xJuXlPGU0nqXH6U45jA9DOFqLw8B4iPytCwOQ,5471
228
- machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py,sha256=MklPV1TtispRg1a5FQL1MpbFSFdvRInQ7HTJJFORHYU,10450
231
+ machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py,sha256=HYk5aV_TqbUcrmkmV1la281n5dXwdvHVuwVGiNYecRs,10450
229
232
  machineconfig/scripts/python/helpers_repos/count_lines.py,sha256=Q5c7b-DxvTlQmljoic7niTuiAVyFlwYvkVQ7uRJHiTo,16009
230
- machineconfig/scripts/python/helpers_repos/count_lines_frontend.py,sha256=vSDtrF4829jziwp6WZmGt9G8MJ9jY4hfXqtf0vhkYSE,607
233
+ machineconfig/scripts/python/helpers_repos/count_lines_frontend.py,sha256=OR3piWiA-z2XESEKG8XIHO5IUrB0wAGrf6ZoSE3cD8o,607
231
234
  machineconfig/scripts/python/helpers_repos/entrypoint.py,sha256=WYEFGUJp9HWImlFjbs_hiFZrUqM_KEYm5VvSUjWd04I,2810
232
235
  machineconfig/scripts/python/helpers_repos/grource.py,sha256=oJj1-gqlkV3Z_BrIOXRmtzoXcuBl0xTYfulJ5D0srOc,14656
233
236
  machineconfig/scripts/python/helpers_repos/record.py,sha256=FQo0swuJZOp0I2XGK-t1OQU4zJHmQ2z9zTpDD30Tmg4,11001
@@ -252,14 +255,11 @@ machineconfig/scripts/python/nw/ssh_debug_linux.py,sha256=VSFhyzYQeLIoSwsUFJFW1W
252
255
  machineconfig/scripts/python/nw/ssh_debug_windows.py,sha256=2prJs3PMsoAUu5LlZhHIKGVgqj7h6OviGEjAMJLJ7LI,29986
253
256
  machineconfig/scripts/python/nw/wifi_conn.py,sha256=wnSs16kHwhELS7wX3UtRVXgR_5En-x4nD27_JpJIflw,13590
254
257
  machineconfig/scripts/python/nw/wsl_windows_transfer.py,sha256=jHJyFTuks_Kw4cgE8xuGDVjO_71JgICrsV9ZQt53meY,3524
255
- machineconfig/scripts/windows/fzfb.ps1,sha256=Bmngm2aY8hnPa3iKAOK6EPDYdKzGLUc81wYOnJhNoqg,149
256
- machineconfig/scripts/windows/fzfg.ps1,sha256=CHJbMrMuZePd4dxwIwz3g4XWAEmWmckuX-Nrx2xgRkg,27
257
- machineconfig/scripts/windows/fzfrga.bat,sha256=rU_KBMO6ii2EZ0akMnmDk9vpuhKSUZqkV0o8a8ywXcM,488
258
258
  machineconfig/scripts/windows/wrap_mcfg.ps1,sha256=1mLCFDPBG-1uNVaZe3fIAgvS_uo3u55TQaysG6Wj9Sw,1868
259
259
  machineconfig/scripts/windows/mounts/mount_nfs.ps1,sha256=XrAdzpxE6a4OccSmWJ7YWHJTnsZK8uXnFE5j9GOPA20,2026
260
260
  machineconfig/scripts/windows/mounts/mount_nw.ps1,sha256=puxcfZc3ZCJerm8pj8OZGVoTYkhzp-h7oV-MrksSqIE,454
261
261
  machineconfig/scripts/windows/mounts/mount_smb.ps1,sha256=PzYWpIO9BpwXjdWlUQL9pnMRnOGNSkxfh4bHukJFme8,69
262
- machineconfig/scripts/windows/mounts/mount_ssh.ps1,sha256=9sZyxbW4uyGsy8nu6g8FvmMSrpCZK9yGZkK1OVDZuwY,322
262
+ machineconfig/scripts/windows/mounts/mount_ssh.ps1,sha256=YWmAMmV5FJxRJ7YlEuQtlZb72Sl8gsuwA4dvloagWQ8,322
263
263
  machineconfig/scripts/windows/mounts/share_cloud.cmd,sha256=exD7JCdxw2LqVjw2MKCYHbVZlEqmelXtwnATng-dhJ4,1028
264
264
  machineconfig/scripts/windows/mounts/share_smb.ps1,sha256=U7x8ULYSjbgzTtiHNSKQuTaZ_apilDvkGV5Xm5hXk5M,384
265
265
  machineconfig/scripts/windows/mounts/unlock_bitlocker.ps1,sha256=Wv-SLscdckV-1mG3p82VXKPY9zW3hgkRmcLUXIZ1daE,253
@@ -331,7 +331,7 @@ machineconfig/settings/rofi/config.rasi,sha256=nDX5B8wdXQYF1fwiOTBRJUI4l_gQbYaLa
331
331
  machineconfig/settings/rofi/config_default.rasi,sha256=rTfKnC-bZuWX1l-lWQACCUOE1ShhkfykAxtXX9PlQHE,4694
332
332
  machineconfig/settings/shells/alacritty/alacritty.toml,sha256=EbL-2Y4QunW1pvRWB2yuLCw8MMPONheJr5LFoWRieUQ,871
333
333
  machineconfig/settings/shells/alacritty/alacritty.yml,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
334
- machineconfig/settings/shells/bash/init.sh,sha256=2l-KKTSL-xLXpEvgVcxDa9iKZ0cxZCQh_GcVYj8rbR0,2935
334
+ machineconfig/settings/shells/bash/init.sh,sha256=IY2ZvdUbl1mqzE-PHYk91rp8SKIQcLx43yG3Mg4kFQc,2975
335
335
  machineconfig/settings/shells/hyper/.hyper.js,sha256=h-HqeYlvPvPD4Ee7828Cxo87uVkzbMGJFqXTZIWoegw,8884
336
336
  machineconfig/settings/shells/ipy/profiles/default/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
337
337
  machineconfig/settings/shells/ipy/profiles/default/startup/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -339,7 +339,7 @@ machineconfig/settings/shells/ipy/profiles/default/startup/playext.py,sha256=OJ3
339
339
  machineconfig/settings/shells/kitty/kitty.conf,sha256=lDdx-dUX3jbKGb3BkS2f2TOpmgGiS-CI-_-lFvhD5A4,52870
340
340
  machineconfig/settings/shells/nushell/config.nu,sha256=xtko80MPteDXuOJmwJHNFhXmfHT6fIBfmTgsF29GiEc,748
341
341
  machineconfig/settings/shells/nushell/env.nu,sha256=4VmaXb-qP6qnMD5TPzkXMLFNlB5QC4l9HEzCvXZE2GQ,315
342
- machineconfig/settings/shells/pwsh/init.ps1,sha256=doyiOqdLUHLoBtEbm6NNvges-hBcE4dD43jpXDZZVfE,2811
342
+ machineconfig/settings/shells/pwsh/init.ps1,sha256=uRRL0GmULbJBNmsL7r-Q8iz7PJrP96_RbuoOE5pjtKs,2899
343
343
  machineconfig/settings/shells/pwsh/profile.ps1,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
344
344
  machineconfig/settings/shells/starship/starship.toml,sha256=d5lWKC0AnTcriRAZV1opEZy76QknSpKFgJ3jyW9_vZ0,1305
345
345
  machineconfig/settings/shells/vtm/settings.xml,sha256=5TNXd-i0eUGo2w3tuhY9aOkwoJdqih8_HO_U6uL2Dts,18262
@@ -377,7 +377,7 @@ machineconfig/setup_linux/others/cli_installation.sh,sha256=gVvszYZJgKPRJx2SEaE3
377
377
  machineconfig/setup_linux/others/mint_keyboard_shortcuts.sh,sha256=F5dbg0n9RHsKGPn8fIdZMn3p0RrHEkb8rWBGsdVGbus,1207
378
378
  machineconfig/setup_linux/ssh/openssh_all.sh,sha256=3dg6HEUFbHQOzLfSAtzK_D_GB8rGCCp_aBnxNdnidVc,824
379
379
  machineconfig/setup_linux/ssh/openssh_wsl.sh,sha256=1eeRGrloVB34K5z8yWVUMG5b9pV-WBfHgV9jqXiYgCQ,1398
380
- machineconfig/setup_linux/web_shortcuts/interactive.sh,sha256=rdQlQN14gcZ38J1tVC1DumwxVlO5zfTjP4XnwHHHFJI,1453
380
+ machineconfig/setup_linux/web_shortcuts/interactive.sh,sha256=hA6IGlsmit1l1vtd0mFaYdNQjqd1bVHkXjy8sLFNdOU,1581
381
381
  machineconfig/setup_mac/__init__.py,sha256=Q1waupi5vCBroLqc8Rtnw69_7jLnm2Cs7_zH_GSZgMs,616
382
382
  machineconfig/setup_mac/apps.sh,sha256=R0N6fBwLCzwy4qAormyMerXXXrHazibSkY6NrNOpTQU,2772
383
383
  machineconfig/setup_mac/apps_gui.sh,sha256=3alvddg918oMlJB2aUWJWpGGoaq5atlxcaOwhnyXlRI,9517
@@ -392,7 +392,7 @@ machineconfig/setup_windows/others/power_options.ps1,sha256=c7Hn94jBD5GWF29CxMhm
392
392
  machineconfig/setup_windows/ssh/add-sshkey.ps1,sha256=qfPdqCpd9KP3VhH4ifsUm1Xvec7c0QVl4Wt8JIAm9HQ,1653
393
393
  machineconfig/setup_windows/ssh/add_identity.ps1,sha256=b8ZXpmNUSw3IMYvqSY7ClpdWPG39FS7MefoWnRhWN2U,506
394
394
  machineconfig/setup_windows/ssh/openssh-server.ps1,sha256=OMlYQdvuJQNxF5EILLPizB6BZAT3jAmDsv1WcVVxpFQ,2529
395
- machineconfig/setup_windows/web_shortcuts/interactive.ps1,sha256=s_-fu6-mJMq4sxYSazp7JmMtk26pV7MM2PvVHxcH6cI,1755
395
+ machineconfig/setup_windows/web_shortcuts/interactive.ps1,sha256=XwehvEL2njC620VjOrhPZtL__oENM8wR-U-I3edqTMw,1916
396
396
  machineconfig/setup_windows/wt_and_pwsh/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
397
397
  machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py,sha256=ogxJnwpdcpH7N6dFJu95UCNoGYirZKQho_3X0F_hmXs,6791
398
398
  machineconfig/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -410,18 +410,18 @@ machineconfig/utils/procs.py,sha256=YPA_vEYQGwPd_o_Lc6nOTBo5BrB1tSs8PJ42XiGpenM,
410
410
  machineconfig/utils/scheduler.py,sha256=fguwvINyaupOxdU5Uadyxalh_jXTXDzt0ioEgjEOKcM,14705
411
411
  machineconfig/utils/scheduling.py,sha256=vcJgajeJPSWkJNlarYJSmLvasdOuCtBM4druOAB1Nwc,11089
412
412
  machineconfig/utils/source_of_truth.py,sha256=ZAnCRltiM07ig--P6g9_6nEAvNFC4X4ERFTVcvpIYsE,764
413
- machineconfig/utils/ssh.py,sha256=s7oY9H5TKRLpvtKhOzixzPXiZtkLUEk1Eggs2ZFxHk0,39212
413
+ machineconfig/utils/ssh.py,sha256=fewz9UCOAZjhAzWkzumarw7mAesJMdYVAWBVnAY4Df4,39274
414
414
  machineconfig/utils/terminal.py,sha256=VDgsjTjBmMGgZN0YIc0pJ8YksLDrBtiXON1EThy7_is,4264
415
415
  machineconfig/utils/tst.py,sha256=6u1GI49NdcpxH2BYGAusNfY5q9G_ytCGVzFM5b6HYpM,674
416
- machineconfig/utils/upgrade_packages.py,sha256=75kabcI-chMiaBnafJ_hdhDUz_GyH7AsDt7rW3hyu9M,5851
416
+ machineconfig/utils/upgrade_packages.py,sha256=e4iJn_9vL2zCJxAR2dhKJjM0__ALKgI5yB1uBRxSjhQ,6994
417
417
  machineconfig/utils/ve.py,sha256=L-6PBXnQGXThiwWgheJMQoisAZOZA6SVCbGw2J-GFnI,2414
418
418
  machineconfig/utils/ai/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
419
419
  machineconfig/utils/cloud/onedrive/README.md,sha256=i20oRG110AN0yLF3DARHfWXDJjPBiSgWI8CP2HQAqrk,3774
420
420
  machineconfig/utils/cloud/onedrive/setup_oauth.py,sha256=ZTVkqgrwbV_EoPvyT8dyOTUE0ur3BW4sa9o6QYtt5Bo,2341
421
421
  machineconfig/utils/cloud/onedrive/transaction.py,sha256=m-aNcnWj_gfZVvJOSpkdIqjZxU_3nXx2CA-qKbQgP3I,26232
422
- machineconfig/utils/files/ascii_art.py,sha256=cNJaJC07vx94fS44-tzgfbfBeCwXVrgpnWGBLUnfC38,5212
422
+ machineconfig/utils/files/ascii_art.py,sha256=SQkayd2r_PkvLCNRjNnq5JzYz8t_dOMHquiJ3E6-9Ck,5216
423
423
  machineconfig/utils/files/dbms.py,sha256=B7Mns8g774kfeXZwcuGWUpRnSgiOtS6khn8faRH5rQs,11390
424
- machineconfig/utils/files/headers.py,sha256=E5wBiGcGxKcDkvg0tjz8gIQ3Gyw4m6d0miG2WQ1Vscw,3388
424
+ machineconfig/utils/files/headers.py,sha256=B8Gs1IhLBc5q2kDZYxwf8u7m6XHpqvCXX1UO8_l0wt4,3490
425
425
  machineconfig/utils/files/read.py,sha256=QDxLEIYi0NcgAys97IVB6IUl4S9CiFP6TKGxUxRBJOM,4330
426
426
  machineconfig/utils/files/art/fat_croco.txt,sha256=Gz-qK0YZT4pnPA16hlsCVZN3HrBAPW_1hEv3IZTy01Q,637
427
427
  machineconfig/utils/files/art/halfwit_croco.txt,sha256=To3-lWfcnonx2Ap71lVYyJ6PTK04G78L3uCM10-hCRk,437
@@ -439,8 +439,8 @@ machineconfig/utils/schemas/installer/installer_types.py,sha256=QClRY61QaduBPJoS
439
439
  machineconfig/utils/schemas/layouts/layout_types.py,sha256=TcqlZdGVoH8htG5fHn1KWXhRdPueAcoyApppZsPAPto,2020
440
440
  machineconfig/utils/schemas/repos/repos_types.py,sha256=ECVr-3IVIo8yjmYmVXX2mnDDN1SLSwvQIhx4KDDQHBQ,405
441
441
  machineconfig/utils/ssh_utils/utils.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
442
- machineconfig-7.34.dist-info/METADATA,sha256=IdDbwFZG4Yx1f7SosvPt8tTLP4GXF0BUK6xPzcojmxs,3396
443
- machineconfig-7.34.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
444
- machineconfig-7.34.dist-info/entry_points.txt,sha256=T5NQvd_TI1WrquhIeQU3TbtMauWDXz3hCB1a_3K3KLY,642
445
- machineconfig-7.34.dist-info/top_level.txt,sha256=porRtB8qms8fOIUJgK-tO83_FeH6Bpe12oUVC670teA,14
446
- machineconfig-7.34.dist-info/RECORD,,
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,,
@@ -8,6 +8,7 @@ fire = machineconfig.scripts.python.fire_jobs:main
8
8
  ftpx = machineconfig.scripts.python.ftpx:main
9
9
  machineconfig = machineconfig.scripts.python.machineconfig:main
10
10
  mcfg = machineconfig.scripts.python.machineconfig:main
11
+ msearch = machineconfig.scripts.python.msearch:main
11
12
  sessions = machineconfig.scripts.python.sessions:main
12
13
  terminal = machineconfig.scripts.python.terminal:main
13
14
  utils = machineconfig.scripts.python.utils:main
@@ -1,21 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- # uses fzf as interactive ripgrep launcher.
4
- # from https://github.com/junegunn/fzf/blob/master/ADVANCED.md#using-fzf-as-interative-ripgrep-launcher
5
-
6
- # 1. Search for text in files using Ripgrep
7
- # 2. Interactively restart Ripgrep with reload action
8
- # 3. Open the file in Vim
9
-
10
- RG_PREFIX="rg --column --line-number --no-heading --color=always --smart-case "
11
- INITIAL_QUERY="${*:-}"
12
- IFS=: read -ra selected < <(
13
- FZF_DEFAULT_COMMAND="$RG_PREFIX $(printf %q "$INITIAL_QUERY")" \
14
- fzf --ansi \
15
- --disabled --query "$INITIAL_QUERY" \
16
- --bind "change:reload:sleep 0.1; $RG_PREFIX {q} || true" \
17
- --delimiter : \
18
- --preview 'bat --color=always {1} --highlight-line {2}' \
19
- --preview-window 'up,60%,border-bottom,+{2}+3/3,~3'
20
- )
21
- [ -n "${selected[0]}" ] && lvim "${selected[0]}" "+${selected[1]}"
@@ -1,25 +0,0 @@
1
- #!/usr/bin/env bash
2
- # fzf from grep
3
- # from https://github.com/junegunn/fzf/blob/master/ADVANCED.md#switching-to-fzf-only-search-mode
4
-
5
- # Two-phase filtering with Ripgrep and fzf
6
- #
7
- # 1. Search for text in files using Ripgrep
8
- # 2. Interactively restart Ripgrep with reload action
9
- # * Press alt-enter to switch to fzf-only filtering
10
- # 3. Open the file in Vim
11
- RG_PREFIX="rg --column --line-number --no-heading --color=always --smart-case "
12
- INITIAL_QUERY="${*:-}"
13
- IFS=: read -ra selected < <(
14
- FZF_DEFAULT_COMMAND="$RG_PREFIX $(printf %q "$INITIAL_QUERY")" \
15
- fzf --ansi \
16
- --color "hl:-1:underline,hl+:-1:underline:reverse" \
17
- --disabled --query "$INITIAL_QUERY" \
18
- --bind "change:reload:sleep 0.1; $RG_PREFIX {q} || true" \
19
- --bind "alt-enter:unbind(change,alt-enter)+change-prompt(2. fzf> )+enable-search+clear-query" \
20
- --prompt '1. ripgrep> ' \
21
- --delimiter : \
22
- --preview 'batcat --color=always {1} --highlight-line {2}' \
23
- --preview-window 'up,60%,border-bottom,+{2}+3/3,~3'
24
- )
25
- [ -n "${selected[0]}" ] && lvim "${selected[0]}" "+${selected[1]}"