machineconfig 7.64__py3-none-any.whl → 7.79__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 (78) hide show
  1. machineconfig/cluster/sessions_managers/utils/maker.py +4 -2
  2. machineconfig/jobs/installer/custom_dev/sysabc.py +26 -0
  3. machineconfig/jobs/installer/installer_data.json +70 -2
  4. machineconfig/profile/create_links_export.py +2 -2
  5. machineconfig/scripts/__init__.py +0 -4
  6. machineconfig/scripts/python/agents.py +22 -17
  7. machineconfig/scripts/python/ai/solutions/copilot/instructions/python/dev.instructions.md +3 -0
  8. machineconfig/scripts/python/croshell.py +22 -17
  9. machineconfig/scripts/python/devops.py +1 -1
  10. machineconfig/scripts/python/devops_navigator.py +0 -4
  11. machineconfig/scripts/python/env_manager/path_manager_tui.py +1 -1
  12. machineconfig/scripts/python/fire_jobs.py +13 -13
  13. machineconfig/scripts/python/ftpx.py +36 -12
  14. machineconfig/scripts/python/helpers/ast_search.py +74 -0
  15. machineconfig/scripts/python/helpers/qr_code.py +166 -0
  16. machineconfig/scripts/python/helpers/repo_rag.py +325 -0
  17. machineconfig/scripts/python/helpers/symantic_search.py +25 -0
  18. machineconfig/scripts/python/helpers_cloud/cloud_copy.py +28 -21
  19. machineconfig/scripts/python/helpers_cloud/cloud_helpers.py +1 -1
  20. machineconfig/scripts/python/helpers_cloud/cloud_mount.py +19 -17
  21. machineconfig/scripts/python/helpers_cloud/cloud_sync.py +8 -7
  22. machineconfig/scripts/python/helpers_croshell/start_slidev.py +6 -7
  23. machineconfig/scripts/python/helpers_devops/cli_nw.py +88 -7
  24. machineconfig/scripts/python/helpers_devops/cli_self.py +7 -6
  25. machineconfig/scripts/python/helpers_devops/cli_share_file.py +7 -7
  26. machineconfig/scripts/python/helpers_devops/cli_share_server.py +12 -11
  27. machineconfig/scripts/python/helpers_devops/cli_terminal.py +6 -5
  28. machineconfig/scripts/python/helpers_devops/cli_utils.py +2 -1
  29. machineconfig/scripts/python/helpers_devops/devops_status.py +7 -19
  30. machineconfig/scripts/python/helpers_fire_command/fire_jobs_route_helper.py +20 -9
  31. machineconfig/scripts/python/helpers_navigator/command_tree.py +50 -18
  32. machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py +5 -3
  33. machineconfig/scripts/python/helpers_repos/count_lines_frontend.py +1 -1
  34. machineconfig/scripts/python/helpers_utils/download.py +4 -3
  35. machineconfig/scripts/python/helpers_utils/path.py +81 -31
  36. machineconfig/scripts/python/interactive.py +1 -1
  37. machineconfig/scripts/python/{machineconfig.py → mcfg_entry.py} +4 -0
  38. machineconfig/scripts/python/msearch.py +21 -2
  39. machineconfig/scripts/python/nw/address.py +132 -0
  40. machineconfig/scripts/python/nw/devops_add_ssh_key.py +8 -5
  41. machineconfig/scripts/python/terminal.py +2 -2
  42. machineconfig/scripts/python/utils.py +10 -9
  43. machineconfig/scripts/windows/mounts/mount_ssh.ps1 +1 -1
  44. machineconfig/settings/lf/windows/lfcd.ps1 +1 -1
  45. machineconfig/settings/shells/nushell/config.nu +2 -2
  46. machineconfig/settings/shells/nushell/env.nu +45 -6
  47. machineconfig/settings/shells/nushell/init.nu +282 -95
  48. machineconfig/settings/shells/pwsh/init.ps1 +1 -0
  49. machineconfig/setup_linux/web_shortcuts/interactive.sh +10 -10
  50. machineconfig/setup_windows/uv.ps1 +8 -1
  51. machineconfig/setup_windows/web_shortcuts/interactive.ps1 +10 -10
  52. machineconfig/setup_windows/web_shortcuts/quick_init.ps1 +3 -2
  53. machineconfig/utils/accessories.py +7 -4
  54. machineconfig/utils/code.py +4 -2
  55. machineconfig/utils/installer_utils/install_from_url.py +180 -0
  56. machineconfig/utils/installer_utils/installer_class.py +18 -10
  57. machineconfig/utils/installer_utils/installer_cli.py +14 -9
  58. machineconfig/utils/links.py +2 -2
  59. machineconfig/utils/meta.py +2 -2
  60. machineconfig/utils/options.py +3 -3
  61. machineconfig/utils/path_extended.py +1 -1
  62. machineconfig/utils/path_helper.py +0 -1
  63. machineconfig/utils/ssh.py +143 -409
  64. machineconfig/utils/ssh_utils/abc.py +8 -0
  65. machineconfig/utils/ssh_utils/copy_from_here.py +110 -0
  66. machineconfig/utils/ssh_utils/copy_to_here.py +302 -0
  67. machineconfig/utils/ssh_utils/utils.py +141 -0
  68. machineconfig/utils/ssh_utils/wsl.py +168 -0
  69. machineconfig/utils/upgrade_packages.py +2 -1
  70. machineconfig/utils/ve.py +11 -4
  71. {machineconfig-7.64.dist-info → machineconfig-7.79.dist-info}/METADATA +1 -1
  72. {machineconfig-7.64.dist-info → machineconfig-7.79.dist-info}/RECORD +77 -68
  73. {machineconfig-7.64.dist-info → machineconfig-7.79.dist-info}/entry_points.txt +2 -2
  74. machineconfig/scripts/python/explore.py +0 -49
  75. /machineconfig/{settings/shells/pwsh/profile.ps1 → scripts/python/helpers_fire_command/f.py} +0 -0
  76. /machineconfig/scripts/{Restore-ThunderbirdProfile.ps1 → windows/mounts/Restore-ThunderbirdProfile.ps1} +0 -0
  77. {machineconfig-7.64.dist-info → machineconfig-7.79.dist-info}/WHEEL +0 -0
  78. {machineconfig-7.64.dist-info → machineconfig-7.79.dist-info}/top_level.txt +0 -0
@@ -1,127 +1,314 @@
1
- # Nushell initialization script
2
- # Translation of init.ps1 to Nushell
1
+ # machineconfig Nushell initialization
3
2
 
3
+ let config_root = (
4
+ $env.CONFIG_ROOT?
5
+ | default ($env.HOME | path join ".config" "machineconfig")
6
+ )
4
7
 
8
+ def ensure_directory [dir: string] -> nothing {
9
+ if (($dir | path exists) == false) {
10
+ try {
11
+ mkdir $dir
12
+ } catch {
13
+ null
14
+ }
15
+ }
16
+ }
5
17
 
6
- # Add directories to PATH if not already present
7
- def add_to_path_if_not_already [...directories: string] {
8
- let raw_path = ($env.PATH? | default [])
9
- let path_type = ($raw_path | describe)
18
+ def temp_file [prefix: string suffix: string] -> string {
19
+ let base_dir = (
20
+ $env.TMPDIR?
21
+ | default (
22
+ $env.TEMP?
23
+ | default (
24
+ $env.TMP?
25
+ | default "/tmp"
26
+ )
27
+ )
28
+ )
10
29
 
11
- mut path_entries = if $path_type == "string" {
12
- $raw_path | split row (char esep)
13
- } else if $path_type == "list<string>" {
14
- $raw_path
15
- } else if $path_type == "nothing" {
16
- []
17
- } else {
18
- []
19
- }
30
+ ensure_directory $base_dir
20
31
 
21
- for dir in $directories {
22
- if $dir not-in $path_entries {
23
- $path_entries = ($path_entries | append $dir)
24
- }
25
- }
32
+ let token = (random uuid | str replace "-" "" | str substring 0..16)
33
+ let path = ($base_dir | path join $"($prefix)($token)($suffix)")
34
+
35
+ "" | save --force $path
26
36
 
27
- $path_entries
37
+ $path
28
38
  }
29
39
 
30
- export-env {
31
- let config_root = $"($env.HOME)/.config/machineconfig"
32
- load-env { CONFIG_ROOT: $config_root }
40
+ export def wrap_in_shell_script [command: string ...args: string] -> nothing {
41
+ let op_dir = ($env.HOME | path join "tmp_results" "tmp_scripts" "machineconfig")
42
+ ensure_directory $op_dir
33
43
 
34
- let new_path = (add_to_path_if_not_already $"($config_root)/scripts" $"($env.HOME)/dotfiles/scripts/linux" "/usr/local/bin")
35
- load-env { PATH: $new_path }
44
+ let random_name = (random uuid | str replace "-" "" | str substring 0..16)
45
+ let op_program_path = ($op_dir | path join $"($random_name).sh")
46
+ let timestamp = (date now --utc | format date "%Y-%m-%d %H:%M:%SZ")
36
47
 
37
- # Source external scripts and define aliases
38
- if ($"($config_root)/scripts" | path exists) {
39
- # Source helper scripts
40
- # let broot_script = ($config_root | path join "settings" "broot" "brootcd.nu")
41
- # let lf_script = ($config_root | path join "settings" "lf" "linux" "lfcd.nu")
42
- # let tere_script = ($config_root | path join "settings" "tere" "terecd.nu")
48
+ print $"machineconfig: running ($command) at ($timestamp)"
49
+ print $"machineconfig: op program path ($op_program_path)"
43
50
 
44
- def wrap_in_shell_script [command: string ...args: string] -> nothing {
45
- let op_dir = ($env.HOME | path join "tmp_results" "tmp_scripts" "machineconfig")
46
- if ($op_dir | path exists) == false {
47
- try { mkdir $op_dir } catch { null }
51
+ let run_status = (
52
+ try {
53
+ with-env { OP_PROGRAM_PATH: $op_program_path } {
54
+ run-external $command ...$args
48
55
  }
56
+ $env.LAST_EXIT_CODE? | default 0
57
+ } catch {
58
+ 1
59
+ }
60
+ )
49
61
 
50
- let random_name = (random uuid | str replace "-" "" | str substring 0..16)
51
- let op_program_path = ($op_dir | path join $"($random_name).sh")
52
- let timestamp = (date now --utc | format date "%Y-%m-%d %H:%M:%SZ")
53
-
54
- print $"machineconfig: running ($command) at ($timestamp)"
62
+ if ($op_program_path | path exists) {
63
+ let has_bat = (((which bat) | length) > 0)
64
+ if $has_bat {
65
+ run-external bat "--style=plain" "--paging=never" $op_program_path
66
+ } else {
67
+ print (open --raw $op_program_path)
68
+ }
55
69
 
56
- let status = (try {
57
- with-env { OP_PROGRAM_PATH: $op_program_path } {
58
- run-external $command ...$args
59
- $env.LAST_EXIT_CODE? | default 0
60
- }
70
+ let follow_status = (
71
+ try {
72
+ run-external bash $op_program_path
73
+ $env.LAST_EXIT_CODE? | default 0
61
74
  } catch {
62
75
  1
63
- })
76
+ }
77
+ )
64
78
 
65
- if ($op_program_path | path exists) {
66
- if (which bat | is-empty) {
67
- print (open --raw $op_program_path)
68
- } else {
69
- run-external bat "--style=plain" "--paging=never" $op_program_path
70
- }
79
+ if $follow_status == 0 {
80
+ print $"machineconfig: completed ($command)"
81
+ } else {
82
+ print $"machineconfig: script exited with status ($follow_status)"
83
+ }
84
+ } else if $run_status == 0 {
85
+ print $"machineconfig: completed ($command)"
86
+ } else {
87
+ print $"machineconfig: ($command) exited with status ($run_status)"
88
+ }
89
+ }
71
90
 
72
- let follow_status = (try {
73
- run-external bash $op_program_path
74
- $env.LAST_EXIT_CODE? | default 0
91
+ export def br [...args: string] -> nothing {
92
+ let cmd_file = (temp_file "broot-" ".cmd")
93
+
94
+ try {
95
+ run-external broot "--outcmd" $cmd_file ...$args
96
+ } catch {
97
+ if ($cmd_file | path exists) {
98
+ rm $cmd_file
99
+ }
100
+ return
101
+ }
102
+
103
+ if ($cmd_file | path exists) {
104
+ let command_text = (open --raw $cmd_file | str trim)
105
+ rm $cmd_file
106
+
107
+ if ($command_text | str length) > 0 {
108
+ let parsed_cd = (
109
+ try {
110
+ $command_text
111
+ | parse "cd \"{path}\""
112
+ | get path
113
+ | first
75
114
  } catch {
76
- 1
77
- })
115
+ null
116
+ }
117
+ )
78
118
 
79
- if $follow_status == 0 {
80
- print $"machineconfig: completed '$command'"
81
- } else {
82
- print $"machineconfig: program exited with status ($follow_status)"
119
+ if $parsed_cd != null {
120
+ if ($parsed_cd | str length) > 0 {
121
+ cd $parsed_cd
83
122
  }
84
- } else if $status == 0 {
85
- print $"machineconfig: completed '$command'"
86
123
  } else {
87
- print $"machineconfig: '$command' exited with status ($status)"
124
+ try {
125
+ run-external nu "-c" $command_text
126
+ } catch {
127
+ null
128
+ }
88
129
  }
89
130
  }
131
+ }
132
+ }
90
133
 
91
- # Define aliases and custom commands
92
- def lsdla [] { lsd -la }
93
- alias l = lsdla
94
-
95
- def d [...args: string] { wrap_in_shell_script devops ...$args }
96
- def c [...args: string] { wrap_in_shell_script cloud ...$args }
97
- def a [...args: string] { wrap_in_shell_script agents ...$args }
98
- def ss [...args: string] { wrap_in_shell_script sessions ...$args }
99
- def ff [...args: string] { wrap_in_shell_script ftpx ...$args }
100
- def f [...args: string] { wrap_in_shell_script fire ...$args }
101
- def rr [...args: string] { wrap_in_shell_script croshell ...$args }
102
- def u [...args: string] { wrap_in_shell_script utils ...$args }
103
- def t [...args: string] { wrap_in_shell_script terminal ...$args }
104
- def ms [...args: string] { wrap_in_shell_script msearch ...$args }
105
- } else {
106
- print $"Missing config files: ($config_root)"
134
+ export def lfcd [...args: string] -> nothing {
135
+ let tmp = (temp_file "lf-" ".tmp")
136
+
137
+ try {
138
+ run-external lf $"--last-dir-path=$tmp" ...$args
139
+ } catch {
140
+ null
141
+ }
142
+
143
+ if ($tmp | path exists) {
144
+ let dir = (open --raw $tmp | str trim)
145
+ rm $tmp
146
+
147
+ if (($dir | str length) > 0) and ($dir | path exists) {
148
+ cd $dir
149
+ }
107
150
  }
108
151
  }
109
152
 
110
- # Initialize zoxide if available
111
- # Patched by machineconfig from https://github.com/ajeetdsouza/zoxide
112
- try {
113
- source <(zoxide init nushell)
114
- } catch {
115
- # Do nothing if zoxide is not available
153
+ export def y [...args: string] -> nothing {
154
+ let tmp = (temp_file "yazi-" ".tmp")
155
+
156
+ try {
157
+ run-external yazi ...$args $"--cwd-file=$tmp"
158
+ } catch {
159
+ null
160
+ }
161
+
162
+ if ($tmp | path exists) {
163
+ let dir = (open --raw $tmp | str trim)
164
+ rm $tmp
165
+
166
+ if (($dir | str length) > 0) and ($dir | path exists) {
167
+ cd $dir
168
+ }
169
+ }
116
170
  }
117
171
 
118
- # Initialize Starship prompt if available
119
- try {
120
- source <(starship init nu)
121
- } catch {
122
- # Do nothing if starship is not available
172
+ export def tere [...args: string] -> nothing {
173
+ let result = (
174
+ try {
175
+ run-external tere ...$args | complete
176
+ } catch {
177
+ null
178
+ }
179
+ )
180
+
181
+ if $result != null {
182
+ let dest = ($result.stdout | str trim)
183
+ if (($dest | str length) > 0) and ($dest | path exists) {
184
+ cd $dest
185
+ }
186
+ }
187
+ }
188
+
189
+ export alias lf = lfcd
190
+
191
+ export def d [...args: string] -> nothing {
192
+ wrap_in_shell_script "devops" ...$args
193
+ }
194
+
195
+ export def c [...args: string] -> nothing {
196
+ wrap_in_shell_script "cloud" ...$args
197
+ }
198
+
199
+ export def a [...args: string] -> nothing {
200
+ wrap_in_shell_script "agents" ...$args
201
+ }
202
+
203
+ export def s [...args: string] -> nothing {
204
+ wrap_in_shell_script "sessions" ...$args
205
+ }
206
+
207
+ export def fx [...args: string] -> nothing {
208
+ wrap_in_shell_script "ftpx" ...$args
209
+ }
210
+
211
+ export def f [...args: string] -> nothing {
212
+ wrap_in_shell_script "fire" ...$args
213
+ }
214
+
215
+ export def r [...args: string] -> nothing {
216
+ wrap_in_shell_script "croshell" ...$args
217
+ }
218
+
219
+ export def u [...args: string] -> nothing {
220
+ wrap_in_shell_script "utils" ...$args
221
+ }
222
+
223
+ export def t [...args: string] -> nothing {
224
+ wrap_in_shell_script "terminal" ...$args
225
+ }
226
+
227
+ export def ms [...args: string] -> nothing {
228
+ wrap_in_shell_script "msearch" ...$args
229
+ }
230
+
231
+ export def x [...args: string] -> nothing {
232
+ wrap_in_shell_script "explore" ...$args
233
+ }
234
+
235
+ export alias l = lsd -la
236
+
237
+ let starship_cache_dir = ($env.HOME | path join ".cache" "starship")
238
+ if (((which starship) | length) > 0) {
239
+ ensure_directory $starship_cache_dir
240
+ let starship_init = ($starship_cache_dir | path join "init.nu")
241
+
242
+ try {
243
+ starship init nu | save --force $starship_init
244
+ } catch {
245
+ try {
246
+ starship init nu | save $starship_init
247
+ } catch {
248
+ null
249
+ }
250
+ }
251
+
252
+ try {
253
+ source $starship_init
254
+ } catch {
255
+ null
256
+ }
257
+
258
+ try {
259
+ use $starship_init starship
260
+ } catch {
261
+ null
262
+ }
263
+ }
264
+
265
+ let zoxide_init = ($env.HOME | path join ".zoxide.nu")
266
+ if (((which zoxide) | length) > 0) {
267
+ try {
268
+ zoxide init nushell | save --force $zoxide_init
269
+ } catch {
270
+ try {
271
+ zoxide init nushell | save $zoxide_init
272
+ } catch {
273
+ null
274
+ }
275
+ }
276
+
277
+ try {
278
+ source $zoxide_init
279
+ } catch {
280
+ null
281
+ }
282
+ }
283
+
284
+ let mcfly_cache_dir = ($env.HOME | path join ".cache" "mcfly")
285
+ if (((which mcfly) | length) > 0) {
286
+ ensure_directory $mcfly_cache_dir
287
+ let mcfly_init = ($mcfly_cache_dir | path join "init.nu")
288
+
289
+ try {
290
+ mcfly init nu | save --force $mcfly_init
291
+ } catch {
292
+ try {
293
+ mcfly init nu | save $mcfly_init
294
+ } catch {
295
+ null
296
+ }
297
+ }
298
+
299
+ try {
300
+ source $mcfly_init
301
+ } catch {
302
+ null
303
+ }
304
+ }
305
+
306
+ let user_init = ($env.HOME | path join "dotfiles" "machineconfig" "init_nu.nu")
307
+ if ($user_init | path exists) {
308
+ try {
309
+ source $user_init
310
+ } catch {
311
+ null
312
+ }
123
313
  }
124
- # as per https://github.com/starship/starship?tab=readme-ov-file#step-1-install-starship
125
- # $nu.config-path
126
- # use ~/.cache/starship/init.nu
127
314
 
@@ -15,6 +15,7 @@ function Add-ToPathIfNotAlready {
15
15
  }
16
16
 
17
17
  Add-ToPathIfNotAlready -Directories @(
18
+ "$HOME\.local\bin",
18
19
  "$CONFIG_ROOT\scripts",
19
20
  "$HOME\dotfiles\scripts\windows",
20
21
  "C:\Program Files (x86)\GnuWin32\bin",
@@ -2,16 +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.64" devops'
6
- alias cloud='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.64" cloud'
7
- alias agents='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.64" agents'
8
- alias sessions='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.64" sessions'
9
- alias ftpx='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.64" ftpx'
10
- alias fire='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.64" fire'
11
- alias croshell='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.64" croshell'
12
- alias utils='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.64" utils'
13
- alias terminal='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.64" terminal'
14
- alias msearch='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.64" msearch'
5
+ alias devops='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.79" devops'
6
+ alias cloud='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.79" cloud'
7
+ alias agents='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.79" agents'
8
+ alias sessions='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.79" sessions'
9
+ alias ftpx='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.79" ftpx'
10
+ alias fire='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.79" fire'
11
+ alias croshell='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.79" croshell'
12
+ alias utils='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.79" utils'
13
+ alias terminal='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.79" terminal'
14
+ alias msearch='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.79" msearch'
15
15
 
16
16
  alias d='wrap_in_shell_script devops'
17
17
  alias c='wrap_in_shell_script cloud'
@@ -7,4 +7,11 @@ if (-not (Test-Path -Path "$HOME\.local\bin\uv.exe")) {
7
7
  Write-Output "uv binary found, updating..."
8
8
  & "$HOME\.local\bin\uv.exe" self update
9
9
  }
10
- & "$HOME\.local\bin\uv.exe" python install 3.14
10
+
11
+ # `C:\Users\aalsaf01\.local\bin` is not on your PATH. To use installed Python executables, run `$env:PATH = "C:\Users\aalsaf01\.local\bin;$env:PATH"` or `uv python update-shell`.
12
+ & "$env:USERPROFILE\.local\bin\uv.exe" python update-shell
13
+ $env:Path = [System.Environment]::GetEnvironmentVariable('Path', 'Machine') + ';' + [System.Environment]::GetEnvironmentVariable('Path', 'User')
14
+
15
+ # & "$HOME\.local\bin\uv.exe" python install 3.14
16
+ uv python install 3.14
17
+
@@ -3,16 +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.64" devops $args }
7
- function cloud { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.64" cloud $args }
8
- function agents { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.64" agents $args }
9
- function sessions { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.64" sessions $args }
10
- function ftpx { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.64" ftpx $args }
11
- function fire { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.64" fire $args }
12
- function croshell { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.64" croshell $args }
13
- function utils { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.64" utils $args }
14
- function terminal { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.64" terminal $args }
15
- function msearch { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.64" msearch $args }
6
+ function devops { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.79" devops $args }
7
+ function cloud { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.79" cloud $args }
8
+ function agents { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.79" agents $args }
9
+ function sessions { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.79" sessions $args }
10
+ function ftpx { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.79" ftpx $args }
11
+ function fire { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.79" fire $args }
12
+ function croshell { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.79" croshell $args }
13
+ function utils { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.79" utils $args }
14
+ function terminal { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.79" terminal $args }
15
+ function msearch { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.79" msearch $args }
16
16
 
17
17
  function d { wrap_in_shell_script devops @args }
18
18
  function c { wrap_in_shell_script cloud @args }
@@ -1,7 +1,8 @@
1
1
 
2
2
  iex (iwr "https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_windows/uv.ps1").Content
3
3
  # iex (iwr "https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/scripts/windows/wrap_mcfg.ps1").Content
4
- uv tool install --upgrade --python 3.14 machineconfig both
4
+
5
+ uv tool install --upgrade --python 3.14 machineconfig
5
6
 
6
7
  devops install --group sysabc
7
8
 
@@ -12,5 +13,5 @@ devops config shell
12
13
  devops config shell --which nushell
13
14
 
14
15
  wt # start Windows Terminal to pick up config changes
15
- devops install --group termabc
16
+ devops install --group termabc
16
17
  devops install --group gui
@@ -1,4 +1,3 @@
1
- from pathlib import Path
2
1
  from typing import Optional, Any
3
2
 
4
3
  from datetime import datetime, timezone, timedelta
@@ -96,14 +95,18 @@ def human_friendly_dict(d: dict[str, Any]) -> dict[str, Any]:
96
95
  return result
97
96
 
98
97
 
99
- def get_repo_root(path: Path) -> Optional[Path]:
98
+ def get_repo_root(path: "Path") -> Optional["Path"]:
100
99
  from git import Repo, InvalidGitRepositoryError
101
-
102
100
  try:
103
- repo = Repo(str(path), search_parent_directories=True)
101
+ repo = Repo(path, search_parent_directories=True)
104
102
  root = repo.working_tree_dir
105
103
  if root is not None:
104
+ from pathlib import Path
106
105
  return Path(root)
107
106
  except InvalidGitRepositoryError:
108
107
  pass
109
108
  return None
109
+
110
+
111
+ if __name__ == "__main__":
112
+ from pathlib import Path
@@ -38,14 +38,16 @@ def get_uv_command_executing_python_script(python_script: str, uv_with: Optional
38
38
  uv_project_dir_arg = "--project" + f' "{uv_project_dir}"'
39
39
  else:
40
40
  uv_project_dir_arg = ""
41
- print_code_string = lambda_to_python_script(lambda: print_code(code=python_script, lexer="python", desc="Temporary Python Script", subtitle="Executing via shell script"), in_global=True, import_module=False)
41
+ print_code_string = lambda_to_python_script(lambda: print_code(code=python_script, lexer="python", desc="Temporary Python Script", subtitle="Executing via shell script"),
42
+ in_global=True, import_module=False)
42
43
  python_file.write_text(print_code_string + "\n" + python_script, encoding="utf-8")
43
44
  shell_script = f"""uv run {uv_with_arg} {uv_project_dir_arg} {str(python_file)} """
44
45
  return shell_script, python_file
45
46
 
46
47
 
47
48
  def run_lambda_function(lmb: Callable[[], Any], uv_with: Optional[list[str]], uv_project_dir: Optional[str]) -> None:
48
- code = lambda_to_python_script(lmb, in_global=True, import_module=False)
49
+ code = lambda_to_python_script(lmb,
50
+ in_global=True, import_module=False)
49
51
  uv_command, _py_file = get_uv_command_executing_python_script(python_script=code, uv_with=uv_with, uv_project_dir=uv_project_dir)
50
52
  run_shell_script(uv_command)
51
53
  def run_python_script_in_marimo(py_script: str, uv_project_with: Optional[str]):