machineconfig 8.51__py3-none-any.whl → 8.61__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.
- machineconfig/jobs/installer/python_scripts/sysabc.py +13 -34
- machineconfig/profile/mapper_dotfiles.toml +3 -3
- machineconfig/scripts/python/devops.py +1 -1
- machineconfig/scripts/python/devops_navigator.py +1 -1
- machineconfig/scripts/python/helper_env/path_manager_tui.py +1 -1
- machineconfig/scripts/python/helpers/helper_env/env_manager_tui.py +1 -1
- machineconfig/scripts/python/helpers/helper_env/path_manager_tui.py +1 -1
- machineconfig/scripts/python/helpers/helpers_croshell/croshell_impl.py +8 -4
- machineconfig/scripts/python/helpers/helpers_devops/cli_config.py +33 -1
- machineconfig/scripts/python/helpers/helpers_devops/cli_config_mount.py +77 -0
- machineconfig/scripts/python/helpers/helpers_devops/cli_data.py +4 -0
- machineconfig/scripts/python/helpers/helpers_devops/cli_nw.py +90 -6
- machineconfig/scripts/python/helpers/helpers_devops/cli_repos.py +3 -3
- machineconfig/scripts/python/helpers/helpers_devops/cli_self.py +41 -15
- machineconfig/scripts/python/helpers/helpers_devops/cli_share_temp.py +69 -0
- machineconfig/scripts/python/helpers/helpers_devops/cli_ssh.py +4 -4
- machineconfig/scripts/python/helpers/helpers_devops/mount_helpers/__init__.py +0 -0
- machineconfig/scripts/python/helpers/helpers_devops/mount_helpers/commands.py +25 -0
- machineconfig/scripts/python/helpers/helpers_devops/mount_helpers/device_entry.py +17 -0
- machineconfig/scripts/python/helpers/helpers_devops/mount_helpers/devices.py +17 -0
- machineconfig/scripts/python/helpers/helpers_devops/mount_helpers/linux.py +103 -0
- machineconfig/scripts/python/helpers/helpers_devops/mount_helpers/macos.py +100 -0
- machineconfig/scripts/python/helpers/helpers_devops/mount_helpers/selection.py +47 -0
- machineconfig/scripts/python/helpers/helpers_devops/mount_helpers/utils.py +28 -0
- machineconfig/scripts/python/helpers/helpers_devops/mount_helpers/windows.py +91 -0
- machineconfig/scripts/python/helpers/helpers_msearch/scripts_windows/fzfg.ps1 +1 -6
- machineconfig/scripts/python/helpers/helpers_network/ssh/__init__.py +0 -0
- machineconfig/scripts/python/helpers/helpers_network/ssh/ssh_add_key_windows.py +23 -0
- machineconfig/scripts/python/helpers/helpers_network/{ssh_add_ssh_key.py → ssh/ssh_add_ssh_key.py} +21 -27
- machineconfig/scripts/python/helpers/helpers_network/ssh/ssh_cloud_init.py +33 -0
- machineconfig/scripts/python/helpers/helpers_network/{ssh_debug_linux.py → ssh/ssh_debug_linux.py} +70 -51
- machineconfig/scripts/python/helpers/helpers_network/ssh/ssh_debug_linux_utils.py +35 -0
- machineconfig/scripts/python/helpers/helpers_network/{ssh_debug_windows.py → ssh/ssh_debug_windows.py} +12 -42
- machineconfig/scripts/python/helpers/helpers_network/ssh/ssh_debug_windows_utils.py +34 -0
- machineconfig/scripts/python/helpers/helpers_repos/cloud_repo_sync.py +2 -3
- machineconfig/scripts/python/helpers/{helpers_terminal/terminal_impl.py → helpers_sessions/attach_impl.py} +16 -25
- machineconfig/scripts/python/helpers/helpers_sessions/sessions_impl.py +57 -129
- machineconfig/scripts/python/helpers/helpers_sessions/utils.py +69 -0
- machineconfig/scripts/python/mcfg_entry.py +0 -7
- machineconfig/scripts/python/sessions.py +95 -14
- machineconfig/scripts/python/utils.py +3 -2
- machineconfig/settings/shells/bash/init.sh +0 -7
- machineconfig/settings/shells/pwsh/init.ps1 +2 -4
- machineconfig/settings/shells/wezterm/wezterm.lua +1 -0
- machineconfig/settings/shells/wt/settings.json +13 -19
- machineconfig/settings/shells/zsh/init.sh +0 -1
- machineconfig/settings/zellij/__init__.py +0 -0
- machineconfig/settings/zellij/config.kdl +0 -295
- machineconfig/settings/zellij/layouts/__init__.py +0 -0
- machineconfig/settings/zellij/layouts/st.kdl +0 -1
- machineconfig/settings/zellij/layouts/st2.kdl +6 -2
- machineconfig/setup_linux/web_shortcuts/interactive.sh +10 -10
- machineconfig/setup_windows/web_shortcuts/interactive.ps1 +10 -10
- machineconfig/utils/installer_utils/installer_cli.py +6 -2
- machineconfig/utils/installer_utils/installer_helper.py +50 -34
- machineconfig/utils/installer_utils/installer_locator_utils.py +3 -13
- machineconfig/utils/options_utils/tv_options.py +1 -1
- machineconfig/utils/procs.py +35 -27
- machineconfig/utils/schemas/layouts/layout_types.py +10 -0
- machineconfig/utils/source_of_truth.py +1 -0
- machineconfig/utils/ssh_utils/abc.py +1 -1
- {machineconfig-8.51.dist-info → machineconfig-8.61.dist-info}/METADATA +2 -3
- {machineconfig-8.51.dist-info → machineconfig-8.61.dist-info}/RECORD +68 -72
- {machineconfig-8.51.dist-info → machineconfig-8.61.dist-info}/entry_points.txt +0 -1
- machineconfig/jobs/scripts/bash_scripts/android.sh +0 -2
- machineconfig/jobs/scripts/bash_scripts/mount_drive +0 -128
- machineconfig/jobs/scripts/bash_scripts/mount_nfs +0 -49
- machineconfig/jobs/scripts/bash_scripts/mount_nw_drive +0 -61
- machineconfig/jobs/scripts/bash_scripts/mount_smb +0 -3
- machineconfig/jobs/scripts/bash_scripts/share_cloud.sh +0 -64
- machineconfig/jobs/scripts/bash_scripts/share_nfs +0 -49
- machineconfig/jobs/scripts/bash_scripts/start_docker +0 -23
- machineconfig/jobs/scripts/powershell_scripts/Restore-ThunderbirdProfile.ps1 +0 -92
- machineconfig/jobs/scripts/powershell_scripts/docker.ps1 +0 -7
- machineconfig/jobs/scripts/powershell_scripts/mount_nfs.ps1 +0 -42
- machineconfig/jobs/scripts/powershell_scripts/mount_nw.ps1 +0 -9
- machineconfig/jobs/scripts/powershell_scripts/mount_smb.ps1 +0 -2
- machineconfig/jobs/scripts/powershell_scripts/mount_ssh.ps1 +0 -13
- machineconfig/jobs/scripts/powershell_scripts/obs.ps1 +0 -4
- machineconfig/jobs/scripts/powershell_scripts/power_options.ps1 +0 -7
- machineconfig/jobs/scripts/powershell_scripts/share_cloud.cmd +0 -34
- machineconfig/jobs/scripts/powershell_scripts/share_smb.ps1 +0 -16
- machineconfig/scripts/python/helpers/helpers_network/mount_nfs.py +0 -85
- machineconfig/scripts/python/helpers/helpers_network/mount_nw_drive.py +0 -48
- machineconfig/scripts/python/helpers/helpers_network/mount_ssh.py +0 -64
- machineconfig/scripts/python/terminal.py +0 -58
- machineconfig/settings/zellij/config.orig.kdl +0 -295
- /machineconfig/{scripts/python/helpers/helpers_terminal → cluster/sessions_managers/wt_utils/examples}/__init__.py +0 -0
- /machineconfig/scripts/python/helpers/helpers_network/{ssh_add_identity.py → ssh/ssh_add_identity.py} +0 -0
- {machineconfig-8.51.dist-info → machineconfig-8.61.dist-info}/WHEEL +0 -0
- {machineconfig-8.51.dist-info → machineconfig-8.61.dist-info}/top_level.txt +0 -0
|
@@ -1,295 +0,0 @@
|
|
|
1
|
-
// If you'd like to override the default keybindings completely, be sure to change "keybinds" to "keybinds clear-defaults=true"
|
|
2
|
-
keybinds {
|
|
3
|
-
normal {
|
|
4
|
-
// uncomment this and adjust key if using copy_on_select=false
|
|
5
|
-
// bind "Alt c" { Copy; }
|
|
6
|
-
}
|
|
7
|
-
locked {
|
|
8
|
-
bind "Ctrl g" { SwitchToMode "Normal"; }
|
|
9
|
-
}
|
|
10
|
-
resize {
|
|
11
|
-
bind "Ctrl n" { SwitchToMode "Normal"; }
|
|
12
|
-
bind "h" "Left" { Resize "Left"; }
|
|
13
|
-
bind "j" "Down" { Resize "Down"; }
|
|
14
|
-
bind "k" "Up" { Resize "Up"; }
|
|
15
|
-
bind "l" "Right" { Resize "Right"; }
|
|
16
|
-
bind "=" "+" { Resize "Increase"; }
|
|
17
|
-
bind "-" { Resize "Decrease"; }
|
|
18
|
-
}
|
|
19
|
-
pane {
|
|
20
|
-
bind "Ctrl p" { SwitchToMode "Normal"; }
|
|
21
|
-
bind "h" "Left" { MoveFocus "Left"; }
|
|
22
|
-
bind "l" "Right" { MoveFocus "Right"; }
|
|
23
|
-
bind "j" "Down" { MoveFocus "Down"; }
|
|
24
|
-
bind "k" "Up" { MoveFocus "Up"; }
|
|
25
|
-
bind "p" { SwitchFocus; }
|
|
26
|
-
bind "n" { NewPane; SwitchToMode "Normal"; }
|
|
27
|
-
bind "d" { NewPane "Down"; SwitchToMode "Normal"; }
|
|
28
|
-
bind "r" { NewPane "Right"; SwitchToMode "Normal"; }
|
|
29
|
-
bind "x" { CloseFocus; SwitchToMode "Normal"; }
|
|
30
|
-
bind "f" { ToggleFocusFullscreen; SwitchToMode "Normal"; }
|
|
31
|
-
bind "z" { TogglePaneFrames; SwitchToMode "Normal"; }
|
|
32
|
-
bind "w" { ToggleFloatingPanes; SwitchToMode "Normal"; }
|
|
33
|
-
bind "e" { TogglePaneEmbedOrFloating; SwitchToMode "Normal"; }
|
|
34
|
-
bind "c" { SwitchToMode "RenamePane"; PaneNameInput 0;}
|
|
35
|
-
}
|
|
36
|
-
move {
|
|
37
|
-
bind "Ctrl h" { SwitchToMode "Normal"; }
|
|
38
|
-
bind "n" "Tab" { MovePane; }
|
|
39
|
-
bind "h" "Left" { MovePane "Left"; }
|
|
40
|
-
bind "j" "Down" { MovePane "Down"; }
|
|
41
|
-
bind "k" "Up" { MovePane "Up"; }
|
|
42
|
-
bind "l" "Right" { MovePane "Right"; }
|
|
43
|
-
}
|
|
44
|
-
tab {
|
|
45
|
-
bind "Ctrl t" { SwitchToMode "Normal"; }
|
|
46
|
-
bind "r" { SwitchToMode "RenameTab"; TabNameInput 0; }
|
|
47
|
-
bind "h" "Left" "Up" "k" { GoToPreviousTab; }
|
|
48
|
-
bind "l" "Right" "Down" "j" { GoToNextTab; }
|
|
49
|
-
bind "n" { NewTab; SwitchToMode "Normal"; }
|
|
50
|
-
bind "x" { CloseTab; SwitchToMode "Normal"; }
|
|
51
|
-
bind "s" { ToggleActiveSyncTab; SwitchToMode "Normal"; }
|
|
52
|
-
bind "1" { GoToTab 1; SwitchToMode "Normal"; }
|
|
53
|
-
bind "2" { GoToTab 2; SwitchToMode "Normal"; }
|
|
54
|
-
bind "3" { GoToTab 3; SwitchToMode "Normal"; }
|
|
55
|
-
bind "4" { GoToTab 4; SwitchToMode "Normal"; }
|
|
56
|
-
bind "5" { GoToTab 5; SwitchToMode "Normal"; }
|
|
57
|
-
bind "6" { GoToTab 6; SwitchToMode "Normal"; }
|
|
58
|
-
bind "7" { GoToTab 7; SwitchToMode "Normal"; }
|
|
59
|
-
bind "8" { GoToTab 8; SwitchToMode "Normal"; }
|
|
60
|
-
bind "9" { GoToTab 9; SwitchToMode "Normal"; }
|
|
61
|
-
bind "Tab" { ToggleTab; }
|
|
62
|
-
}
|
|
63
|
-
scroll {
|
|
64
|
-
bind "Ctrl s" { SwitchToMode "Normal"; }
|
|
65
|
-
bind "e" { EditScrollback; SwitchToMode "Normal"; }
|
|
66
|
-
bind "s" { SwitchToMode "EnterSearch"; SearchInput 0; }
|
|
67
|
-
bind "Ctrl c" { ScrollToBottom; SwitchToMode "Normal"; }
|
|
68
|
-
bind "j" "Down" { ScrollDown; }
|
|
69
|
-
bind "k" "Up" { ScrollUp; }
|
|
70
|
-
bind "Ctrl f" "PageDown" "Right" "l" { PageScrollDown; }
|
|
71
|
-
bind "Ctrl b" "PageUp" "Left" "h" { PageScrollUp; }
|
|
72
|
-
bind "d" { HalfPageScrollDown; }
|
|
73
|
-
bind "u" { HalfPageScrollUp; }
|
|
74
|
-
// uncomment this and adjust key if using copy_on_select=false
|
|
75
|
-
// bind "Alt c" { Copy; }
|
|
76
|
-
}
|
|
77
|
-
search {
|
|
78
|
-
bind "Ctrl s" { SwitchToMode "Normal"; }
|
|
79
|
-
bind "Ctrl c" { ScrollToBottom; SwitchToMode "Normal"; }
|
|
80
|
-
bind "j" "Down" { ScrollDown; }
|
|
81
|
-
bind "k" "Up" { ScrollUp; }
|
|
82
|
-
bind "Ctrl f" "PageDown" "Right" "l" { PageScrollDown; }
|
|
83
|
-
bind "Ctrl b" "PageUp" "Left" "h" { PageScrollUp; }
|
|
84
|
-
bind "d" { HalfPageScrollDown; }
|
|
85
|
-
bind "u" { HalfPageScrollUp; }
|
|
86
|
-
bind "n" { Search "down"; }
|
|
87
|
-
bind "p" { Search "up"; }
|
|
88
|
-
bind "c" { SearchToggleOption "CaseSensitivity"; }
|
|
89
|
-
bind "w" { SearchToggleOption "Wrap"; }
|
|
90
|
-
bind "o" { SearchToggleOption "WholeWord"; }
|
|
91
|
-
}
|
|
92
|
-
entersearch {
|
|
93
|
-
bind "Ctrl c" "Esc" { SwitchToMode "Scroll"; }
|
|
94
|
-
bind "Enter" { SwitchToMode "Search"; }
|
|
95
|
-
}
|
|
96
|
-
renametab {
|
|
97
|
-
bind "Ctrl c" { SwitchToMode "Normal"; }
|
|
98
|
-
bind "Esc" { UndoRenameTab; SwitchToMode "Tab"; }
|
|
99
|
-
}
|
|
100
|
-
renamepane {
|
|
101
|
-
bind "Ctrl c" { SwitchToMode "Normal"; }
|
|
102
|
-
bind "Esc" { UndoRenamePane; SwitchToMode "Pane"; }
|
|
103
|
-
}
|
|
104
|
-
session {
|
|
105
|
-
bind "Ctrl o" { SwitchToMode "Normal"; }
|
|
106
|
-
bind "Ctrl s" { SwitchToMode "Scroll"; }
|
|
107
|
-
bind "d" { Detach; }
|
|
108
|
-
}
|
|
109
|
-
tmux {
|
|
110
|
-
bind "[" { SwitchToMode "Scroll"; }
|
|
111
|
-
bind "Ctrl b" { Write 2; SwitchToMode "Normal"; }
|
|
112
|
-
bind "\"" { NewPane "Down"; SwitchToMode "Normal"; }
|
|
113
|
-
bind "%" { NewPane "Right"; SwitchToMode "Normal"; }
|
|
114
|
-
bind "z" { ToggleFocusFullscreen; SwitchToMode "Normal"; }
|
|
115
|
-
bind "c" { NewTab; SwitchToMode "Normal"; }
|
|
116
|
-
bind "," { SwitchToMode "RenameTab"; }
|
|
117
|
-
bind "p" { GoToPreviousTab; SwitchToMode "Normal"; }
|
|
118
|
-
bind "n" { GoToNextTab; SwitchToMode "Normal"; }
|
|
119
|
-
bind "Left" { MoveFocus "Left"; SwitchToMode "Normal"; }
|
|
120
|
-
bind "Right" { MoveFocus "Right"; SwitchToMode "Normal"; }
|
|
121
|
-
bind "Down" { MoveFocus "Down"; SwitchToMode "Normal"; }
|
|
122
|
-
bind "Up" { MoveFocus "Up"; SwitchToMode "Normal"; }
|
|
123
|
-
bind "h" { MoveFocus "Left"; SwitchToMode "Normal"; }
|
|
124
|
-
bind "l" { MoveFocus "Right"; SwitchToMode "Normal"; }
|
|
125
|
-
bind "j" { MoveFocus "Down"; SwitchToMode "Normal"; }
|
|
126
|
-
bind "k" { MoveFocus "Up"; SwitchToMode "Normal"; }
|
|
127
|
-
bind "o" { FocusNextPane; }
|
|
128
|
-
bind "d" { Detach; }
|
|
129
|
-
}
|
|
130
|
-
shared_except "locked" {
|
|
131
|
-
bind "Ctrl g" { SwitchToMode "Locked"; }
|
|
132
|
-
bind "Ctrl q" { Quit; }
|
|
133
|
-
bind "Alt n" { NewPane; }
|
|
134
|
-
bind "Alt h" "Alt Left" { MoveFocusOrTab "Left"; }
|
|
135
|
-
bind "Alt l" "Alt Right" { MoveFocusOrTab "Right"; }
|
|
136
|
-
bind "Alt j" "Alt Down" { MoveFocus "Down"; }
|
|
137
|
-
bind "Alt k" "Alt Up" { MoveFocus "Up"; }
|
|
138
|
-
bind "Alt =" "Alt +" { Resize "Increase"; }
|
|
139
|
-
bind "Alt -" { Resize "Decrease"; }
|
|
140
|
-
}
|
|
141
|
-
shared_except "normal" "locked" {
|
|
142
|
-
bind "Enter" "Esc" { SwitchToMode "Normal"; }
|
|
143
|
-
}
|
|
144
|
-
shared_except "pane" "locked" {
|
|
145
|
-
bind "Ctrl p" { SwitchToMode "Pane"; }
|
|
146
|
-
}
|
|
147
|
-
shared_except "resize" "locked" {
|
|
148
|
-
bind "Ctrl n" { SwitchToMode "Resize"; }
|
|
149
|
-
}
|
|
150
|
-
shared_except "scroll" "locked" {
|
|
151
|
-
bind "Ctrl s" { SwitchToMode "Scroll"; }
|
|
152
|
-
}
|
|
153
|
-
shared_except "session" "locked" {
|
|
154
|
-
bind "Ctrl o" { SwitchToMode "Session"; }
|
|
155
|
-
}
|
|
156
|
-
shared_except "tab" "locked" {
|
|
157
|
-
bind "Ctrl t" { SwitchToMode "Tab"; }
|
|
158
|
-
}
|
|
159
|
-
shared_except "move" "locked" {
|
|
160
|
-
bind "Ctrl h" { SwitchToMode "Move"; }
|
|
161
|
-
}
|
|
162
|
-
shared_except "tmux" "locked" {
|
|
163
|
-
bind "Ctrl b" { SwitchToMode "Tmux"; }
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
plugins {
|
|
168
|
-
tab-bar { path "tab-bar"; }
|
|
169
|
-
status-bar { path "status-bar"; }
|
|
170
|
-
strider { path "strider"; }
|
|
171
|
-
compact-bar { path "compact-bar"; }
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
// Choose what to do when zellij receives SIGTERM, SIGINT, SIGQUIT or SIGHUP
|
|
175
|
-
// eg. when terminal window with an active zellij session is closed
|
|
176
|
-
// Options:
|
|
177
|
-
// - detach (Default)
|
|
178
|
-
// - quit
|
|
179
|
-
//
|
|
180
|
-
// on_force_close "quit"
|
|
181
|
-
|
|
182
|
-
// Send a request for a simplified ui (without arrow fonts) to plugins
|
|
183
|
-
// Options:
|
|
184
|
-
// - true
|
|
185
|
-
// - false (Default)
|
|
186
|
-
//
|
|
187
|
-
simplified_ui false
|
|
188
|
-
|
|
189
|
-
// Choose the path to the default shell that zellij will use for opening new panes
|
|
190
|
-
// Default: $SHELL
|
|
191
|
-
//
|
|
192
|
-
// default_shell "fish"
|
|
193
|
-
|
|
194
|
-
// Toggle between having pane frames around the panes
|
|
195
|
-
// Options:
|
|
196
|
-
// - true (default)
|
|
197
|
-
// - false
|
|
198
|
-
//
|
|
199
|
-
pane_frames false
|
|
200
|
-
|
|
201
|
-
// Define color themes for Zellij
|
|
202
|
-
// For more examples, see: https://github.com/zellij-org/zellij/tree/main/example/themes
|
|
203
|
-
// Once these themes are defined, one of them should to be selected in the "theme" section of this file
|
|
204
|
-
//
|
|
205
|
-
// themes {
|
|
206
|
-
// dracula {
|
|
207
|
-
// fg 248 248 242
|
|
208
|
-
// bg 40 42 54
|
|
209
|
-
// red 255 85 85
|
|
210
|
-
// green 80 250 123
|
|
211
|
-
// yellow 241 250 140
|
|
212
|
-
// blue 98 114 164
|
|
213
|
-
// magenta 255 121 198
|
|
214
|
-
// orange 255 184 108
|
|
215
|
-
// cyan 139 233 253
|
|
216
|
-
// black 0 0 0
|
|
217
|
-
// white 255 255 255
|
|
218
|
-
// }
|
|
219
|
-
// }
|
|
220
|
-
|
|
221
|
-
// Choose the theme that is specified in the themes section.
|
|
222
|
-
// Default: default
|
|
223
|
-
//
|
|
224
|
-
// theme "default"
|
|
225
|
-
|
|
226
|
-
// The name of the default layout to load on startup
|
|
227
|
-
// Default: "default"
|
|
228
|
-
//
|
|
229
|
-
default_layout "default"
|
|
230
|
-
|
|
231
|
-
// Choose the mode that zellij uses when starting up.
|
|
232
|
-
// Default: normal
|
|
233
|
-
//
|
|
234
|
-
// default_mode "locked"
|
|
235
|
-
|
|
236
|
-
// Toggle enabling the mouse mode.
|
|
237
|
-
// On certain configurations, or terminals this could
|
|
238
|
-
// potentially interfere with copying text.
|
|
239
|
-
// Options:
|
|
240
|
-
// - true (default)
|
|
241
|
-
// - false
|
|
242
|
-
//
|
|
243
|
-
mouse_mode true
|
|
244
|
-
|
|
245
|
-
// Configure the scroll back buffer size
|
|
246
|
-
// This is the number of lines zellij stores for each pane in the scroll back
|
|
247
|
-
// buffer. Excess number of lines are discarded in a FIFO fashion.
|
|
248
|
-
// Valid values: positive integers
|
|
249
|
-
// Default value: 10000
|
|
250
|
-
//
|
|
251
|
-
// scroll_buffer_size 10000
|
|
252
|
-
|
|
253
|
-
// Provide a command to execute when copying text. The text will be piped to
|
|
254
|
-
// the stdin of the program to perform the copy. This can be used with
|
|
255
|
-
// terminal emulators which do not support the OSC 52 ANSI control sequence
|
|
256
|
-
// that will be used by default if this option is not set.
|
|
257
|
-
// Examples:
|
|
258
|
-
//
|
|
259
|
-
// copy_command "xclip -selection clipboard" // x11
|
|
260
|
-
// copy_command "wl-copy" // wayland
|
|
261
|
-
// copy_command "pbcopy" // osx
|
|
262
|
-
|
|
263
|
-
// Choose the destination for copied text
|
|
264
|
-
// Allows using the primary selection buffer (on x11/wayland) instead of the system clipboard.
|
|
265
|
-
// Does not apply when using copy_command.
|
|
266
|
-
// Options:
|
|
267
|
-
// - system (default)
|
|
268
|
-
// - primary
|
|
269
|
-
//
|
|
270
|
-
copy_clipboard "primary"
|
|
271
|
-
|
|
272
|
-
// Enable or disable automatic copy (and clear) of selection when releasing mouse
|
|
273
|
-
// Default: true
|
|
274
|
-
//
|
|
275
|
-
copy_on_select true
|
|
276
|
-
|
|
277
|
-
// Path to the default editor to use to edit pane scrollbuffer
|
|
278
|
-
// Default: $EDITOR or $VISUAL
|
|
279
|
-
//
|
|
280
|
-
// scrollback_editor "/usr/bin/vim"
|
|
281
|
-
|
|
282
|
-
// When attaching to an existing session with other users,
|
|
283
|
-
// should the session be mirrored (true)
|
|
284
|
-
// or should each user have their own cursor (false)
|
|
285
|
-
// Default: false
|
|
286
|
-
//
|
|
287
|
-
mirror_session false
|
|
288
|
-
|
|
289
|
-
// The folder in which Zellij will look for layouts
|
|
290
|
-
//
|
|
291
|
-
// layout_dir "/path/to/my/layout_dir"
|
|
292
|
-
|
|
293
|
-
// The folder in which Zellij will look for themes
|
|
294
|
-
//
|
|
295
|
-
// theme_dir "/path/to/my/theme_dir"
|
|
File without changes
|
|
@@ -6,6 +6,10 @@ layout {
|
|
|
6
6
|
plugin location="zellij:compact-bar"
|
|
7
7
|
}
|
|
8
8
|
children
|
|
9
|
+
pane size=2 borderless=true {
|
|
10
|
+
plugin location="zellij:status-bar"
|
|
11
|
+
}
|
|
12
|
+
|
|
9
13
|
}
|
|
10
14
|
|
|
11
15
|
tab name="🧑💻" {
|
|
@@ -39,11 +43,11 @@ layout {
|
|
|
39
43
|
}
|
|
40
44
|
pane name="bottomMiddle" size="70%" {
|
|
41
45
|
pane name="bottomMiddle1" size="30%" {
|
|
42
|
-
command "
|
|
46
|
+
command "yazi"
|
|
43
47
|
}
|
|
44
48
|
pane name="bottomMiddle2" size="70%" {
|
|
45
49
|
command "timeout"
|
|
46
|
-
args "3s" "
|
|
50
|
+
args "3s" "rusty-rain"
|
|
47
51
|
close_on_exit true
|
|
48
52
|
}
|
|
49
53
|
}
|
|
@@ -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>=8.
|
|
6
|
-
alias cloud='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=8.
|
|
7
|
-
alias agents='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=8.
|
|
8
|
-
alias sessions='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=8.
|
|
9
|
-
alias ftpx='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=8.
|
|
10
|
-
alias fire='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=8.
|
|
11
|
-
alias croshell='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=8.
|
|
12
|
-
alias utils='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=8.
|
|
13
|
-
alias terminal='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=8.
|
|
14
|
-
alias msearch='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=8.
|
|
5
|
+
alias devops='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=8.61" devops'
|
|
6
|
+
alias cloud='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=8.61" cloud'
|
|
7
|
+
alias agents='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=8.61" agents'
|
|
8
|
+
alias sessions='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=8.61" sessions'
|
|
9
|
+
alias ftpx='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=8.61" ftpx'
|
|
10
|
+
alias fire='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=8.61" fire'
|
|
11
|
+
alias croshell='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=8.61" croshell'
|
|
12
|
+
alias utils='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=8.61" utils'
|
|
13
|
+
alias terminal='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=8.61" terminal'
|
|
14
|
+
alias msearch='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=8.61" msearch'
|
|
15
15
|
|
|
16
16
|
alias d='wrap_in_shell_script devops'
|
|
17
17
|
alias c='wrap_in_shell_script cloud'
|
|
@@ -4,16 +4,16 @@
|
|
|
4
4
|
irm "https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_windows/uv.ps1" | iex
|
|
5
5
|
irm "https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/scripts/windows/wrap_mcfg.ps1" | iex
|
|
6
6
|
|
|
7
|
-
function devops { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=8.
|
|
8
|
-
function cloud { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=8.
|
|
9
|
-
function agents { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=8.
|
|
10
|
-
function sessions { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=8.
|
|
11
|
-
function ftpx { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=8.
|
|
12
|
-
function fire { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=8.
|
|
13
|
-
function croshell { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=8.
|
|
14
|
-
function utils { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=8.
|
|
15
|
-
function terminal { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=8.
|
|
16
|
-
function msearch { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=8.
|
|
7
|
+
function devops { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=8.61" devops $args }
|
|
8
|
+
function cloud { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=8.61" cloud $args }
|
|
9
|
+
function agents { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=8.61" agents $args }
|
|
10
|
+
function sessions { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=8.61" sessions $args }
|
|
11
|
+
function ftpx { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=8.61" ftpx $args }
|
|
12
|
+
function fire { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=8.61" fire $args }
|
|
13
|
+
function croshell { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=8.61" croshell $args }
|
|
14
|
+
function utils { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=8.61" utils $args }
|
|
15
|
+
function terminal { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=8.61" terminal $args }
|
|
16
|
+
function msearch { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=8.61" msearch $args }
|
|
17
17
|
|
|
18
18
|
function d { wrap_in_shell_script devops @args }
|
|
19
19
|
function c { wrap_in_shell_script cloud @args }
|
|
@@ -121,6 +121,7 @@ def install_clis(clis_names: list[str]):
|
|
|
121
121
|
from machineconfig.utils.installer_utils.install_from_url import install_from_binary_url
|
|
122
122
|
install_from_binary_url(binary_url=a_cli_name)
|
|
123
123
|
continue
|
|
124
|
+
|
|
124
125
|
selected_installer = None
|
|
125
126
|
for installer in all_installers_data:
|
|
126
127
|
app_name = installer["appName"]
|
|
@@ -129,8 +130,11 @@ def install_clis(clis_names: list[str]):
|
|
|
129
130
|
break
|
|
130
131
|
if selected_installer is None:
|
|
131
132
|
from machineconfig.utils.installer_utils.installer_helper import handle_installer_not_found
|
|
132
|
-
handle_installer_not_found(a_cli_name, all_installers_data)
|
|
133
|
-
|
|
133
|
+
clis_names_chosen_interactively = handle_installer_not_found(a_cli_name, all_installers_data)
|
|
134
|
+
if len(clis_names_chosen_interactively) == 0:
|
|
135
|
+
continue
|
|
136
|
+
_ = install_clis(clis_names=clis_names_chosen_interactively)
|
|
137
|
+
continue
|
|
134
138
|
message = Installer(selected_installer).install_robust(version=None) # finish the task
|
|
135
139
|
total_messages.append(message)
|
|
136
140
|
if total_messages:
|
|
@@ -14,12 +14,9 @@ def get_group_name_to_repr() -> dict[str, str]:
|
|
|
14
14
|
return category_display_to_name
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
def handle_installer_not_found(search_term: str, app_apps: list[InstallerData]) ->
|
|
17
|
+
def handle_installer_not_found(search_term: str, app_apps: list[InstallerData]) -> list[str]:
|
|
18
18
|
"""Handle installer not found with friendly suggestions using fuzzy matching."""
|
|
19
19
|
from difflib import get_close_matches
|
|
20
|
-
from rich.console import Console
|
|
21
|
-
from rich.panel import Panel
|
|
22
|
-
from rich.table import Table
|
|
23
20
|
all_names = sorted([inst["appName"] for inst in app_apps])
|
|
24
21
|
name_to_doc = {inst["appName"]: inst["doc"] for inst in app_apps}
|
|
25
22
|
all_descriptions = {f"{inst['appName']}: {inst['doc']}": inst["appName"] for inst in app_apps}
|
|
@@ -41,38 +38,57 @@ def handle_installer_not_found(search_term: str, app_apps: list[InstallerData])
|
|
|
41
38
|
+ substring_matches
|
|
42
39
|
)
|
|
43
40
|
)
|
|
44
|
-
top_matches = ordered_matches[:10]
|
|
45
|
-
console = Console()
|
|
46
41
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
42
|
+
order_matches_with_docs = [f"{app_name:<20} : " + name_to_doc.get(app_name, "") for app_name in ordered_matches]
|
|
43
|
+
from machineconfig.utils.options import choose_from_options
|
|
44
|
+
|
|
45
|
+
try:
|
|
46
|
+
chosen = choose_from_options(
|
|
47
|
+
options=order_matches_with_docs,
|
|
48
|
+
msg=f"🔍 No installer found for '[red]{search_term}[/red]'. Did you mean one of these?",
|
|
49
|
+
multi=True,
|
|
50
|
+
tv=True
|
|
51
|
+
)
|
|
52
|
+
except KeyboardInterrupt:
|
|
53
|
+
print("\n❌ Selection cancelled by user.")
|
|
54
|
+
return []
|
|
55
|
+
apps_chosen = [app.split(" : ")[0].strip() for app in chosen]
|
|
56
|
+
print(f"➡️ You selected: {apps_chosen}")
|
|
57
|
+
return apps_chosen
|
|
58
|
+
# top_matches = ordered_matches[:10] if len(ordered_matches) > 10 else ordered_matches
|
|
59
|
+
# from rich.console import Console
|
|
60
|
+
# from rich.panel import Panel
|
|
61
|
+
# from rich.table import Table
|
|
62
|
+
# console = Console()
|
|
63
|
+
# console.print(f"\n❌ '[red]{search_term}[/red]' was not found.", style="bold")
|
|
64
|
+
# if top_matches:
|
|
65
|
+
# console.print("🤔 Did you mean one of these?", style="yellow")
|
|
66
|
+
# table = Table(show_header=True, header_style="bold", box=None, pad_edge=False)
|
|
67
|
+
# table.add_column("#", justify="right", width=3)
|
|
68
|
+
# table.add_column("Installer", style="green")
|
|
69
|
+
# table.add_column("Description", style="dim", overflow="fold")
|
|
70
|
+
# for i, match in enumerate(top_matches, 1):
|
|
71
|
+
# table.add_row(f"[cyan]{i}[/cyan]", match, name_to_doc.get(match, ""))
|
|
72
|
+
# console.print(table)
|
|
73
|
+
# else:
|
|
74
|
+
# console.print("📋 Here are some available options:", style="blue")
|
|
75
|
+
# # Show first 10 installers as examples
|
|
76
|
+
# if len(all_names) > 10:
|
|
77
|
+
# sample_names = all_names[:10]
|
|
78
|
+
# else:
|
|
79
|
+
# sample_names = all_names
|
|
80
|
+
# table = Table(show_header=True, header_style="bold", box=None, pad_edge=False)
|
|
81
|
+
# table.add_column("#", justify="right", width=3)
|
|
82
|
+
# table.add_column("Installer", style="green")
|
|
83
|
+
# table.add_column("Description", style="dim", overflow="fold")
|
|
84
|
+
# for i, name in enumerate(sample_names, 1):
|
|
85
|
+
# table.add_row(f"[cyan]{i}[/cyan]", name, name_to_doc.get(name, ""))
|
|
86
|
+
# console.print(table)
|
|
87
|
+
# if len(all_names) > 10:
|
|
88
|
+
# console.print(f" [dim]... and {len(all_names) - 10} more[/dim]")
|
|
73
89
|
|
|
74
|
-
panel = Panel(f"[bold blue]💡 Use 'ia' to interactively browse all available installers.[/bold blue]\n[bold blue]💡 Use one of the categories: {list(PACKAGE_GROUP2NAMES.keys())}[/bold blue]", title="[yellow]Helpful Tips[/yellow]", border_style="yellow")
|
|
75
|
-
console.print(panel)
|
|
90
|
+
# panel = Panel(f"[bold blue]💡 Use 'ia' to interactively browse all available installers.[/bold blue]\n[bold blue]💡 Use one of the categories: {list(PACKAGE_GROUP2NAMES.keys())}[/bold blue]", title="[yellow]Helpful Tips[/yellow]", border_style="yellow")
|
|
91
|
+
# console.print(panel)
|
|
76
92
|
|
|
77
93
|
|
|
78
94
|
def install_deb_package(downloaded: Path) -> None:
|
|
@@ -144,20 +144,10 @@ def check_tool_exists(tool_name: str) -> bool:
|
|
|
144
144
|
standard_checks = [
|
|
145
145
|
Path("/usr/local/bin").joinpath(tool_name).is_file(),
|
|
146
146
|
Path("/usr/bin").joinpath(tool_name).is_file(),
|
|
147
|
-
root_path.joinpath(tool_name).is_file()
|
|
147
|
+
root_path.joinpath(tool_name).is_file(),
|
|
148
|
+
(Path.home() / ".bun" / "bin" / tool_name ).is_file(),
|
|
148
149
|
]
|
|
149
|
-
|
|
150
|
-
return True
|
|
151
|
-
# Check for npm packages via nvm
|
|
152
|
-
npm_check = False
|
|
153
|
-
try:
|
|
154
|
-
result = subprocess.run(["node", "--version"], capture_output=True, text=True, check=True)
|
|
155
|
-
version = result.stdout.strip().lstrip('v')
|
|
156
|
-
nvm_bin_path = Path.home() / ".nvm" / "versions" / "node" / f"v{version}" / "bin" / tool_name
|
|
157
|
-
npm_check = nvm_bin_path.is_file()
|
|
158
|
-
except (subprocess.CalledProcessError, FileNotFoundError):
|
|
159
|
-
pass
|
|
160
|
-
return npm_check
|
|
150
|
+
return any(standard_checks)
|
|
161
151
|
else:
|
|
162
152
|
raise NotImplementedError(f"platform {platform.system()} not implemented")
|
|
163
153
|
|
|
@@ -15,7 +15,7 @@ def choose_from_dict_with_preview(options_to_preview_mapping: dict[str, Any], ex
|
|
|
15
15
|
return select_from_options(options_to_preview_mapping, extension=extension, multi=multi, preview_size_percent=preview_size_percent)
|
|
16
16
|
else:
|
|
17
17
|
from machineconfig.utils.options_utils.options_tv_linux import select_from_options
|
|
18
|
-
return select_from_options(options_to_preview_mapping, extension=extension, multi=multi, preview_size_percent=preview_size_percent)
|
|
18
|
+
return select_from_options(options_to_preview_mapping= options_to_preview_mapping, extension=extension, multi=multi, preview_size_percent=preview_size_percent)
|
|
19
19
|
|
|
20
20
|
|
|
21
21
|
if __name__ == "__main__":
|