zrb 0.6.1__py3-none-any.whl → 0.7.0__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.
Files changed (62) hide show
  1. zrb/builtin/devtool/aws/install.sh +13 -19
  2. zrb/builtin/devtool/devtool_install.py +100 -31
  3. zrb/builtin/devtool/docker/install.sh +17 -27
  4. zrb/builtin/devtool/gcloud/install.sh +4 -14
  5. zrb/builtin/devtool/gvm/download.sh +6 -9
  6. zrb/builtin/devtool/helix/install.sh +24 -21
  7. zrb/builtin/devtool/pyenv/download.sh +12 -18
  8. zrb/builtin/devtool/selenium/install.sh +8 -13
  9. zrb/builtin/devtool/tmux/install.sh +11 -17
  10. zrb/builtin/devtool/zsh/install.sh +13 -19
  11. zrb/builtin/generator/common/task_input.py +76 -13
  12. zrb/builtin/generator/docker_compose_task/template/src/kebab-zrb-task-name/image/Dockerfile +4 -2
  13. zrb/builtin/generator/docker_compose_task/template/src/kebab-zrb-task-name/image/pyproject.toml +25 -0
  14. zrb/builtin/generator/fastapp/add.py +9 -0
  15. zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/cmd/activate-venv.sh +5 -0
  16. zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/cmd/app-prepare-backend.sh +1 -1
  17. zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/cmd/app-prepare-load-test.sh +1 -2
  18. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/loadtest/pyproject.toml +21 -0
  19. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/Dockerfile +4 -2
  20. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/pyproject.toml +44 -0
  21. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/start.sh +2 -2
  22. zrb/builtin/generator/pip_package/add.py +8 -4
  23. zrb/builtin/generator/pip_package/template/_automate/snake_zrb_package_name/cmd/activate-venv.sh +5 -0
  24. zrb/builtin/generator/pip_package/template/_automate/snake_zrb_package_name/cmd/build.sh +1 -1
  25. zrb/builtin/generator/pip_package/template/_automate/snake_zrb_package_name/cmd/install-symlink.sh +1 -1
  26. zrb/builtin/generator/pip_package/template/_automate/snake_zrb_package_name/cmd/prepare-venv.sh +1 -2
  27. zrb/builtin/generator/pip_package/template/_automate/snake_zrb_package_name/cmd/publish.sh +1 -1
  28. zrb/builtin/generator/pip_package/template/src/kebab-zrb-package-name/pyproject.toml +22 -27
  29. zrb/builtin/generator/plugin/create.py +6 -3
  30. zrb/builtin/generator/plugin/template/_cmd/activate-venv.sh +6 -2
  31. zrb/builtin/generator/plugin/template/_cmd/build.sh +1 -1
  32. zrb/builtin/generator/plugin/template/_cmd/install-symlink.sh +1 -1
  33. zrb/builtin/generator/plugin/template/_cmd/prepare-venv.sh +1 -2
  34. zrb/builtin/generator/plugin/template/_cmd/publish.sh +1 -1
  35. zrb/builtin/generator/plugin/template/project.sh +24 -20
  36. zrb/builtin/generator/plugin/template/pyproject.toml +22 -29
  37. zrb/builtin/generator/plugin/template/src/snake_zrb_package_name/__main__.py +5 -0
  38. zrb/builtin/generator/project/create.py +13 -1
  39. zrb/builtin/generator/project/template/project.sh +24 -35
  40. zrb/builtin/generator/project/template/pyproject.toml +21 -0
  41. zrb/builtin/generator/simple_python_app/add.py +9 -0
  42. zrb/builtin/generator/simple_python_app/template/_automate/snake_zrb_app_name/cmd/app-activate-venv.sh +6 -1
  43. zrb/builtin/generator/simple_python_app/template/_automate/snake_zrb_app_name/cmd/app-start.sh +2 -2
  44. zrb/builtin/generator/simple_python_app/template/src/kebab-zrb-app-name/src/Dockerfile +4 -2
  45. zrb/builtin/generator/simple_python_app/template/src/kebab-zrb-app-name/src/pyproject.toml +27 -0
  46. zrb/shell-scripts/_common-util.sh +15 -3
  47. zrb/shell-scripts/ensure-docker-is-installed.sh +17 -17
  48. zrb/shell-scripts/ensure-rsync-is-installed.sh +10 -6
  49. zrb/shell-scripts/ensure-ssh-is-installed.sh +20 -12
  50. zrb/task/notifier.py +16 -0
  51. {zrb-0.6.1.dist-info → zrb-0.7.0.dist-info}/METADATA +26 -28
  52. {zrb-0.6.1.dist-info → zrb-0.7.0.dist-info}/RECORD +220 -222
  53. {zrb-0.6.1.dist-info → zrb-0.7.0.dist-info}/WHEEL +1 -1
  54. zrb/builtin/generator/docker_compose_task/template/src/kebab-zrb-task-name/image/requirements.txt +0 -1
  55. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/loadtest/requirements.txt +0 -1
  56. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/requirements.txt +0 -24
  57. zrb/builtin/generator/pip_package/template/src/kebab-zrb-package-name/requirements.txt +0 -4
  58. zrb/builtin/generator/plugin/template/requirements.txt +0 -4
  59. zrb/builtin/generator/project/template/requirements.txt +0 -1
  60. zrb/builtin/generator/simple_python_app/template/src/kebab-zrb-app-name/src/requirements.txt +0 -1
  61. {zrb-0.6.1.dist-info → zrb-0.7.0.dist-info}/LICENSE +0 -0
  62. {zrb-0.6.1.dist-info → zrb-0.7.0.dist-info}/entry_points.txt +0 -0
@@ -1,13 +1,3 @@
1
- set -e
2
-
3
- # Determine OS type
4
- OS_TYPE=$(uname)
5
-
6
- # Function to check if a command exists
7
- command_exists() {
8
- command -v "$1" &> /dev/null
9
- }
10
-
11
1
  if [ ! -f "./awscliv2.zip" ]
12
2
  then
13
3
  echo "Download AWS CLI"
@@ -32,24 +22,28 @@ else
32
22
  fi
33
23
  elif [ "$OS_TYPE" = "Linux" ]
34
24
  then
35
- if command_exists apt
25
+ if command_exists pkg
26
+ then
27
+ try_sudo pkg update
28
+ try_sudo pkg install -y unzip
29
+ elif command_exists apt
36
30
  then
37
- sudo add-apt-repository ppa:maveonair/unzip-editor -y
38
- sudo apt update
39
- sudo apt install -y unzip
31
+ try_sudo add-apt-repository ppa:maveonair/unzip-editor -y
32
+ try_sudo apt update
33
+ try_sudo apt install -y unzip
40
34
  elif command_exists yum
41
35
  then
42
- sudo yum install -y unzip
36
+ try_sudo yum install -y unzip
43
37
  elif command_exists dnf
44
38
  then
45
- sudo dnf copr enable varlad/unzip
46
- sudo dnf install -y unzip
39
+ try_sudo dnf copr enable varlad/unzip
40
+ try_sudo dnf install -y unzip
47
41
  elif command_exists pacman
48
42
  then
49
- sudo pacman -Syu --noconfirm unzip
43
+ try_sudo pacman -Syu --noconfirm unzip
50
44
  elif command_exists snap
51
45
  then
52
- sudo snap install unzip
46
+ try_sudo snap install unzip
53
47
  else
54
48
  echo "No known package manager found. Please install unzip manually."
55
49
  exit 1
@@ -12,7 +12,8 @@ from zrb.task.task import Task
12
12
  from zrb.task_input.bool_input import BoolInput
13
13
  from zrb.task_input.str_input import StrInput
14
14
 
15
- dir_path = os.path.dirname(__file__)
15
+ CURRENT_DIR = os.path.dirname(__file__)
16
+ SHELL_SCRIPT_DIR = os.path.join(CURRENT_DIR, "..", "..", "shell-scripts")
16
17
  current_shell = get_current_shell()
17
18
 
18
19
  ###############################################################################
@@ -76,19 +77,25 @@ install_gvm = FlowTask(
76
77
  steps=[
77
78
  CmdTask(
78
79
  name="download-gvm",
79
- cmd_path=os.path.join(dir_path, "gvm", "download.sh"),
80
+ cmd_path=[
81
+ os.path.join(SHELL_SCRIPT_DIR, "_common-util.sh"),
82
+ os.path.join(CURRENT_DIR, "gvm", "download.sh"),
83
+ ],
80
84
  preexec_fn=None,
81
85
  ),
82
86
  Task(
83
87
  name="configure-gvm",
84
88
  run=write_config(
85
- template_file=os.path.join(dir_path, "gvm", "resource", "config.sh"),
89
+ template_file=os.path.join(CURRENT_DIR, "gvm", "resource", "config.sh"),
86
90
  config_file="{{input.config_file}}",
87
91
  ),
88
92
  ),
89
93
  CmdTask(
90
94
  name="finalize-gvm-installation",
91
- cmd_path=os.path.join(dir_path, "gvm", "finalize.sh"),
95
+ cmd_path=[
96
+ os.path.join(SHELL_SCRIPT_DIR, "_common-util.sh"),
97
+ os.path.join(CURRENT_DIR, "gvm", "finalize.sh"),
98
+ ],
92
99
  preexec_fn=None,
93
100
  ),
94
101
  ],
@@ -111,19 +118,27 @@ install_pyenv = FlowTask(
111
118
  steps=[
112
119
  CmdTask(
113
120
  name="download-pyenv",
114
- cmd_path=os.path.join(dir_path, "pyenv", "download.sh"),
121
+ cmd_path=[
122
+ os.path.join(SHELL_SCRIPT_DIR, "_common-util.sh"),
123
+ os.path.join(CURRENT_DIR, "pyenv", "download.sh"),
124
+ ],
115
125
  preexec_fn=None,
116
126
  ),
117
127
  Task(
118
128
  name="configure-pyenv",
119
129
  run=write_config(
120
- template_file=os.path.join(dir_path, "pyenv", "resource", "config.sh"),
130
+ template_file=os.path.join(
131
+ CURRENT_DIR, "pyenv", "resource", "config.sh"
132
+ ),
121
133
  config_file="{{input.config_file}}",
122
134
  ),
123
135
  ),
124
136
  CmdTask(
125
137
  name="finalize-pyenv-installation",
126
- cmd_path=os.path.join(dir_path, "pyenv", "finalize.sh"),
138
+ cmd_path=[
139
+ os.path.join(SHELL_SCRIPT_DIR, "_common-util.sh"),
140
+ os.path.join(CURRENT_DIR, "pyenv", "finalize.sh"),
141
+ ],
127
142
  preexec_fn=None,
128
143
  ),
129
144
  ],
@@ -146,19 +161,25 @@ install_nvm = FlowTask(
146
161
  steps=[
147
162
  CmdTask(
148
163
  name="download-nvm",
149
- cmd_path=os.path.join(dir_path, "nvm", "download.sh"),
164
+ cmd_path=[
165
+ os.path.join(SHELL_SCRIPT_DIR, "_common-util.sh"),
166
+ os.path.join(CURRENT_DIR, "nvm", "download.sh"),
167
+ ],
150
168
  preexec_fn=None,
151
169
  ),
152
170
  Task(
153
171
  name="configure-nvm",
154
172
  run=write_config(
155
- template_file=os.path.join(dir_path, "nvm", "resource", "config.sh"),
173
+ template_file=os.path.join(CURRENT_DIR, "nvm", "resource", "config.sh"),
156
174
  config_file="{{input.config_file}}",
157
175
  ),
158
176
  ),
159
177
  CmdTask(
160
178
  name="finalize-nvm-installation",
161
- cmd_path=os.path.join(dir_path, "nvm", "finalize.sh"),
179
+ cmd_path=[
180
+ os.path.join(SHELL_SCRIPT_DIR, "_common-util.sh"),
181
+ os.path.join(CURRENT_DIR, "nvm", "finalize.sh"),
182
+ ],
162
183
  preexec_fn=None,
163
184
  ),
164
185
  ],
@@ -188,19 +209,27 @@ install_sdkman = FlowTask(
188
209
  steps=[
189
210
  CmdTask(
190
211
  name="download-sdkman",
191
- cmd_path=os.path.join(dir_path, "sdkman", "download.sh"),
212
+ cmd_path=[
213
+ os.path.join(SHELL_SCRIPT_DIR, "_common-util.sh"),
214
+ os.path.join(CURRENT_DIR, "sdkman", "download.sh"),
215
+ ],
192
216
  preexec_fn=None,
193
217
  ),
194
218
  Task(
195
219
  name="configure-sdkman",
196
220
  run=write_config(
197
- template_file=os.path.join(dir_path, "sdkman", "resource", "config.sh"),
221
+ template_file=os.path.join(
222
+ CURRENT_DIR, "sdkman", "resource", "config.sh"
223
+ ),
198
224
  config_file="{{input.config_file}}",
199
225
  ),
200
226
  ),
201
227
  CmdTask(
202
228
  name="finalize-sdkman-installation",
203
- cmd_path=os.path.join(dir_path, "sdkman", "finalize.sh"),
229
+ cmd_path=[
230
+ os.path.join(SHELL_SCRIPT_DIR, "_common-util.sh"),
231
+ os.path.join(CURRENT_DIR, "sdkman", "finalize.sh"),
232
+ ],
204
233
  preexec_fn=None,
205
234
  ),
206
235
  ],
@@ -216,13 +245,18 @@ install_pulumi = FlowTask(
216
245
  steps=[
217
246
  CmdTask(
218
247
  name="install-pulumi",
219
- cmd_path=os.path.join(dir_path, "pulumi", "install.sh"),
248
+ cmd_path=[
249
+ os.path.join(SHELL_SCRIPT_DIR, "_common-util.sh"),
250
+ os.path.join(CURRENT_DIR, "pulumi", "install.sh"),
251
+ ],
220
252
  preexec_fn=None,
221
253
  ),
222
254
  Task(
223
255
  name="configure-pulumi",
224
256
  run=write_config(
225
- template_file=os.path.join(dir_path, "pulumi", "resource", "config.sh"),
257
+ template_file=os.path.join(
258
+ CURRENT_DIR, "pulumi", "resource", "config.sh"
259
+ ),
226
260
  config_file="{{input.config_file}}",
227
261
  ),
228
262
  ),
@@ -238,7 +272,10 @@ install_aws = FlowTask(
238
272
  steps=[
239
273
  CmdTask(
240
274
  name="install-aws",
241
- cmd_path=os.path.join(dir_path, "aws", "install.sh"),
275
+ cmd_path=[
276
+ os.path.join(SHELL_SCRIPT_DIR, "_common-util.sh"),
277
+ os.path.join(CURRENT_DIR, "aws", "install.sh"),
278
+ ],
242
279
  preexec_fn=None,
243
280
  ),
244
281
  ],
@@ -253,7 +290,10 @@ install_gcloud = FlowTask(
253
290
  steps=[
254
291
  CmdTask(
255
292
  name="install-gcloud",
256
- cmd_path=os.path.join(dir_path, "gcloud", "install.sh"),
293
+ cmd_path=[
294
+ os.path.join(SHELL_SCRIPT_DIR, "_common-util.sh"),
295
+ os.path.join(CURRENT_DIR, "gcloud", "install.sh"),
296
+ ],
257
297
  preexec_fn=None,
258
298
  ),
259
299
  ],
@@ -276,13 +316,18 @@ install_tmux = FlowTask(
276
316
  steps=[
277
317
  CmdTask(
278
318
  name="install-tmux",
279
- cmd_path=os.path.join(dir_path, "tmux", "install.sh"),
319
+ cmd_path=[
320
+ os.path.join(SHELL_SCRIPT_DIR, "_common-util.sh"),
321
+ os.path.join(CURRENT_DIR, "tmux", "install.sh"),
322
+ ],
280
323
  preexec_fn=None,
281
324
  ),
282
325
  Task(
283
326
  name="configure-tmux",
284
327
  run=write_config(
285
- template_file=os.path.join(dir_path, "tmux", "resource", "config.sh"),
328
+ template_file=os.path.join(
329
+ CURRENT_DIR, "tmux", "resource", "config.sh"
330
+ ),
286
331
  config_file="{{input.tmux_config_file}}",
287
332
  ),
288
333
  ),
@@ -306,13 +351,16 @@ install_zsh = FlowTask(
306
351
  steps=[
307
352
  CmdTask(
308
353
  name="install-zsh",
309
- cmd_path=os.path.join(dir_path, "zsh", "install.sh"),
354
+ cmd_path=[
355
+ os.path.join(SHELL_SCRIPT_DIR, "_common-util.sh"),
356
+ os.path.join(CURRENT_DIR, "zsh", "install.sh"),
357
+ ],
310
358
  preexec_fn=None,
311
359
  ),
312
360
  Task(
313
361
  name="configure-zsh",
314
362
  run=write_config(
315
- template_file=os.path.join(dir_path, "zsh", "resource", "config.sh"),
363
+ template_file=os.path.join(CURRENT_DIR, "zsh", "resource", "config.sh"),
316
364
  config_file="{{input.zsh_config_file}}",
317
365
  ),
318
366
  ),
@@ -328,7 +376,10 @@ install_kubectl = FlowTask(
328
376
  steps=[
329
377
  CmdTask(
330
378
  name="install-kubectl",
331
- cmd_path=os.path.join(dir_path, "kubectl", "install.sh"),
379
+ cmd_path=[
380
+ os.path.join(SHELL_SCRIPT_DIR, "_common-util.sh"),
381
+ os.path.join(CURRENT_DIR, "kubectl", "install.sh"),
382
+ ],
332
383
  preexec_fn=None,
333
384
  ),
334
385
  ],
@@ -343,7 +394,10 @@ install_helm = FlowTask(
343
394
  steps=[
344
395
  CmdTask(
345
396
  name="install-helm",
346
- cmd_path=os.path.join(dir_path, "helm", "install.sh"),
397
+ cmd_path=[
398
+ os.path.join(SHELL_SCRIPT_DIR, "_common-util.sh"),
399
+ os.path.join(CURRENT_DIR, "helm", "install.sh"),
400
+ ],
347
401
  preexec_fn=None,
348
402
  ),
349
403
  ],
@@ -358,7 +412,10 @@ install_docker = FlowTask(
358
412
  steps=[
359
413
  CmdTask(
360
414
  name="install-docker",
361
- cmd_path=os.path.join(dir_path, "docker", "install.sh"),
415
+ cmd_path=[
416
+ os.path.join(SHELL_SCRIPT_DIR, "_common-util.sh"),
417
+ os.path.join(CURRENT_DIR, "docker", "install.sh"),
418
+ ],
362
419
  preexec_fn=None,
363
420
  ),
364
421
  ],
@@ -374,14 +431,17 @@ install_terraform = FlowTask(
374
431
  steps=[
375
432
  CmdTask(
376
433
  name="install-terraform",
377
- cmd_path=os.path.join(dir_path, "terraform", "install.sh"),
434
+ cmd_path=[
435
+ os.path.join(SHELL_SCRIPT_DIR, "_common-util.sh"),
436
+ os.path.join(CURRENT_DIR, "terraform", "install.sh"),
437
+ ],
378
438
  preexec_fn=None,
379
439
  ),
380
440
  Task(
381
441
  name="configure-terraform",
382
442
  run=write_config(
383
443
  template_file=os.path.join(
384
- dir_path, "terraform", "resource", "config.sh"
444
+ CURRENT_DIR, "terraform", "resource", "config.sh"
385
445
  ),
386
446
  config_file="{{input.config_file}}",
387
447
  ),
@@ -398,7 +458,10 @@ install_helix = FlowTask(
398
458
  steps=[
399
459
  CmdTask(
400
460
  name="install-helix",
401
- cmd_path=os.path.join(dir_path, "helix", "install.sh"),
461
+ cmd_path=[
462
+ os.path.join(SHELL_SCRIPT_DIR, "_common-util.sh"),
463
+ os.path.join(CURRENT_DIR, "helix", "install.sh"),
464
+ ],
402
465
  preexec_fn=None,
403
466
  ),
404
467
  [
@@ -406,7 +469,7 @@ install_helix = FlowTask(
406
469
  name="create-helix-theme",
407
470
  run=write_config(
408
471
  template_file=os.path.join(
409
- dir_path,
472
+ CURRENT_DIR,
410
473
  "helix",
411
474
  "resource",
412
475
  "themes",
@@ -420,7 +483,7 @@ install_helix = FlowTask(
420
483
  name="configure-helix",
421
484
  run=write_config(
422
485
  template_file=os.path.join(
423
- dir_path, "helix", "resource", "config.toml"
486
+ CURRENT_DIR, "helix", "resource", "config.toml"
424
487
  ),
425
488
  config_file="~/.config/helix/config.toml",
426
489
  remove_old_config=True,
@@ -428,7 +491,10 @@ install_helix = FlowTask(
428
491
  ),
429
492
  CmdTask(
430
493
  name="install-language-server",
431
- cmd_path=os.path.join(dir_path, "helix", "install-language-server.sh"),
494
+ cmd_path=[
495
+ os.path.join(SHELL_SCRIPT_DIR, "_common-util.sh"),
496
+ os.path.join(CURRENT_DIR, "helix", "install-language-server.sh"),
497
+ ],
432
498
  preexec_fn=None,
433
499
  ),
434
500
  ],
@@ -444,7 +510,10 @@ install_selenium = FlowTask(
444
510
  steps=[
445
511
  CmdTask(
446
512
  name="install-selenium",
447
- cmd_path=os.path.join(dir_path, "selenium", "install.sh"),
513
+ cmd_path=[
514
+ os.path.join(SHELL_SCRIPT_DIR, "_common-util.sh"),
515
+ os.path.join(CURRENT_DIR, "selenium", "install.sh"),
516
+ ],
448
517
  preexec_fn=None,
449
518
  )
450
519
  ],
@@ -1,13 +1,3 @@
1
- set -e
2
-
3
- # Determine OS type
4
- OS_TYPE=$(uname)
5
-
6
- # Function to check if a command exists
7
- command_exists() {
8
- command -v "$1" &> /dev/null
9
- }
10
-
11
1
  # Install Docker
12
2
  if command_exists docker
13
3
  then
@@ -28,29 +18,29 @@ else
28
18
  then
29
19
  if command_exists apt
30
20
  then
31
- sudo apt update
32
- sudo apt-get remove docker docker-engine docker.io containerd runc || true
33
- sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
34
- curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
35
- sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
36
- echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
37
- sudo apt update
38
- sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
21
+ try_sudo apt update
22
+ try_sudo apt-get remove docker docker-engine docker.io containerd runc || true
23
+ try_sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
24
+ curl -fsSL https://download.docker.com/linux/ubuntu/gpg |try_sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
25
+ try_sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
26
+ echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" |try_sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
27
+ try_sudo apt update
28
+ try_sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
39
29
  elif command_exists yum
40
30
  then
41
- sudo yum install -y docker
42
- sudo systemctl start docker
43
- sudo systemctl enable docker
31
+ try_sudo yum install -y docker
32
+ try_sudo systemctl start docker
33
+ try_sudo systemctl enable docker
44
34
  elif command_exists dnf
45
35
  then
46
- sudo dnf install -y docker
47
- sudo systemctl start docker
48
- sudo systemctl enable docker
36
+ try_sudo dnf install -y docker
37
+ try_sudo systemctl start docker
38
+ try_sudo systemctl enable docker
49
39
  elif command_exists pacman
50
40
  then
51
- sudo pacman -Syu --noconfirm docker
52
- sudo systemctl start docker
53
- sudo systemctl enable docker
41
+ try_sudo pacman -Syu --noconfirm docker
42
+ try_sudo systemctl start docker
43
+ try_sudo systemctl enable docker
54
44
  else
55
45
  echo "No known package manager found. Please install Docker manually."
56
46
  exit 1
@@ -1,19 +1,9 @@
1
- set -e
2
-
3
- # Determine OS type
4
- OS_TYPE=$(uname)
5
-
6
- # Function to check if a command exists
7
- command_exists() {
8
- command -v "$1" &> /dev/null
9
- }
10
-
11
1
  if command_exists apt
12
2
  then
13
- echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list
14
- sudo apt install -y apt-transport-https ca-certificates gnupg
15
- curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key --keyring /usr/share/keyrings/cloud.google.gpg add -
16
- sudo apt update && sudo apt install -y google-cloud-sdk
3
+ echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" |try_sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list
4
+ try_sudo apt install -y apt-transport-https ca-certificates gnupg
5
+ curl https://packages.cloud.google.com/apt/doc/apt-key.gpg |try_sudo apt-key --keyring /usr/share/keyrings/cloud.google.gpg add -
6
+ try_sudo apt update &&try_sudo apt install -y google-cloud-sdk
17
7
  else
18
8
  echo "apt not found"
19
9
  exit 1
@@ -1,15 +1,12 @@
1
- set -e
2
-
3
- # Function to check if a command exists
4
- command_exists() {
5
- command -v "$1" &> /dev/null
6
- }
7
-
8
1
  if [ ! -d "${HOME}/.gvm" ]
9
2
  then
10
- if command_exists apt
3
+ if command_exists pkg
11
4
  then
12
- sudo apt install -y bison
5
+ try_sudo pkg update
6
+ try_sudo pkg install -y bison ncurses-utils
7
+ elif command_exists apt
8
+ then
9
+ try_sudo apt install -y bison
13
10
  fi
14
11
  echo "Download GVM"
15
12
  curl -o- https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer | bash
@@ -1,13 +1,3 @@
1
- set -e
2
-
3
- # Determine OS type
4
- OS_TYPE=$(uname)
5
-
6
- # Function to check if a command exists
7
- command_exists() {
8
- command -v "$1" &> /dev/null
9
- }
10
-
11
1
  # Install helix
12
2
  if command_exists hx
13
3
  then
@@ -25,25 +15,28 @@ else
25
15
  fi
26
16
  elif [ "$OS_TYPE" = "Linux" ]
27
17
  then
28
- if command_exists apt
18
+ if command_exists pkg
19
+ then
20
+ try_sudo pkg update
21
+ try_sudo pkg install -y xclip helix
22
+ elif command_exists apt
29
23
  then
30
- sudo apt install -y xclip
31
- sudo add-apt-repository ppa:maveonair/helix-editor -y
32
- sudo apt update
33
- sudo apt install -y helix
24
+ try_sudo add-apt-repository ppa:maveonair/helix-editor -y
25
+ try_sudo apt update
26
+ try_sudo apt install -y helix xclip
34
27
  elif command_exists yum
35
28
  then
36
- sudo yum install -y helix
29
+ try_sudo yum install -y helix
37
30
  elif command_exists dnf
38
31
  then
39
- sudo dnf copr enable varlad/helix
40
- sudo dnf install -y helix
32
+ try_sudo dnf copr enable varlad/helix
33
+ try_sudo dnf install -y helix
41
34
  elif command_exists pacman
42
35
  then
43
- sudo pacman -Syu --noconfirm helix
36
+ try_sudo pacman -Syu --noconfirm helix
44
37
  elif command_exists snap
45
38
  then
46
- sudo snap install helix
39
+ try_sudo snap install helix
47
40
  else
48
41
  echo "No known package manager found. Please install helix manually."
49
42
  exit 1
@@ -52,4 +45,14 @@ else
52
45
  echo "Unsupported OS type. Please install helix manually."
53
46
  exit 1
54
47
  fi
55
- fi
48
+ fi
49
+
50
+ if command_exists hx
51
+ then
52
+ hx --grammar fetch
53
+ hx --grammar build
54
+ elif command_exists helix
55
+ then
56
+ helix --grammar fetch
57
+ helix --grammar build
58
+ fi
@@ -1,13 +1,3 @@
1
- set -e
2
-
3
- # Determine OS type
4
- OS_TYPE=$(uname)
5
-
6
- # Function to check if a command exists
7
- command_exists() {
8
- command -v "$1" &> /dev/null
9
- }
10
-
11
1
  if [ ! -d "${HOME}/.pyenv" ]
12
2
  then
13
3
  if [ "$OS_TYPE" = "Darwin" ]
@@ -20,26 +10,30 @@ then
20
10
  fi
21
11
  elif [ "$OS_TYPE" = "Linux" ]
22
12
  then
23
- if command_exists apt
13
+ if command_exists pkg
24
14
  then
25
- sudo apt update
26
- sudo apt install -y build-essential libssl-dev zlib1g-dev \
15
+ try_sudo pkg update
16
+ try_sudo pkg install -y build-essential
17
+ elif command_exists apt
18
+ then
19
+ try_sudo apt update
20
+ try_sudo apt install -y build-essential libssl-dev zlib1g-dev \
27
21
  libbz2-dev libreadline-dev libsqlite3-dev curl \
28
22
  libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
29
23
  elif command_exists yum
30
24
  then
31
- sudo yum install -y gcc make patch zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel tk-devel libffi-devel xz-devel
25
+ try_sudo yum install -y gcc make patch zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel tk-devel libffi-devel xz-devel
32
26
  elif command_exists dnf
33
27
  then
34
- sudo dnf install -y make gcc patch zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel tk-devel libffi-devel xz-devel libuuid-devel gdbm-libs libnsl2
28
+ try_sudo dnf install -y make gcc patch zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel tk-devel libffi-devel xz-devel libuuid-devel gdbm-libs libnsl2
35
29
  elif command_exists pacman
36
30
  then
37
- sudo pacman -Syu --noconfirm base-devel openssl zlib xz tk
31
+ try_sudo pacman -Syu --noconfirm base-devel openssl zlib xz tk
38
32
  elif command_exists apk
39
33
  then
40
- sudo apk add --no-cache git bash build-base libffi-dev openssl-dev bzip2-dev zlib-dev xz-dev readline-dev sqlite-dev tk-dev
34
+ try_sudo apk add --no-cache git bash build-base libffi-dev openssl-dev bzip2-dev zlib-dev xz-dev readline-dev sqlite-dev tk-dev
41
35
  else
42
- sudo echo "No known package manager found, continuing anyway"
36
+ try_sudo echo "No known package manager found, continuing anyway"
43
37
  fi
44
38
  else
45
39
  echo "Unknown OS, cannot install pre-requisites, continuing anyway"
@@ -1,17 +1,12 @@
1
- set -e
2
-
3
- OS_TYPE=$(uname)
4
-
5
- # Function to check if a command exists
6
- command_exists() {
7
- command -v "$1" &> /dev/null
8
- }
9
-
10
1
  if [ "$OS_TYPE" = "Linux" ]
11
2
  then
12
- if command_exists apt
3
+ if command_exists pkg
4
+ then
5
+ try_sudo pkg update
6
+ try_sudo pkg install -y unzip wget
7
+ elif command_exists apt
13
8
  then
14
- sudo apt install -y unzip wget
9
+ try_sudo apt install -y unzip wget
15
10
  else
16
11
  echo "apt does not exists"
17
12
  exit 1
@@ -20,13 +15,13 @@ then
20
15
  if command_exists dpkg
21
16
  then
22
17
  wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
23
- sudo dpkg -i google-chrome-stable_current_amd64.deb
18
+ try_sudo dpkg -i google-chrome-stable_current_amd64.deb
24
19
  else
25
20
  echo "dpkg does not exists"
26
21
  exit 1
27
22
  fi
28
23
 
29
- sudo apt --fix-broken install
24
+ try_sudo apt --fix-broken install
30
25
  else
31
26
  echo "Unsupported OS type. Please install zsh manually."
32
27
  exit 1