penguins-eggs 10.0.28 → 10.0.30

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 (361) hide show
  1. package/.oclif.manifest.json +1500 -2
  2. package/README.md +760 -0
  3. package/addons/README.md +0 -2
  4. package/addons/eggs/adapt/applications/eggs-adapt.desktop +1 -1
  5. package/addons/eggs/theme/livecd/isolinux.main.alpine.cfg +43 -0
  6. package/addons/eggs/theme/livecd/{isolinux.main.cfg → isolinux.main.original.cfg} +1 -1
  7. package/conf/distros/alpine/README.md +1 -1
  8. package/conf/distros/alpine/calamares/calamares-modules/bootloader-config/bootloader-config.sh +40 -0
  9. package/conf/distros/alpine/calamares/calamares-modules/bootloader-config/module.yml +9 -0
  10. package/conf/distros/alpine/calamares/calamares-modules/cleanup/cleanup.sh +13 -0
  11. package/conf/distros/alpine/calamares/calamares-modules/cleanup/module.yml +9 -0
  12. package/conf/distros/alpine/calamares/modules/bootloader.yml +57 -0
  13. package/conf/distros/alpine/calamares/modules/displaymanager.yml +23 -0
  14. package/conf/distros/alpine/calamares/modules/finished.yml +5 -0
  15. package/conf/distros/alpine/calamares/modules/fstab.yml +12 -0
  16. package/conf/distros/alpine/calamares/modules/locale.yml +98 -0
  17. package/conf/distros/alpine/calamares/modules/luksopenswaphookcfg.yml +5 -0
  18. package/conf/distros/alpine/calamares/modules/machineid.yml +17 -0
  19. package/conf/distros/alpine/calamares/modules/mount.yml +56 -0
  20. package/conf/distros/alpine/calamares/modules/packages.yml +6 -0
  21. package/conf/distros/alpine/calamares/modules/partition.yml +242 -0
  22. package/conf/distros/alpine/calamares/modules/removeuser.yml +15 -0
  23. package/conf/distros/alpine/calamares/modules/unpackfs.yml +6 -0
  24. package/conf/distros/alpine/calamares/modules/users.yml +18 -0
  25. package/conf/distros/alpine/calamares/modules/welcome.yml +19 -0
  26. package/conf/distros/alpine/calamares/settings.yml +57 -0
  27. package/conf/love.yaml +8 -0
  28. package/dist/classes/bleach.d.ts +32 -0
  29. package/dist/classes/bleach.js +136 -0
  30. package/dist/classes/cfs.d.ts +17 -0
  31. package/dist/classes/cfs.js +39 -0
  32. package/dist/classes/cli-autologin.d.ts +52 -0
  33. package/dist/classes/cli-autologin.js +230 -0
  34. package/dist/classes/compressors.d.ts +54 -0
  35. package/dist/classes/compressors.js +109 -0
  36. package/dist/classes/daddy.d.ts +26 -0
  37. package/dist/classes/daddy.js +161 -0
  38. package/dist/classes/distro.d.ts +36 -0
  39. package/dist/classes/distro.js +346 -0
  40. package/dist/classes/families/alpine.d.ts +55 -0
  41. package/dist/classes/families/alpine.js +163 -0
  42. package/dist/classes/families/archlinux.d.ts +61 -0
  43. package/dist/classes/families/archlinux.js +140 -0
  44. package/dist/classes/families/debian.d.ts +65 -0
  45. package/dist/classes/families/debian.js +138 -0
  46. package/dist/classes/families/fedora.d.ts +52 -0
  47. package/dist/classes/families/fedora.js +100 -0
  48. package/dist/classes/families/mockup.d.ts +60 -0
  49. package/dist/classes/families/mockup.js +79 -0
  50. package/dist/classes/families/opensuse.d.ts +52 -0
  51. package/dist/classes/families/opensuse.js +104 -0
  52. package/dist/classes/incubation/branding.d.ts +17 -0
  53. package/dist/classes/incubation/branding.js +89 -0
  54. package/dist/classes/incubation/distros/alpine.d.ts +32 -0
  55. package/dist/classes/incubation/distros/alpine.js +80 -0
  56. package/dist/classes/incubation/distros/bionic.d.ts +32 -0
  57. package/dist/classes/incubation/distros/bionic.js +83 -0
  58. package/dist/classes/incubation/distros/buster.d.ts +32 -0
  59. package/dist/classes/incubation/distros/buster.js +85 -0
  60. package/dist/classes/incubation/distros/jessie.d.ts +31 -0
  61. package/dist/classes/incubation/distros/jessie.js +44 -0
  62. package/dist/classes/incubation/distros/noble.d.ts +32 -0
  63. package/dist/classes/incubation/distros/noble.js +85 -0
  64. package/dist/classes/incubation/distros/rolling.d.ts +32 -0
  65. package/dist/classes/incubation/distros/rolling.js +82 -0
  66. package/dist/classes/incubation/fisherman-helper/displaymanager.d.ts +11 -0
  67. package/dist/classes/incubation/fisherman-helper/displaymanager.js +39 -0
  68. package/dist/classes/incubation/fisherman-helper/packages.d.ts +20 -0
  69. package/dist/classes/incubation/fisherman-helper/packages.js +72 -0
  70. package/dist/classes/incubation/fisherman-helper/settings.d.ts +15 -0
  71. package/dist/classes/incubation/fisherman-helper/settings.js +83 -0
  72. package/dist/classes/incubation/fisherman.d.ts +77 -0
  73. package/dist/classes/incubation/fisherman.js +251 -0
  74. package/dist/classes/incubation/incubator.d.ts +40 -0
  75. package/dist/classes/incubation/incubator.js +328 -0
  76. package/dist/classes/incubation/installer.d.ts +13 -0
  77. package/dist/classes/incubation/installer.js +64 -0
  78. package/dist/classes/keyboards.d.ts +50 -0
  79. package/dist/classes/keyboards.js +287 -0
  80. package/dist/classes/locales.d.ts +21 -0
  81. package/dist/classes/locales.js +80 -0
  82. package/dist/classes/n8.d.ts +18 -0
  83. package/dist/classes/n8.js +36 -0
  84. package/dist/classes/network.d.ts +37 -0
  85. package/dist/classes/network.js +98 -0
  86. package/dist/classes/ovary.d.ts +214 -0
  87. package/dist/classes/ovary.js +1872 -0
  88. package/dist/classes/pacman.d.ts +149 -0
  89. package/dist/classes/pacman.js +703 -0
  90. package/dist/classes/pve-live.d.ts +17 -0
  91. package/dist/classes/pve-live.js +52 -0
  92. package/dist/classes/pxe.d.ts +74 -0
  93. package/dist/classes/pxe.js +410 -0
  94. package/dist/classes/settings.d.ts +53 -0
  95. package/dist/classes/settings.js +185 -0
  96. package/dist/classes/sources_list.d.ts +28 -0
  97. package/dist/classes/sources_list.js +89 -0
  98. package/dist/classes/systemctl.d.ts +47 -0
  99. package/dist/classes/systemctl.js +86 -0
  100. package/dist/classes/tailor.d.ts +46 -0
  101. package/dist/classes/tailor.js +587 -0
  102. package/dist/classes/tools.d.ts +30 -0
  103. package/dist/classes/tools.js +54 -0
  104. package/dist/classes/users.d.ts +28 -0
  105. package/dist/classes/users.js +143 -0
  106. package/dist/classes/utils.d.ts +323 -0
  107. package/dist/classes/utils.js +951 -0
  108. package/dist/classes/xdg.d.ts +45 -0
  109. package/dist/classes/xdg.js +329 -0
  110. package/dist/classes/yolk.d.ts +33 -0
  111. package/dist/classes/yolk.js +114 -0
  112. package/dist/commands/adapt.d.ts +17 -0
  113. package/dist/commands/adapt.js +33 -0
  114. package/dist/commands/analyze.d.ts +26 -0
  115. package/dist/commands/analyze.js +95 -0
  116. package/dist/commands/calamares.d.ts +29 -0
  117. package/dist/commands/calamares.js +110 -0
  118. package/dist/commands/config.d.ts +35 -0
  119. package/dist/commands/config.js +192 -0
  120. package/dist/commands/cuckoo.d.ts +16 -0
  121. package/dist/commands/cuckoo.js +62 -0
  122. package/dist/commands/dad.d.ts +20 -0
  123. package/dist/commands/dad.js +46 -0
  124. package/dist/commands/export/deb.d.ts +19 -0
  125. package/dist/commands/export/deb.js +51 -0
  126. package/dist/commands/export/iso.d.ts +19 -0
  127. package/dist/commands/export/iso.js +55 -0
  128. package/dist/commands/install.d.ts +37 -0
  129. package/dist/commands/install.js +92 -0
  130. package/dist/commands/kill.d.ts +24 -0
  131. package/dist/commands/kill.js +50 -0
  132. package/dist/commands/love.d.ts +20 -0
  133. package/dist/commands/love.js +55 -0
  134. package/dist/commands/mom.d.ts +16 -0
  135. package/dist/commands/mom.js +30 -0
  136. package/dist/commands/produce.d.ts +34 -0
  137. package/dist/commands/produce.js +196 -0
  138. package/dist/commands/status.d.ts +23 -0
  139. package/dist/commands/status.js +31 -0
  140. package/dist/commands/syncfrom.d.ts +45 -0
  141. package/dist/commands/syncfrom.js +152 -0
  142. package/dist/commands/syncto.d.ts +40 -0
  143. package/dist/commands/syncto.js +175 -0
  144. package/dist/commands/tools/clean.d.ts +18 -0
  145. package/dist/commands/tools/clean.js +37 -0
  146. package/dist/commands/tools/ppa.d.ts +26 -0
  147. package/dist/commands/tools/ppa.js +138 -0
  148. package/dist/commands/tools/skel.d.ts +18 -0
  149. package/dist/commands/tools/skel.js +44 -0
  150. package/dist/commands/tools/stat.d.ts +31 -0
  151. package/dist/commands/tools/stat.js +70 -0
  152. package/dist/commands/tools/yolk.d.ts +24 -0
  153. package/dist/commands/tools/yolk.js +45 -0
  154. package/dist/commands/update.d.ts +47 -0
  155. package/dist/commands/update.js +140 -0
  156. package/dist/commands/wardrobe/get.d.ts +23 -0
  157. package/dist/commands/wardrobe/get.js +52 -0
  158. package/dist/commands/wardrobe/list.d.ts +24 -0
  159. package/dist/commands/wardrobe/list.js +125 -0
  160. package/dist/commands/wardrobe/show.d.ts +25 -0
  161. package/dist/commands/wardrobe/show.js +97 -0
  162. package/dist/commands/wardrobe/wear.d.ts +26 -0
  163. package/dist/commands/wardrobe/wear.js +81 -0
  164. package/dist/components/finished.d.ts +15 -0
  165. package/dist/components/finished.js +55 -0
  166. package/dist/components/information.d.ts +8 -0
  167. package/dist/components/information.js +153 -0
  168. package/dist/components/install.d.ts +15 -0
  169. package/dist/components/install.js +56 -0
  170. package/dist/components/keyboard.d.ts +16 -0
  171. package/dist/components/keyboard.js +54 -0
  172. package/dist/components/location.d.ts +16 -0
  173. package/dist/components/location.js +59 -0
  174. package/dist/components/network.d.ts +19 -0
  175. package/dist/components/network.js +65 -0
  176. package/dist/components/partitions.d.ts +16 -0
  177. package/dist/components/partitions.js +73 -0
  178. package/dist/components/steps.d.ts +13 -0
  179. package/dist/components/steps.js +148 -0
  180. package/dist/components/summary.d.ts +24 -0
  181. package/dist/components/summary.js +82 -0
  182. package/dist/components/title.d.ts +11 -0
  183. package/dist/components/title.js +35 -0
  184. package/dist/components/users.d.ts +24 -0
  185. package/dist/components/users.js +80 -0
  186. package/dist/components/welcome.d.ts +13 -0
  187. package/dist/components/welcome.js +63 -0
  188. package/dist/index.d.ts +8 -0
  189. package/dist/index.js +8 -0
  190. package/dist/interfaces/i-addons.d.ts +12 -0
  191. package/dist/interfaces/i-addons.js +8 -0
  192. package/dist/interfaces/i-analyze.d.ts +17 -0
  193. package/dist/interfaces/i-analyze.js +17 -0
  194. package/dist/interfaces/i-app.d.ts +14 -0
  195. package/dist/interfaces/i-app.js +8 -0
  196. package/dist/interfaces/i-branding.d.ts +36 -0
  197. package/dist/interfaces/i-branding.js +8 -0
  198. package/dist/interfaces/i-calamares-partition.d.ts +18 -0
  199. package/dist/interfaces/i-calamares-partition.js +8 -0
  200. package/dist/interfaces/i-config-tools.d.ts +18 -0
  201. package/dist/interfaces/i-config-tools.js +8 -0
  202. package/dist/interfaces/i-devices.d.ts +20 -0
  203. package/dist/interfaces/i-devices.js +8 -0
  204. package/dist/interfaces/i-distro.d.ts +27 -0
  205. package/dist/interfaces/i-distro.js +8 -0
  206. package/dist/interfaces/i-drive-list.d.ts +33 -0
  207. package/dist/interfaces/i-drive-list.js +8 -0
  208. package/dist/interfaces/i-eggs-config.d.ts +32 -0
  209. package/dist/interfaces/i-eggs-config.js +8 -0
  210. package/dist/interfaces/i-excludes.d.ts +14 -0
  211. package/dist/interfaces/i-excludes.js +8 -0
  212. package/dist/interfaces/i-exec.d.ts +11 -0
  213. package/dist/interfaces/i-exec.js +8 -0
  214. package/dist/interfaces/i-initrd.d.ts +13 -0
  215. package/dist/interfaces/i-initrd.js +8 -0
  216. package/dist/interfaces/i-install.d.ts +16 -0
  217. package/dist/interfaces/i-install.js +8 -0
  218. package/dist/interfaces/i-installer.d.ts +17 -0
  219. package/dist/interfaces/i-installer.js +8 -0
  220. package/dist/interfaces/i-krill-config.d.ts +33 -0
  221. package/dist/interfaces/i-krill-config.js +8 -0
  222. package/dist/interfaces/i-krill.d.ts +42 -0
  223. package/dist/interfaces/i-krill.js +8 -0
  224. package/dist/interfaces/i-materia.d.ts +41 -0
  225. package/dist/interfaces/i-materia.js +8 -0
  226. package/dist/interfaces/i-net.d.ts +16 -0
  227. package/dist/interfaces/i-net.js +8 -0
  228. package/dist/interfaces/i-packages.d.ts +16 -0
  229. package/dist/interfaces/i-packages.js +8 -0
  230. package/dist/interfaces/i-partitions.d.ts +16 -0
  231. package/dist/interfaces/i-partitions.js +8 -0
  232. package/dist/interfaces/i-pxe.d.ts +45 -0
  233. package/dist/interfaces/i-pxe.js +1 -0
  234. package/dist/interfaces/i-remix.d.ts +21 -0
  235. package/dist/interfaces/i-remix.js +8 -0
  236. package/dist/interfaces/i-settings.d.ts +33 -0
  237. package/dist/interfaces/i-settings.js +8 -0
  238. package/dist/interfaces/i-user.d.ts +14 -0
  239. package/dist/interfaces/i-user.js +8 -0
  240. package/dist/interfaces/i-workdir.d.ts +14 -0
  241. package/dist/interfaces/i-workdir.js +8 -0
  242. package/dist/interfaces/i-xkb-model.d.ts +24 -0
  243. package/dist/interfaces/i-xkb-model.js +8 -0
  244. package/dist/interfaces/index.d.ts +25 -0
  245. package/dist/interfaces/index.js +8 -0
  246. package/dist/krill/modules/add-user.d.ts +20 -0
  247. package/dist/krill/modules/add-user.js +49 -0
  248. package/dist/krill/modules/bootloader-config-alpine.d.ts +14 -0
  249. package/dist/krill/modules/bootloader-config-alpine.js +37 -0
  250. package/dist/krill/modules/bootloader-config-arch.d.ts +14 -0
  251. package/dist/krill/modules/bootloader-config-arch.js +37 -0
  252. package/dist/krill/modules/bootloader-config-debian.d.ts +10 -0
  253. package/dist/krill/modules/bootloader-config-debian.js +50 -0
  254. package/dist/krill/modules/bootloader-config.d.ts +10 -0
  255. package/dist/krill/modules/bootloader-config.js +25 -0
  256. package/dist/krill/modules/bootloader.d.ts +14 -0
  257. package/dist/krill/modules/bootloader.js +30 -0
  258. package/dist/krill/modules/change-password.d.ts +15 -0
  259. package/dist/krill/modules/change-password.js +18 -0
  260. package/dist/krill/modules/del-live-user.d.ts +14 -0
  261. package/dist/krill/modules/del-live-user.js +38 -0
  262. package/dist/krill/modules/fstab.d.ts +14 -0
  263. package/dist/krill/modules/fstab.js +121 -0
  264. package/dist/krill/modules/grubcfg.d.ts +17 -0
  265. package/dist/krill/modules/grubcfg.js +29 -0
  266. package/dist/krill/modules/hostname.d.ts +13 -0
  267. package/dist/krill/modules/hostname.js +50 -0
  268. package/dist/krill/modules/initramfs-cfg.d.ts +14 -0
  269. package/dist/krill/modules/initramfs-cfg.js +25 -0
  270. package/dist/krill/modules/initramfs.d.ts +13 -0
  271. package/dist/krill/modules/initramfs.js +48 -0
  272. package/dist/krill/modules/locale-cfg.d.ts +10 -0
  273. package/dist/krill/modules/locale-cfg.js +61 -0
  274. package/dist/krill/modules/locale.d.ts +13 -0
  275. package/dist/krill/modules/locale.js +48 -0
  276. package/dist/krill/modules/m-keyboard.d.ts +14 -0
  277. package/dist/krill/modules/m-keyboard.js +79 -0
  278. package/dist/krill/modules/m-timezone.d.ts +14 -0
  279. package/dist/krill/modules/m-timezone.js +22 -0
  280. package/dist/krill/modules/machine-id.d.ts +15 -0
  281. package/dist/krill/modules/machine-id.js +30 -0
  282. package/dist/krill/modules/mkfs.d.ts +13 -0
  283. package/dist/krill/modules/mkfs.js +48 -0
  284. package/dist/krill/modules/mount-fs.d.ts +17 -0
  285. package/dist/krill/modules/mount-fs.js +60 -0
  286. package/dist/krill/modules/mount-vfs.d.ts +17 -0
  287. package/dist/krill/modules/mount-vfs.js +40 -0
  288. package/dist/krill/modules/network-cfg.d.ts +19 -0
  289. package/dist/krill/modules/network-cfg.js +64 -0
  290. package/dist/krill/modules/packages.d.ts +14 -0
  291. package/dist/krill/modules/packages.js +111 -0
  292. package/dist/krill/modules/partition.d.ts +20 -0
  293. package/dist/krill/modules/partition.js +324 -0
  294. package/dist/krill/modules/remove-installer-link.d.ts +13 -0
  295. package/dist/krill/modules/remove-installer-link.js +35 -0
  296. package/dist/krill/modules/umount.d.ts +14 -0
  297. package/dist/krill/modules/umount.js +27 -0
  298. package/dist/krill/modules/unpackfs.d.ts +13 -0
  299. package/dist/krill/modules/unpackfs.js +19 -0
  300. package/dist/krill/prepare.d.ts +78 -0
  301. package/dist/krill/prepare.js +626 -0
  302. package/dist/krill/sequence.d.ts +159 -0
  303. package/dist/krill/sequence.js +687 -0
  304. package/dist/lib/get_address.d.ts +8 -0
  305. package/dist/lib/get_address.js +23 -0
  306. package/dist/lib/get_dns.d.ts +8 -0
  307. package/dist/lib/get_dns.js +23 -0
  308. package/dist/lib/get_domain.d.ts +8 -0
  309. package/dist/lib/get_domain.js +23 -0
  310. package/dist/lib/get_gateway.d.ts +8 -0
  311. package/dist/lib/get_gateway.js +23 -0
  312. package/dist/lib/get_hostname.d.ts +8 -0
  313. package/dist/lib/get_hostname.js +23 -0
  314. package/dist/lib/get_netmask.d.ts +8 -0
  315. package/dist/lib/get_netmask.js +23 -0
  316. package/dist/lib/get_password.d.ts +8 -0
  317. package/dist/lib/get_password.js +36 -0
  318. package/dist/lib/get_userfullname.d.ts +8 -0
  319. package/dist/lib/get_userfullname.js +23 -0
  320. package/dist/lib/get_username.d.ts +8 -0
  321. package/dist/lib/get_username.js +23 -0
  322. package/dist/lib/kill_me_softly.d.ts +11 -0
  323. package/dist/lib/kill_me_softly.js +61 -0
  324. package/dist/lib/select_address_type.d.ts +8 -0
  325. package/dist/lib/select_address_type.js +24 -0
  326. package/dist/lib/select_filesystem_type.d.ts +8 -0
  327. package/dist/lib/select_filesystem_type.js +45 -0
  328. package/dist/lib/select_installation_device.d.ts +8 -0
  329. package/dist/lib/select_installation_device.js +30 -0
  330. package/dist/lib/select_installation_mode.d.ts +8 -0
  331. package/dist/lib/select_installation_mode.js +24 -0
  332. package/dist/lib/select_interface.d.ts +8 -0
  333. package/dist/lib/select_interface.js +24 -0
  334. package/dist/lib/select_keyboard_layout.d.ts +11 -0
  335. package/dist/lib/select_keyboard_layout.js +36 -0
  336. package/dist/lib/select_keyboard_model.d.ts +11 -0
  337. package/dist/lib/select_keyboard_model.js +34 -0
  338. package/dist/lib/select_keyboard_option.d.ts +11 -0
  339. package/dist/lib/select_keyboard_option.js +34 -0
  340. package/dist/lib/select_keyboard_variant.d.ts +11 -0
  341. package/dist/lib/select_keyboard_variant.js +35 -0
  342. package/dist/lib/select_languages.d.ts +8 -0
  343. package/dist/lib/select_languages.js +28 -0
  344. package/dist/lib/select_regions.d.ts +8 -0
  345. package/dist/lib/select_regions.js +24 -0
  346. package/dist/lib/select_user_swap_choice.d.ts +8 -0
  347. package/dist/lib/select_user_swap_choice.js +34 -0
  348. package/dist/lib/select_zones.d.ts +8 -0
  349. package/dist/lib/select_zones.js +518 -0
  350. package/dist/lib/utils.d.ts +34 -0
  351. package/dist/lib/utils.js +79 -0
  352. package/manpages/doc/man/eggs.1.gz +0 -0
  353. package/manpages/doc/man/eggs.html +21 -5
  354. package/mkinitfs/README.md +9 -0
  355. package/package.json +4 -4
  356. package/scripts/_eggs +9 -2
  357. package/scripts/eggs.bash +2 -1
  358. package/addons/eggs/ichoice/applications/eggs-ichoice.desktop +0 -23
  359. package/addons/eggs/ichoice/bin/eggs-ichoice.sh +0 -44
  360. package/scripts/love +0 -25
  361. /package/{addons/eggs/adapt/bin/adapt → scripts/adapt.sh} +0 -0
@@ -0,0 +1,52 @@
1
+ /**
2
+ * ./src/commands/wardrobe/get.ts
3
+ * penguins-eggs v.10.0.0 / ecmascript 2020
4
+ * author: Piero Proietti
5
+ * email: piero.proietti@gmail.com
6
+ * license: MIT
7
+ */
8
+ import { Args, Command, Flags } from '@oclif/core';
9
+ import { basename } from 'node:path';
10
+ import Utils from '../../classes/utils.js';
11
+ // libraries
12
+ import { exec } from '../../lib/utils.js';
13
+ /**
14
+ *
15
+ */
16
+ export default class Get extends Command {
17
+ static args = {
18
+ repo: Args.string({ description: 'repository to get', name: 'repo', required: false })
19
+ };
20
+ // static args ={name: 'repo', description: 'repository to get', required: false}
21
+ static description = 'get warorobe';
22
+ static examples = ['eggs wardrobe get', 'eggs wardrobe get your-wardrobe'];
23
+ static flags = {
24
+ help: Flags.help({ char: 'h' }),
25
+ verbose: Flags.boolean({ char: 'v' })
26
+ };
27
+ async run() {
28
+ const { args, flags } = await this.parse(Get);
29
+ let verbose = false;
30
+ if (flags.verbose) {
31
+ verbose = true;
32
+ }
33
+ const echo = Utils.setEcho(verbose);
34
+ Utils.titles(this.id + ' ' + this.argv);
35
+ let repo = 'https://github.com/pieroproietti/penguins-wardrobe';
36
+ if (this.argv['0'] !== undefined) {
37
+ repo = this.argv['0'];
38
+ }
39
+ // No sudo for get
40
+ if (process.getuid && process.getuid() === 0) {
41
+ Utils.warning('You must run: eggs wardrobe get without sudo');
42
+ process.exit(0);
43
+ }
44
+ const wardrobe = basename(repo); // ~/.eggs-wardrobe
45
+ // git clone -b <branchname> --single-branch
46
+ // const result = await exec(`git clone -b devel --single-branch --depth 1 ${repo} ${await Utils.wardrobe()}`)
47
+ const result = await exec(`git clone --single-branch --depth 1 ${repo} ${await Utils.wardrobe()}`);
48
+ if (result.code === 0) {
49
+ Utils.warning(`you get new wardrobe from repo: ${repo} in ${await Utils.wardrobe()}`);
50
+ }
51
+ }
52
+ }
@@ -0,0 +1,24 @@
1
+ /**
2
+ * ./src/commands/wardrobe/list.ts
3
+ * penguins-eggs v.10.0.0 / ecmascript 2020
4
+ * author: Piero Proietti
5
+ * email: piero.proietti@gmail.com
6
+ * license: MIT
7
+ */
8
+ import { Command } from '@oclif/core';
9
+ /**
10
+ *
11
+ */
12
+ export default class List extends Command {
13
+ static args: {
14
+ repo: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
15
+ };
16
+ static description: string;
17
+ static examples: string[];
18
+ static flags: {
19
+ distro: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
20
+ help: import("@oclif/core/interfaces").BooleanFlag<void>;
21
+ verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
22
+ };
23
+ run(): Promise<void>;
24
+ }
@@ -0,0 +1,125 @@
1
+ /**
2
+ * ./src/commands/wardrobe/list.ts
3
+ * penguins-eggs v.10.0.0 / ecmascript 2020
4
+ * author: Piero Proietti
5
+ * email: piero.proietti@gmail.com
6
+ * license: MIT
7
+ */
8
+ import { Args, Command, Flags } from '@oclif/core';
9
+ // libraries
10
+ import chalk from 'chalk';
11
+ import yaml from 'js-yaml';
12
+ import fs from 'node:fs';
13
+ import path from 'node:path';
14
+ import Distro from '../../classes/distro.js';
15
+ import Utils from '../../classes/utils.js';
16
+ /**
17
+ *
18
+ */
19
+ export default class List extends Command {
20
+ static args = {
21
+ repo: Args.string({ description: 'wardrobe to get', name: 'wardrobe', required: false })
22
+ };
23
+ // static args = [{ name: 'wardrobe', description: 'wardrobe', required: false }]
24
+ static description = 'list costumes and accessoires in wardrobe';
25
+ static examples = ['eggs wardrobe list', 'eggs wardrobe list your-wardrobe', 'eggs wardrobe list --distro arch'];
26
+ static flags = {
27
+ distro: Flags.string({ char: 'd', description: 'distro' }),
28
+ help: Flags.help({ char: 'h' }),
29
+ verbose: Flags.boolean({ char: 'v' })
30
+ };
31
+ async run() {
32
+ const { args, flags } = await this.parse(List);
33
+ let verbose = false;
34
+ if (flags.verbose) {
35
+ verbose = true;
36
+ }
37
+ const echo = Utils.setEcho(verbose);
38
+ Utils.titles(this.id + ' ' + this.argv);
39
+ /**
40
+ * wardobe
41
+ */
42
+ let wardrobe = await Utils.wardrobe();
43
+ if (flags.distro === undefined && this.argv['0'] !== undefined) {
44
+ wardrobe = this.argv['0'];
45
+ }
46
+ /**
47
+ * seleziona distro
48
+ */
49
+ let index = '';
50
+ const distro = new Distro();
51
+ switch (distro.distroLike) {
52
+ case 'Arch': {
53
+ index = 'arch';
54
+ break;
55
+ }
56
+ case 'Debian':
57
+ case 'Devuan': {
58
+ index = 'debian';
59
+ break;
60
+ }
61
+ case 'Ubuntu': {
62
+ index = 'ubuntu';
63
+ break;
64
+ }
65
+ // No default
66
+ }
67
+ if (flags.distro !== undefined) {
68
+ index = flags.distro;
69
+ }
70
+ index += '.yml';
71
+ console.log(chalk.green('wardrobe: ') + wardrobe);
72
+ console.log();
73
+ wardrobe = `${path.resolve(process.cwd(), wardrobe)}/`;
74
+ if (!fs.existsSync(wardrobe)) {
75
+ Utils.warning(`wardrobe: ${wardrobe} not found!`);
76
+ process.exit();
77
+ }
78
+ /**
79
+ * costumes
80
+ */
81
+ const costumes = fs.readdirSync(`${wardrobe}costumes/`);
82
+ console.log(chalk.green('costumes: '));
83
+ for (const costume of costumes) {
84
+ if (fs.existsSync(`${wardrobe}costumes/${costume}/${index}`)) {
85
+ const materials = yaml.load(fs.readFileSync(`${wardrobe}costumes/${costume}/${index}`, 'utf8'));
86
+ console.log('- ' + chalk.cyan(costume) + ': ' + materials.description);
87
+ }
88
+ }
89
+ console.log();
90
+ /**
91
+ * accessories
92
+ */
93
+ const accessories = fs.readdirSync(`${wardrobe}/accessories/`);
94
+ console.log(chalk.green('accessories: '));
95
+ for (const accessory of accessories) {
96
+ if (fs.existsSync(`${wardrobe}/accessories/${accessory}/${index}`)) {
97
+ const materials = yaml.load(fs.readFileSync(`${wardrobe}/accessories/${accessory}/${index}`, 'utf8'));
98
+ console.log('- ' + chalk.cyan(accessory) + ': ' + materials.description);
99
+ }
100
+ }
101
+ console.log();
102
+ /**
103
+ * servers
104
+ */
105
+ const servers = fs.readdirSync(`${wardrobe}/servers/`);
106
+ console.log(chalk.green('servers: '));
107
+ for (const server of servers) {
108
+ if (fs.existsSync(`${wardrobe}/servers/${server}/${index}`)) {
109
+ const materials = yaml.load(fs.readFileSync(`${wardrobe}/servers/${server}/${index}`, 'utf8'));
110
+ console.log('- ' + chalk.cyan(server) + ': ' + materials.description);
111
+ }
112
+ }
113
+ console.log();
114
+ /**
115
+ * vendors
116
+ */
117
+ const vendors = fs.readdirSync(`${wardrobe}/vendors/`);
118
+ console.log(chalk.green('vendors/themes: '));
119
+ for (const vendor of vendors) {
120
+ if (fs.existsSync(`${wardrobe}/vendors/${vendor}/theme`)) {
121
+ console.log('- ' + chalk.cyan(vendor));
122
+ }
123
+ }
124
+ }
125
+ }
@@ -0,0 +1,25 @@
1
+ /**
2
+ * ./src/commands/wardrobe/show.ts
3
+ * penguins-eggs v.10.0.0 / ecmascript 2020
4
+ * author: Piero Proietti
5
+ * email: piero.proietti@gmail.com
6
+ * license: MIT
7
+ */
8
+ import { Command } from '@oclif/core';
9
+ /**
10
+ *
11
+ */
12
+ export default class Show extends Command {
13
+ static args: {
14
+ repo: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
15
+ };
16
+ static description: string;
17
+ static example: string[];
18
+ static flags: {
19
+ help: import("@oclif/core/interfaces").BooleanFlag<void>;
20
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
21
+ verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
22
+ wardrobe: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
23
+ };
24
+ run(): Promise<void>;
25
+ }
@@ -0,0 +1,97 @@
1
+ /**
2
+ * ./src/commands/wardrobe/show.ts
3
+ * penguins-eggs v.10.0.0 / ecmascript 2020
4
+ * author: Piero Proietti
5
+ * email: piero.proietti@gmail.com
6
+ * license: MIT
7
+ */
8
+ // libraries
9
+ import { Args, Command, Flags } from '@oclif/core';
10
+ import chalk from 'chalk';
11
+ import yaml from 'js-yaml';
12
+ import fs from 'node:fs';
13
+ import path from 'node:path';
14
+ import Distro from '../../classes/distro.js';
15
+ import Utils from '../../classes/utils.js';
16
+ /**
17
+ *
18
+ */
19
+ export default class Show extends Command {
20
+ static args = {
21
+ repo: Args.string({ description: 'costume to show', name: 'costume', required: false })
22
+ };
23
+ static description = 'show costumes/accessories in wardrobe';
24
+ // static args = [{ name: 'costume', description: 'costume', required: false }]
25
+ static example = ['eggs wardrobe show colibri', 'eggs wardrobe show accessories/firmwares', 'eggs wardrobe show accessories/'];
26
+ static flags = {
27
+ help: Flags.help({ char: 'h' }),
28
+ json: Flags.boolean({ char: 'j', description: 'output JSON' }),
29
+ verbose: Flags.boolean({ char: 'v' }),
30
+ wardrobe: Flags.string({ char: 'w', description: 'wardrobe' })
31
+ };
32
+ async run() {
33
+ const { args, flags } = await this.parse(Show);
34
+ const { verbose } = flags;
35
+ const { json } = flags;
36
+ const echo = Utils.setEcho(verbose);
37
+ Utils.titles(this.id + ' ' + this.argv);
38
+ let wardrobe = await Utils.wardrobe();
39
+ if (flags.wardrobe !== undefined) {
40
+ wardrobe = flags.wardrobe;
41
+ }
42
+ wardrobe = `${path.resolve(process.cwd(), wardrobe)}/`;
43
+ if (!fs.existsSync(wardrobe)) {
44
+ Utils.warning(`wardrobe: ${wardrobe} not found!`);
45
+ process.exit();
46
+ }
47
+ console.log(chalk.green('wardrobe: ') + wardrobe);
48
+ /**
49
+ * costume
50
+ */
51
+ let costume = 'costumes/colibri';
52
+ if (this.argv['0'] !== undefined) {
53
+ costume = this.argv['0'];
54
+ if (costume.slice(0, 8) !== 'costumes' && costume.slice(0, 11) !== 'accessories' && costume.slice(0, 7) !== 'servers') {
55
+ costume = `costumes/${costume}`;
56
+ }
57
+ }
58
+ costume = wardrobe + costume;
59
+ if (!fs.existsSync(costume)) {
60
+ console.log(`costume: ${chalk.green(path.basename(costume))} not found in wardrobe: ${chalk.green(wardrobe)}`);
61
+ process.exit();
62
+ }
63
+ /**
64
+ * tailorList
65
+ */
66
+ const distro = new Distro();
67
+ let index = '';
68
+ switch (distro.distroLike) {
69
+ case 'Arch': {
70
+ index = 'arch.yml';
71
+ break;
72
+ }
73
+ case 'Debian':
74
+ case 'Devuan': {
75
+ index = 'debian.yml';
76
+ break;
77
+ }
78
+ case 'Debian': {
79
+ index = 'ubuntu.yml';
80
+ break;
81
+ }
82
+ // No default
83
+ }
84
+ const tailorList = `${costume}/${index}`;
85
+ if (!fs.existsSync(tailorList)) {
86
+ Utils.warning(`index.yml not found in : ${costume}!`);
87
+ process.exit();
88
+ }
89
+ const materials = yaml.load(fs.readFileSync(tailorList, 'utf8'));
90
+ if (json) {
91
+ console.log(JSON.stringify(materials, null, ' '));
92
+ }
93
+ else {
94
+ console.log(yaml.dump(materials));
95
+ }
96
+ }
97
+ }
@@ -0,0 +1,26 @@
1
+ /**
2
+ * ./src/commands/wardrobe/wear.ts
3
+ * penguins-eggs v.10.0.0 / ecmascript 2020
4
+ * author: Piero Proietti
5
+ * email: piero.proietti@gmail.com
6
+ * license: MIT
7
+ */
8
+ import { Command } from '@oclif/core';
9
+ /**
10
+ *
11
+ */
12
+ export default class Wear extends Command {
13
+ static args: {
14
+ repo: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
15
+ };
16
+ static description: string;
17
+ static examples: string[];
18
+ static flags: {
19
+ help: import("@oclif/core/interfaces").BooleanFlag<void>;
20
+ no_accessories: import("@oclif/core/interfaces").BooleanFlag<boolean>;
21
+ no_firmwares: import("@oclif/core/interfaces").BooleanFlag<boolean>;
22
+ verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
23
+ wardrobe: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
24
+ };
25
+ run(): Promise<void>;
26
+ }
@@ -0,0 +1,81 @@
1
+ /**
2
+ * ./src/commands/wardrobe/wear.ts
3
+ * penguins-eggs v.10.0.0 / ecmascript 2020
4
+ * author: Piero Proietti
5
+ * email: piero.proietti@gmail.com
6
+ * license: MIT
7
+ */
8
+ import { Args, Command, Flags } from '@oclif/core';
9
+ import chalk from 'chalk';
10
+ import fs from 'node:fs';
11
+ import path from 'node:path';
12
+ import Tailor from '../../classes/tailor.js';
13
+ import Utils from '../../classes/utils.js';
14
+ /**
15
+ *
16
+ */
17
+ export default class Wear extends Command {
18
+ static args = {
19
+ repo: Args.string({ description: 'costume to wear', name: 'costume', required: false })
20
+ };
21
+ static description = 'wear costume/accessories from wardrobe';
22
+ static examples = ['sudo eggs wardrobe wear duck', 'sudo eggs wardrobe wear accessories/firmwares', 'sudo eggs wardrobe wear wagtail/waydroid'];
23
+ static flags = {
24
+ help: Flags.help({ char: 'h' }),
25
+ no_accessories: Flags.boolean({ char: 'a', description: 'not install accessories' }),
26
+ no_firmwares: Flags.boolean({ char: 'f', description: 'not install firmwares' }),
27
+ verbose: Flags.boolean({ char: 'v' }),
28
+ wardrobe: Flags.string({ char: 'w', description: 'wardrobe' })
29
+ };
30
+ async run() {
31
+ const { argv, flags } = await this.parse(Wear);
32
+ const { verbose } = flags;
33
+ Utils.titles(this.id + ' ' + this.argv);
34
+ let no_accessories = false;
35
+ if (flags.no_accessories) {
36
+ no_accessories = true;
37
+ }
38
+ let no_firmwares = false;
39
+ if (flags.no_firmwares) {
40
+ no_firmwares = true;
41
+ }
42
+ let wardrobe = await Utils.wardrobe();
43
+ if (flags.wardrobe !== undefined) {
44
+ wardrobe = flags.wardrobe;
45
+ }
46
+ wardrobe = `${path.resolve(process.cwd(), wardrobe)}/`;
47
+ if (!fs.existsSync(wardrobe)) {
48
+ Utils.warning(`wardrobe: ${wardrobe} not found!`);
49
+ process.exit();
50
+ }
51
+ console.log(chalk.green('wardrobe: ') + wardrobe);
52
+ /**
53
+ * costume
54
+ */
55
+ let costume = 'costumes/colibri';
56
+ if (this.argv['0'] !== undefined) {
57
+ costume = this.argv['0']; // 12345678 12345678901 1234567
58
+ if (costume.slice(0, 8) !== 'costumes' && costume.slice(0, 11) !== 'accessories' && costume.slice(0, 7) !== 'servers') {
59
+ costume = `costumes/${costume}`;
60
+ }
61
+ }
62
+ costume = wardrobe + costume;
63
+ console.log(costume);
64
+ if (!fs.existsSync(costume)) {
65
+ Utils.warning(`costume not found in : ${costume}!`);
66
+ process.exit();
67
+ }
68
+ if (await Utils.customConfirm(`Prepare your costume: ${costume}? Select yes to continue...`)) {
69
+ if (Utils.isRoot()) {
70
+ const tailor = new Tailor(costume);
71
+ await tailor.prepare(verbose, no_accessories, no_firmwares);
72
+ }
73
+ else {
74
+ Utils.useRoot(this.id);
75
+ }
76
+ }
77
+ else {
78
+ console.log('costume ' + chalk.cyan(costume) + ' not found in wardrobe: ' + chalk.green(wardrobe));
79
+ }
80
+ }
81
+ }
@@ -0,0 +1,15 @@
1
+ /**
2
+ * ./src/components/finished.tsx
3
+ * penguins-eggs v.10.0.0 / ecmascript 2020
4
+ * author: Piero Proietti
5
+ * email: piero.proietti@gmail.com
6
+ * license: MIT
7
+ */
8
+ import React from 'react';
9
+ type FinishedProps = {
10
+ installationDevice?: string;
11
+ hostName?: string;
12
+ userName?: string;
13
+ };
14
+ export default function Finished({ installationDevice, hostName, userName }: FinishedProps): React.JSX.Element;
15
+ export {};
@@ -0,0 +1,55 @@
1
+ /**
2
+ * ./src/components/finished.tsx
3
+ * penguins-eggs v.10.0.0 / ecmascript 2020
4
+ * author: Piero Proietti
5
+ * email: piero.proietti@gmail.com
6
+ * license: MIT
7
+ */
8
+ import React from 'react';
9
+ import { Box, Newline, Text } from 'ink';
10
+ import Title from './title.js';
11
+ import Steps from './steps.js';
12
+ import yaml from 'js-yaml';
13
+ import fs from 'fs';
14
+ export default function Finished({ installationDevice = '', hostName = '', userName = '' }) {
15
+ let productName = 'unknown';
16
+ let version = 'x.x.x';
17
+ let configRoot = '/etc/penguins-eggs.d/krill/'; // krill
18
+ if (fs.existsSync('/etc/calamares/settings.conf')) {
19
+ configRoot = '/etc/calamares/';
20
+ }
21
+ const settings = yaml.load(fs.readFileSync(configRoot + 'settings.conf', 'utf-8'));
22
+ const branding = settings.branding;
23
+ const calamares = yaml.load(fs.readFileSync(configRoot + 'branding/' + branding + '/branding.desc', 'utf-8'));
24
+ productName = calamares.strings.productName;
25
+ version = calamares.strings.version;
26
+ /**
27
+ * totale width=74
28
+ * step width=15
29
+ * finestra with=59
30
+ */
31
+ const [activeField, setActiveField] = React.useState(0);
32
+ const [submission, setSubmission] = React.useState();
33
+ return (React.createElement(React.Fragment, null,
34
+ React.createElement(Title, null),
35
+ React.createElement(Box, { width: 74, height: 11, borderStyle: "round", flexDirection: "column" },
36
+ React.createElement(Box, { flexDirection: "column" },
37
+ React.createElement(Box, { flexDirection: "row" },
38
+ React.createElement(Steps, { step: 9 }),
39
+ React.createElement(Box, { flexDirection: "column" },
40
+ React.createElement(Box, null,
41
+ React.createElement(Text, { backgroundColor: "white", color: 'black' }, "Installation is finished!")),
42
+ React.createElement(Newline, null),
43
+ React.createElement(Box, null,
44
+ React.createElement(Text, null, "Your system was installed on "),
45
+ React.createElement(Text, { color: "green" }, installationDevice)),
46
+ React.createElement(Box, null,
47
+ React.createElement(Text, null, "Host name was set as "),
48
+ React.createElement(Text, { color: "green" }, hostName)),
49
+ React.createElement(Box, null,
50
+ React.createElement(Text, null, "The user name is "),
51
+ React.createElement(Text, { color: "green" }, userName)),
52
+ React.createElement(Newline, null),
53
+ React.createElement(Box, null,
54
+ React.createElement(Text, null, "Press a key to reboot"))))))));
55
+ }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * ./src/components/information.tsx
3
+ * penguins-eggs v.10.0.0 / ecmascript 2020
4
+ * author: Piero Proietti
5
+ * email: piero.proietti@gmail.com
6
+ * license: MIT
7
+ */
8
+ export default function information(verbose?: boolean): Promise<void>;
@@ -0,0 +1,153 @@
1
+ /**
2
+ * ./src/components/information.tsx
3
+ * penguins-eggs v.10.0.0 / ecmascript 2020
4
+ * author: Piero Proietti
5
+ * email: piero.proietti@gmail.com
6
+ * license: MIT
7
+ */
8
+ import shx from 'shelljs';
9
+ import React from 'react';
10
+ import Settings from '../classes/settings.js';
11
+ import Pacman from '../classes/pacman.js';
12
+ import Utils from '../classes/utils.js';
13
+ import Title from './title.js';
14
+ import { render, Text, Box } from 'ink';
15
+ export default async function information(verbose = false) {
16
+ const echo = Utils.setEcho(verbose);
17
+ console.clear();
18
+ const settings = new Settings();
19
+ settings.load();
20
+ const Wait = () => (React.createElement(Box, { marginRight: 2 },
21
+ React.createElement(Box, { marginRight: 2 },
22
+ React.createElement(Text, null, " E G G S: the reproductive system of penguins"))));
23
+ render(React.createElement(Wait, null));
24
+ const Nest = () => (React.createElement(Box, { borderStyle: "round", marginRight: 2 },
25
+ React.createElement(Box, { marginRight: 2 },
26
+ React.createElement(Text, null,
27
+ "nest: ",
28
+ React.createElement(Text, { color: "cyan" }, settings.config.snapshot_dir))),
29
+ React.createElement(Box, { marginRight: 2 },
30
+ React.createElement(Text, null,
31
+ "name: ",
32
+ React.createElement(Text, { color: "cyan" },
33
+ settings.config.snapshot_prefix,
34
+ settings.config.snapshot_basename)))));
35
+ const Boot = () => (React.createElement(Box, { borderStyle: "round", marginRight: 2 },
36
+ React.createElement(Box, { marginRight: 2 },
37
+ React.createElement(Text, null,
38
+ "kernel: ",
39
+ React.createElement(Text, { color: "cyan" }, settings.kernel_image))),
40
+ React.createElement(Box, { marginRight: 2 },
41
+ React.createElement(Text, null,
42
+ "initrd.img: ",
43
+ React.createElement(Text, { color: "cyan" }, settings.initrd_image)))));
44
+ const Live = () => (React.createElement(Box, { borderStyle: "round", marginRight: 2 },
45
+ React.createElement(Box, { marginRight: 2 },
46
+ React.createElement(Text, null,
47
+ "live user/passwd: ",
48
+ React.createElement(Text, { color: "cyan" },
49
+ settings.config.user_opt,
50
+ "/",
51
+ settings.config.user_opt_passwd))),
52
+ React.createElement(Box, { marginRight: 2 },
53
+ React.createElement(Text, null,
54
+ "root passwd: ",
55
+ React.createElement(Text, { color: "cyan" }, settings.config.root_passwd)))));
56
+ const distroId = shx.exec('lsb_release -is', { silent: true }).stdout.trim();
57
+ const releaseId = shx.exec('lsb_release -rs', { silent: true }).stdout.trim();
58
+ const codenameId = shx.exec('lsb_release -cs', { silent: true }).stdout.trim();
59
+ const Distro = () => (React.createElement(Box, { flexDirection: 'column' },
60
+ React.createElement(Box, { borderStyle: "round", marginRight: 2, flexDirection: 'row' },
61
+ React.createElement(Box, { marginRight: 2 },
62
+ React.createElement(Text, null,
63
+ "distro: ",
64
+ React.createElement(Text, { color: "cyan" },
65
+ distroId,
66
+ " ",
67
+ releaseId,
68
+ " ",
69
+ codenameId))),
70
+ React.createElement(Box, { marginRight: 2 },
71
+ React.createElement(Text, null,
72
+ "compatible: ",
73
+ React.createElement(Text, { color: "cyan" },
74
+ settings.distro.distroLike,
75
+ " ",
76
+ settings.distro.codenameLikeId))))));
77
+ const configurations = Pacman.configurationCheck();
78
+ let uefi = Pacman.isUefi();
79
+ let installer = false;
80
+ if (Pacman.isInstalledGui()) {
81
+ installer = Pacman.calamaresExists();
82
+ }
83
+ const Ok = () => (React.createElement(Text, { backgroundColor: "green" }, "OK"));
84
+ const Ko = () => (React.createElement(Text, { backgroundColor: "red", color: "white" }, "KO"));
85
+ const CLI = () => (React.createElement(Text, { color: "cyan" }, "krill"));
86
+ const GUI = () => (React.createElement(Text, { color: "cyan" }, "calamares"));
87
+ let initType = '';
88
+ if (Utils.isSystemd()) {
89
+ initType = 'systemd';
90
+ }
91
+ else if (Utils.isOpenRc()) {
92
+ initType = 'openrc';
93
+ }
94
+ else if (Utils.isSysvinit()) {
95
+ initType = 'sysvinit';
96
+ }
97
+ const Checks = () => (React.createElement(Box, { borderStyle: "round", marginRight: 2, flexDirection: "row" },
98
+ React.createElement(Box, { marginRight: 2 },
99
+ React.createElement(Text, null,
100
+ "configurations: ",
101
+ configurations ? React.createElement(Ok, null) : React.createElement(Ko, null))),
102
+ React.createElement(Box, { marginRight: 2 },
103
+ React.createElement(Text, null,
104
+ "uefi: ",
105
+ uefi ? React.createElement(Ok, null) : React.createElement(Ko, null))),
106
+ React.createElement(Box, { marginRight: 2 },
107
+ React.createElement(Text, null,
108
+ "installer: ",
109
+ installer ? React.createElement(GUI, null) : React.createElement(CLI, null))),
110
+ React.createElement(Box, { marginRight: 2 },
111
+ React.createElement(Text, null,
112
+ "init system: ",
113
+ React.createElement(Text, { color: "cyan" }, initType)))));
114
+ const Presentation = () => (React.createElement(React.Fragment, null,
115
+ React.createElement(Box, null,
116
+ React.createElement(Text, null, " ")),
117
+ React.createElement(Box, { borderStyle: "round", marginRight: 2, flexDirection: "column" },
118
+ React.createElement(Box, null,
119
+ React.createElement(Text, { color: "cyan" }, "eggs install"),
120
+ React.createElement(Text, null, " install your CLI iso with TUI installer krill, on GUI prefere calamares")),
121
+ React.createElement(Box, null,
122
+ React.createElement(Text, { color: "cyan" }, "eggs wardrobe"),
123
+ React.createElement(Text, null, " build your personal system starting from cli")),
124
+ React.createElement(Box, null,
125
+ React.createElement(Text, null, " ")),
126
+ React.createElement(Box, { flexDirection: "row" },
127
+ React.createElement(Box, { marginRight: 1 },
128
+ React.createElement(Text, null, "Info: ")),
129
+ React.createElement(Box, { flexDirection: "column" },
130
+ React.createElement(Box, { marginRight: 2 },
131
+ React.createElement(Text, null, "blog "),
132
+ React.createElement(Text, { color: "cyan" }, "https://penguins-eggs.net")),
133
+ React.createElement(Box, { marginRight: 2 },
134
+ React.createElement(Text, null, "sources "),
135
+ React.createElement(Text, { color: "cyan" }, "https://github.com/pieroproietti/penguins-eggs")),
136
+ React.createElement(Box, { marginRight: 2 },
137
+ React.createElement(Text, null, "wardrobe "),
138
+ React.createElement(Text, { color: "cyan" }, "https://github.com/pieroproietti/penguins-wardrobe")))))));
139
+ /**
140
+ *
141
+ */
142
+ const Main = () => (React.createElement(React.Fragment, null,
143
+ React.createElement(Title, null),
144
+ React.createElement(Box, null,
145
+ React.createElement(Live, null),
146
+ React.createElement(Nest, null),
147
+ React.createElement(Boot, null)),
148
+ React.createElement(Box, null,
149
+ React.createElement(Distro, null),
150
+ React.createElement(Checks, null)),
151
+ React.createElement(Presentation, null)));
152
+ render(React.createElement(Main, null));
153
+ }