machineconfig 7.64__py3-none-any.whl → 7.83__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of machineconfig might be problematic. Click here for more details.
- machineconfig/cluster/sessions_managers/utils/maker.py +4 -2
- machineconfig/jobs/installer/custom/yazi.py +120 -0
- machineconfig/jobs/installer/custom_dev/nerdfont.py +1 -1
- machineconfig/jobs/installer/custom_dev/nerfont_windows_helper.py +26 -12
- machineconfig/jobs/installer/custom_dev/sysabc.py +26 -5
- machineconfig/jobs/installer/installer_data.json +232 -96
- machineconfig/jobs/installer/powershell_scripts/install_fonts.ps1 +129 -34
- machineconfig/profile/create_helper.py +0 -12
- machineconfig/profile/create_links_export.py +2 -2
- machineconfig/profile/mapper.toml +2 -2
- machineconfig/scripts/__init__.py +0 -4
- machineconfig/scripts/python/agents.py +22 -17
- machineconfig/scripts/python/ai/solutions/copilot/instructions/python/dev.instructions.md +4 -0
- machineconfig/scripts/python/croshell.py +22 -17
- machineconfig/scripts/python/devops.py +1 -1
- machineconfig/scripts/python/devops_navigator.py +0 -4
- machineconfig/scripts/python/env_manager/env_manager_tui.py +204 -0
- machineconfig/scripts/python/env_manager/path_manager_tui.py +1 -1
- machineconfig/scripts/python/fire_jobs.py +13 -13
- machineconfig/scripts/python/ftpx.py +36 -12
- machineconfig/scripts/python/helpers/ast_search.py +74 -0
- machineconfig/scripts/python/helpers/qr_code.py +166 -0
- machineconfig/scripts/python/helpers/repo_rag.py +325 -0
- machineconfig/scripts/python/helpers/symantic_search.py +25 -0
- machineconfig/scripts/python/helpers_cloud/cloud_copy.py +28 -21
- machineconfig/scripts/python/helpers_cloud/cloud_helpers.py +1 -1
- machineconfig/scripts/python/helpers_cloud/cloud_mount.py +19 -17
- machineconfig/scripts/python/helpers_cloud/cloud_sync.py +8 -7
- machineconfig/scripts/python/helpers_croshell/start_slidev.py +6 -7
- machineconfig/scripts/python/helpers_devops/cli_config.py +10 -0
- machineconfig/scripts/python/helpers_devops/cli_nw.py +90 -10
- machineconfig/scripts/python/helpers_devops/cli_self.py +8 -7
- machineconfig/scripts/python/helpers_devops/cli_share_file.py +7 -7
- machineconfig/scripts/python/helpers_devops/cli_share_server.py +12 -11
- machineconfig/scripts/python/helpers_devops/cli_terminal.py +8 -10
- machineconfig/scripts/python/helpers_devops/cli_utils.py +2 -1
- machineconfig/scripts/python/helpers_devops/devops_status.py +7 -19
- machineconfig/scripts/python/helpers_fire_command/fire_jobs_route_helper.py +20 -9
- machineconfig/scripts/python/helpers_msearch/scripts_linux/fzfg +2 -2
- machineconfig/scripts/python/helpers_msearch/scripts_windows/fzfg.ps1 +58 -1
- machineconfig/scripts/python/helpers_navigator/command_tree.py +50 -18
- machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py +5 -3
- machineconfig/scripts/python/helpers_repos/count_lines.py +40 -11
- machineconfig/scripts/python/helpers_repos/count_lines_frontend.py +1 -1
- machineconfig/scripts/python/helpers_utils/download.py +4 -3
- machineconfig/scripts/python/helpers_utils/path.py +87 -34
- machineconfig/scripts/python/interactive.py +1 -1
- machineconfig/scripts/python/{machineconfig.py → mcfg_entry.py} +4 -0
- machineconfig/scripts/python/msearch.py +55 -6
- machineconfig/scripts/python/nw/address.py +132 -0
- machineconfig/scripts/python/nw/devops_add_ssh_key.py +8 -5
- machineconfig/scripts/python/terminal.py +2 -2
- machineconfig/scripts/python/utils.py +12 -11
- machineconfig/scripts/windows/mounts/mount_ssh.ps1 +1 -1
- machineconfig/settings/lf/windows/lfcd.ps1 +1 -1
- machineconfig/settings/shells/nushell/config.nu +2 -2
- machineconfig/settings/shells/nushell/env.nu +45 -6
- machineconfig/settings/shells/nushell/init.nu +282 -95
- machineconfig/settings/shells/pwsh/init.ps1 +1 -0
- machineconfig/settings/yazi/init.lua +4 -0
- machineconfig/settings/yazi/keymap_linux.toml +11 -4
- machineconfig/settings/yazi/theme.toml +4 -0
- machineconfig/settings/yazi/yazi_linux.toml +84 -0
- machineconfig/settings/yazi/yazi_windows.toml +58 -0
- machineconfig/setup_linux/web_shortcuts/interactive.sh +10 -10
- machineconfig/setup_windows/uv.ps1 +8 -1
- machineconfig/setup_windows/web_shortcuts/interactive.ps1 +10 -10
- machineconfig/setup_windows/web_shortcuts/quick_init.ps1 +3 -2
- machineconfig/utils/accessories.py +7 -4
- machineconfig/utils/code.py +4 -2
- machineconfig/utils/installer_utils/github_release_bulk.py +104 -62
- machineconfig/utils/installer_utils/install_from_url.py +200 -0
- machineconfig/utils/installer_utils/installer_class.py +25 -74
- machineconfig/utils/installer_utils/installer_cli.py +40 -50
- machineconfig/utils/installer_utils/installer_helper.py +100 -0
- machineconfig/utils/installer_utils/installer_runner.py +5 -8
- machineconfig/utils/links.py +2 -2
- machineconfig/utils/meta.py +2 -2
- machineconfig/utils/options.py +3 -3
- machineconfig/utils/path_extended.py +1 -1
- machineconfig/utils/path_helper.py +0 -1
- machineconfig/utils/ssh.py +143 -409
- machineconfig/utils/ssh_utils/abc.py +8 -0
- machineconfig/utils/ssh_utils/copy_from_here.py +110 -0
- machineconfig/utils/ssh_utils/copy_to_here.py +302 -0
- machineconfig/utils/ssh_utils/utils.py +141 -0
- machineconfig/utils/ssh_utils/wsl.py +210 -0
- machineconfig/utils/upgrade_packages.py +2 -1
- machineconfig/utils/ve.py +11 -4
- {machineconfig-7.64.dist-info → machineconfig-7.83.dist-info}/METADATA +2 -2
- {machineconfig-7.64.dist-info → machineconfig-7.83.dist-info}/RECORD +96 -89
- {machineconfig-7.64.dist-info → machineconfig-7.83.dist-info}/entry_points.txt +2 -2
- machineconfig/scripts/python/explore.py +0 -49
- machineconfig/scripts/python/helpers_msearch/scripts_linux/fzfag +0 -17
- machineconfig/scripts/python/helpers_msearch/scripts_linux/fzfrga +0 -21
- machineconfig/scripts/python/helpers_msearch/scripts_linux/skrg +0 -4
- machineconfig/scripts/python/helpers_msearch/scripts_windows/fzfb.ps1 +0 -3
- machineconfig/scripts/python/helpers_msearch/scripts_windows/fzfrga.bat +0 -20
- machineconfig/settings/yazi/yazi.toml +0 -17
- machineconfig/setup_linux/others/cli_installation.sh +0 -137
- /machineconfig/{settings/shells/pwsh/profile.ps1 → scripts/python/helpers_fire_command/f.py} +0 -0
- /machineconfig/scripts/{Restore-ThunderbirdProfile.ps1 → windows/mounts/Restore-ThunderbirdProfile.ps1} +0 -0
- {machineconfig-7.64.dist-info → machineconfig-7.83.dist-info}/WHEEL +0 -0
- {machineconfig-7.64.dist-info → machineconfig-7.83.dist-info}/top_level.txt +0 -0
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
|
|
18
18
|
function lfcd {
|
|
19
19
|
$tmp = [System.IO.Path]::GetTempFileName()
|
|
20
|
-
|
|
20
|
+
& "$env:USERPROFILE\AppData\Local\Microsoft\WindowsApps\lf.exe" -last-dir-path="$tmp" $args
|
|
21
21
|
if (Test-Path -PathType Leaf "$tmp")
|
|
22
22
|
{
|
|
23
23
|
$dir = Get-Content "$tmp"
|
|
@@ -1,13 +1,52 @@
|
|
|
1
|
+
# machineconfig Nushell environment setup
|
|
1
2
|
|
|
3
|
+
def reduce_non_empty [segments: list<string>] -> list<string> {
|
|
4
|
+
segments
|
|
5
|
+
| reduce --fold [] { |segment, acc|
|
|
6
|
+
if (($segment | str length) > 0) {
|
|
7
|
+
$acc | append $segment
|
|
8
|
+
} else {
|
|
9
|
+
$acc
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
}
|
|
2
13
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
14
|
+
let default_root = ($env.HOME | path join ".config" "machineconfig")
|
|
15
|
+
let config_root = (
|
|
16
|
+
$env.CONFIG_ROOT?
|
|
17
|
+
| default $default_root
|
|
18
|
+
| path expand
|
|
19
|
+
)
|
|
6
20
|
|
|
21
|
+
load-env { CONFIG_ROOT: $config_root }
|
|
7
22
|
|
|
23
|
+
let existing_segments = (
|
|
24
|
+
$env.PATH?
|
|
25
|
+
| default ""
|
|
26
|
+
| split row (char esep)
|
|
27
|
+
| reduce_non_empty
|
|
28
|
+
)
|
|
8
29
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
30
|
+
let desired_paths = [
|
|
31
|
+
($config_root | path join "scripts")
|
|
32
|
+
($env.HOME | path join "dotfiles" "scripts" "linux")
|
|
33
|
+
($env.HOME | path join ".local" "bin")
|
|
34
|
+
($env.HOME | path join ".cargo" "bin")
|
|
35
|
+
"/usr/games"
|
|
36
|
+
]
|
|
37
|
+
|
|
38
|
+
let merged_segments = (
|
|
39
|
+
$desired_paths
|
|
40
|
+
| reduce --fold $existing_segments { |entry, acc|
|
|
41
|
+
if (($entry | path exists) and (not ($entry in $acc))) {
|
|
42
|
+
$acc | append $entry
|
|
43
|
+
} else {
|
|
44
|
+
$acc
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
)
|
|
48
|
+
|
|
49
|
+
let new_path = ($merged_segments | str join (char esep))
|
|
50
|
+
load-env { PATH: $new_path }
|
|
12
51
|
|
|
13
52
|
|
|
@@ -1,127 +1,314 @@
|
|
|
1
|
-
# Nushell initialization
|
|
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
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
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
|
-
|
|
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
|
-
|
|
22
|
-
|
|
23
|
-
|
|
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
|
-
$
|
|
37
|
+
$path
|
|
28
38
|
}
|
|
29
39
|
|
|
30
|
-
export
|
|
31
|
-
let
|
|
32
|
-
|
|
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
|
|
35
|
-
|
|
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
|
-
|
|
38
|
-
|
|
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
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
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
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
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
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
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
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
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
|
-
|
|
73
|
-
|
|
74
|
-
|
|
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
|
-
|
|
77
|
-
}
|
|
115
|
+
null
|
|
116
|
+
}
|
|
117
|
+
)
|
|
78
118
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
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
|
-
|
|
124
|
+
try {
|
|
125
|
+
run-external nu "-c" $command_text
|
|
126
|
+
} catch {
|
|
127
|
+
null
|
|
128
|
+
}
|
|
88
129
|
}
|
|
89
130
|
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
90
133
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
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
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
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
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
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
|
|
|
@@ -1,7 +1,11 @@
|
|
|
1
|
+
-- DuckDB plugin configuration
|
|
2
|
+
-- require("duckdb"):setup()
|
|
3
|
+
|
|
1
4
|
-- https://yazi-rs.github.io/docs/tips#symlink-in-status
|
|
2
5
|
-- https://yazi-rs.github.io/docs/tips#user-group-in-status
|
|
3
6
|
-- https://yazi-rs.github.io/docs/tips#username-hostname-in-header
|
|
4
7
|
|
|
8
|
+
|
|
5
9
|
-- Load Status component
|
|
6
10
|
function Status:render(area)
|
|
7
11
|
self.area = area
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
[manager]
|
|
2
|
+
# from https://github.com/Tyarel8/goto-drives.yazi
|
|
3
|
+
prepend_keymap = [
|
|
4
|
+
{ on = [ "g", ":" ], run = "plugin goto-drives", desc = "Go to drives" },
|
|
5
|
+
]
|
|
6
|
+
|
|
1
7
|
|
|
2
8
|
[[mgr.prepend_keymap]]
|
|
3
9
|
on = "!"
|
|
@@ -59,20 +65,21 @@ run = 'shell --block -- $HOME/.config/machineconfig/scripts/wrap_mcfg utils edi
|
|
|
59
65
|
desc = "Read with helix"
|
|
60
66
|
|
|
61
67
|
[[mgr.prepend_keymap]]
|
|
62
|
-
on = ["R", "
|
|
68
|
+
on = ["R", "s"]
|
|
63
69
|
run = 'shell --block -- $HOME/.config/machineconfig/scripts/wrap_mcfg croshell "$0"'
|
|
64
70
|
desc = "Read with croshell"
|
|
65
|
-
|
|
66
|
-
|
|
67
71
|
[[mgr.prepend_keymap]]
|
|
68
72
|
on = ["R", "f"]
|
|
69
73
|
run = 'shell --block -- $HOME/.config/machineconfig/scripts/wrap_mcfg fire "$0"'
|
|
70
74
|
desc = "Read with fire"
|
|
71
|
-
|
|
72
75
|
[[mgr.prepend_keymap]]
|
|
73
76
|
on = ["R", "F"]
|
|
74
77
|
run = 'shell --block -- $HOME/.config/machineconfig/scripts/wrap_mcfg fire -i "$0"'
|
|
75
78
|
desc = "Read with fire interactively"
|
|
79
|
+
[[mgr.prepend_keymap]]
|
|
80
|
+
on = ["R", "c"]
|
|
81
|
+
run = 'shell --block -- code "$0"'
|
|
82
|
+
desc = "Read with code"
|
|
76
83
|
|
|
77
84
|
[[mgr.prepend_keymap]]
|
|
78
85
|
on = "y"
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
|
|
2
|
+
[mgr]
|
|
3
|
+
show_hidden = true
|
|
4
|
+
ratio = [1, 3, 5]
|
|
5
|
+
|
|
6
|
+
[opener]
|
|
7
|
+
system_default = [
|
|
8
|
+
{ run = "xdg-open \"$1\"", desc = "System Default", block = false, orphan = false, for = "unix" }
|
|
9
|
+
]
|
|
10
|
+
edit = [
|
|
11
|
+
{ run = 'hx "$@"', desc = "Helix (Editor)", block = true, orphan = false, for = "unix" }
|
|
12
|
+
]
|
|
13
|
+
vscode = [
|
|
14
|
+
{ run = "code \"$@\"", desc = "VSCode (Editor)", block = true, orphan = false, for = "unix" }
|
|
15
|
+
]
|
|
16
|
+
play = [
|
|
17
|
+
{ run = "mpv \"$@\"", desc = "MPV (Media)", block = false, orphan = false, for = "unix" }
|
|
18
|
+
]
|
|
19
|
+
open = [
|
|
20
|
+
{ run = "xdg-open \"$1\"", desc = "System Default Open", block = false, orphan = false, for = "unix" }
|
|
21
|
+
]
|
|
22
|
+
|
|
23
|
+
[open]
|
|
24
|
+
prepend_rules = [
|
|
25
|
+
# Text/Code files - open with Helix by default
|
|
26
|
+
{ name = "*.py", use = ["edit", "vscode"] },
|
|
27
|
+
{ name = "*.{rs,toml,yaml,yml,json,js,ts,tsx,jsx,html,css,md,txt,sh,bash,zsh,ps1}", use = ["edit", "vscode"] },
|
|
28
|
+
{ mime = "text/*", use = ["edit", "vscode"] },
|
|
29
|
+
]
|
|
30
|
+
rules = [
|
|
31
|
+
{ mime = "application/pdf", use = ["system_default"] },
|
|
32
|
+
{ mime = "image/*", use = ["system_default"] },
|
|
33
|
+
{ mime = "{audio,video}/*", use = ["system_default"] },
|
|
34
|
+
{ name = "*", use = ["system_default"] }
|
|
35
|
+
]
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
[plugin]
|
|
39
|
+
dir = "~/.config/yazi/plugins"
|
|
40
|
+
|
|
41
|
+
prepend_previewers = [
|
|
42
|
+
# Markdown previewer
|
|
43
|
+
{ name = "*.md", run = 'piper -- CLICOLOR_FORCE=1 glow -w=$w -s=dark "$1"' },
|
|
44
|
+
# Archive previewer
|
|
45
|
+
{ mime = "application/*zip", run = "ouch" },
|
|
46
|
+
{ mime = "application/x-tar", run = "ouch" },
|
|
47
|
+
{ mime = "application/x-bzip2", run = "ouch" },
|
|
48
|
+
{ mime = "application/x-7z-compressed", run = "ouch" },
|
|
49
|
+
{ mime = "application/x-rar", run = "ouch" },
|
|
50
|
+
{ mime = "application/vnd.rar", run = "ouch" },
|
|
51
|
+
{ mime = "application/x-xz", run = "ouch" },
|
|
52
|
+
{ mime = "application/xz", run = "ouch" },
|
|
53
|
+
{ mime = "application/x-zstd", run = "ouch" },
|
|
54
|
+
{ mime = "application/zstd", run = "ouch" },
|
|
55
|
+
{ mime = "application/java-archive", run = "ouch" },
|
|
56
|
+
|
|
57
|
+
# { name = "*.csv", run = "duckdb" },
|
|
58
|
+
# { name = "*.tsv", run = "duckdb" },
|
|
59
|
+
# { name = "*.json", run = "duckdb" },
|
|
60
|
+
# { name = "*.parquet", run = "duckdb" },
|
|
61
|
+
# { name = "*.txt", run = "duckdb" },
|
|
62
|
+
# { name = "*.xlsx", run = "duckdb" },
|
|
63
|
+
# { name = "*.db", run = "duckdb" },
|
|
64
|
+
# { name = "*.duckdb", run = "duckdb" }
|
|
65
|
+
]
|
|
66
|
+
|
|
67
|
+
# prepend_preloaders = [ { name = "*.csv", run = "duckdb", multi = false },
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
[[plugin.load]]
|
|
71
|
+
name = "toggle-pane"
|
|
72
|
+
path = "toggle-pane.yazi"
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
[preview]
|
|
76
|
+
# Change them to your desired values
|
|
77
|
+
max_width = 1000
|
|
78
|
+
max_height = 1000
|
|
79
|
+
|
|
80
|
+
previewers = [
|
|
81
|
+
# PDF
|
|
82
|
+
{ mime = "application/pdf", run = "pdf" },
|
|
83
|
+
]
|
|
84
|
+
|