penguins-eggs 25.10.28 → 25.10.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 (452) hide show
  1. package/.oclif.manifest.json +1 -1
  2. package/addons/eggs/theme/applications/install-system.desktop +8 -6
  3. package/assets/calamares/io.calamares.calamares.policy +25 -0
  4. package/dist/classes/bleach.d.ts +37 -0
  5. package/dist/classes/bleach.js +148 -0
  6. package/dist/classes/cli-autologin.d.ts +52 -0
  7. package/dist/classes/cli-autologin.js +252 -0
  8. package/dist/classes/compressors.d.ts +54 -0
  9. package/dist/classes/compressors.js +109 -0
  10. package/dist/classes/daddy.d.ts +26 -0
  11. package/dist/classes/daddy.js +179 -0
  12. package/dist/classes/distro.d.ts +32 -0
  13. package/dist/classes/distro.js +363 -0
  14. package/dist/classes/diversions.d.ts +53 -0
  15. package/dist/classes/diversions.js +131 -0
  16. package/dist/classes/incubation/branding.d.ts +17 -0
  17. package/dist/classes/incubation/branding.js +85 -0
  18. package/dist/classes/incubation/customize/customize-partitions.d.ts +12 -0
  19. package/dist/classes/incubation/customize/customize-partitions.js +37 -0
  20. package/dist/classes/incubation/fisherman-helper/initcpio.d.ts +1 -0
  21. package/dist/classes/incubation/fisherman-helper/initcpio.js +69 -0
  22. package/dist/classes/incubation/fisherman-helper/packages.d.ts +20 -0
  23. package/dist/classes/incubation/fisherman-helper/packages.js +72 -0
  24. package/dist/classes/incubation/fisherman-helper/settings.d.ts +15 -0
  25. package/dist/classes/incubation/fisherman-helper/settings.js +116 -0
  26. package/dist/classes/incubation/fisherman.d.ts +71 -0
  27. package/dist/classes/incubation/fisherman.js +281 -0
  28. package/dist/classes/incubation/incubator.d/alpine.d.ts +32 -0
  29. package/dist/classes/incubation/incubator.d/alpine.js +78 -0
  30. package/dist/classes/incubation/incubator.d/archlinux.d.ts +32 -0
  31. package/dist/classes/incubation/incubator.d/archlinux.js +82 -0
  32. package/dist/classes/incubation/incubator.d/bionic.d.ts +32 -0
  33. package/dist/classes/incubation/incubator.d/bionic.js +83 -0
  34. package/dist/classes/incubation/incubator.d/buster.d.ts +32 -0
  35. package/dist/classes/incubation/incubator.d/buster.js +101 -0
  36. package/dist/classes/incubation/incubator.d/fedora.d.ts +32 -0
  37. package/dist/classes/incubation/incubator.d/fedora.js +81 -0
  38. package/dist/classes/incubation/incubator.d/focal.d.ts +32 -0
  39. package/dist/classes/incubation/incubator.d/focal.js +85 -0
  40. package/dist/classes/incubation/incubator.d/manjaro.d.ts +32 -0
  41. package/dist/classes/incubation/incubator.d/manjaro.js +82 -0
  42. package/dist/classes/incubation/incubator.d/noble.d.ts +32 -0
  43. package/dist/classes/incubation/incubator.d/noble.js +102 -0
  44. package/dist/classes/incubation/incubator.d/openmamba.d.ts +32 -0
  45. package/dist/classes/incubation/incubator.d/openmamba.js +81 -0
  46. package/dist/classes/incubation/incubator.d/opensuse.d.ts +32 -0
  47. package/dist/classes/incubation/incubator.d/opensuse.js +81 -0
  48. package/dist/classes/incubation/incubator.d/trixie.d.ts +32 -0
  49. package/dist/classes/incubation/incubator.d/trixie.js +98 -0
  50. package/dist/classes/incubation/incubator.d.ts +49 -0
  51. package/dist/classes/incubation/incubator.js +383 -0
  52. package/dist/classes/incubation/installer.d.ts +13 -0
  53. package/dist/classes/incubation/installer.js +52 -0
  54. package/dist/classes/keyboards.d.ts +50 -0
  55. package/dist/classes/keyboards.js +287 -0
  56. package/dist/classes/locales.d.ts +21 -0
  57. package/dist/classes/locales.js +77 -0
  58. package/dist/classes/network.d.ts +37 -0
  59. package/dist/classes/network.js +98 -0
  60. package/dist/classes/ovary.d/bind-live-fs.d.ts +18 -0
  61. package/dist/classes/ovary.d/bind-live-fs.js +185 -0
  62. package/dist/classes/ovary.d/bind-vfs.d.ts +17 -0
  63. package/dist/classes/ovary.d/bind-vfs.js +37 -0
  64. package/dist/classes/ovary.d/create-xdg-autostart.d.ts +13 -0
  65. package/dist/classes/ovary.d/create-xdg-autostart.js +193 -0
  66. package/dist/classes/ovary.d/edit-live-fs.d.ts +20 -0
  67. package/dist/classes/ovary.d/edit-live-fs.js +239 -0
  68. package/dist/classes/ovary.d/fertilization.d.ts +12 -0
  69. package/dist/classes/ovary.d/fertilization.js +53 -0
  70. package/dist/classes/ovary.d/finished.d.ts +13 -0
  71. package/dist/classes/ovary.d/finished.js +40 -0
  72. package/dist/classes/ovary.d/initrd.d.ts +21 -0
  73. package/dist/classes/ovary.d/initrd.js +96 -0
  74. package/dist/classes/ovary.d/kernel-copy.d.ts +12 -0
  75. package/dist/classes/ovary.d/kernel-copy.js +22 -0
  76. package/dist/classes/ovary.d/live-create-structure.d.ts +12 -0
  77. package/dist/classes/ovary.d/live-create-structure.js +70 -0
  78. package/dist/classes/ovary.d/luks-get-password.d.ts +12 -0
  79. package/dist/classes/ovary.d/luks-get-password.js +58 -0
  80. package/dist/classes/ovary.d/luks-helpers.d.ts +19 -0
  81. package/dist/classes/ovary.d/luks-helpers.js +73 -0
  82. package/dist/classes/ovary.d/luks-home-support.d.ts +12 -0
  83. package/dist/classes/ovary.d/luks-home-support.js +70 -0
  84. package/dist/classes/ovary.d/luks-home.d.ts +15 -0
  85. package/dist/classes/ovary.d/luks-home.js +132 -0
  86. package/dist/classes/ovary.d/luks-interactive-crypto-config.d.ts +47 -0
  87. package/dist/classes/ovary.d/luks-interactive-crypto-config.js +139 -0
  88. package/dist/classes/ovary.d/luks-root-initrd.d.ts +17 -0
  89. package/dist/classes/ovary.d/luks-root-initrd.js +213 -0
  90. package/dist/classes/ovary.d/luks-root.d.ts +15 -0
  91. package/dist/classes/ovary.d/luks-root.js +123 -0
  92. package/dist/classes/ovary.d/make-dot-disk.d.ts +12 -0
  93. package/dist/classes/ovary.d/make-dot-disk.js +71 -0
  94. package/dist/classes/ovary.d/make-efi.d.ts +14 -0
  95. package/dist/classes/ovary.d/make-efi.js +296 -0
  96. package/dist/classes/ovary.d/make-iso.d.ts +13 -0
  97. package/dist/classes/ovary.d/make-iso.js +45 -0
  98. package/dist/classes/ovary.d/make-squashfs.d.ts +18 -0
  99. package/dist/classes/ovary.d/make-squashfs.js +111 -0
  100. package/dist/classes/ovary.d/merged.d.ts +27 -0
  101. package/dist/classes/ovary.d/merged.js +78 -0
  102. package/dist/classes/ovary.d/produce.d.ts +23 -0
  103. package/dist/classes/ovary.d/produce.js +349 -0
  104. package/dist/classes/ovary.d/rexec.d.ts +13 -0
  105. package/dist/classes/ovary.d/rexec.js +34 -0
  106. package/dist/classes/ovary.d/syslinux.d.ts +12 -0
  107. package/dist/classes/ovary.d/syslinux.js +99 -0
  108. package/dist/classes/ovary.d/user-create-live.d.ts +14 -0
  109. package/dist/classes/ovary.d/user-create-live.js +97 -0
  110. package/dist/classes/ovary.d/users-remove.d.ts +9 -0
  111. package/dist/classes/ovary.d/users-remove.js +38 -0
  112. package/dist/classes/ovary.d/xorriso-command.d.ts +14 -0
  113. package/dist/classes/ovary.d/xorriso-command.js +125 -0
  114. package/dist/classes/ovary.d.ts +111 -0
  115. package/dist/classes/ovary.js +122 -0
  116. package/dist/classes/pacman.d/alpine.d.ts +56 -0
  117. package/dist/classes/pacman.d/alpine.js +167 -0
  118. package/dist/classes/pacman.d/archlinux.d.ts +62 -0
  119. package/dist/classes/pacman.d/archlinux.js +128 -0
  120. package/dist/classes/pacman.d/debian.d.ts +65 -0
  121. package/dist/classes/pacman.d/debian.js +143 -0
  122. package/dist/classes/pacman.d/fedora.d.ts +53 -0
  123. package/dist/classes/pacman.d/fedora.js +107 -0
  124. package/dist/classes/pacman.d/openmamba.d.ts +52 -0
  125. package/dist/classes/pacman.d/openmamba.js +106 -0
  126. package/dist/classes/pacman.d/opensuse.d.ts +53 -0
  127. package/dist/classes/pacman.d/opensuse.js +109 -0
  128. package/dist/classes/pacman.d.ts +139 -0
  129. package/dist/classes/pacman.js +683 -0
  130. package/dist/classes/pve-live.d.ts +17 -0
  131. package/dist/classes/pve-live.js +52 -0
  132. package/dist/classes/pxe.d.ts +76 -0
  133. package/dist/classes/pxe.js +353 -0
  134. package/dist/classes/settings.d.ts +52 -0
  135. package/dist/classes/settings.js +185 -0
  136. package/dist/classes/sources_list.d.ts +28 -0
  137. package/dist/classes/sources_list.js +89 -0
  138. package/dist/classes/systemctl.d.ts +47 -0
  139. package/dist/classes/systemctl.js +86 -0
  140. package/dist/classes/tailor.d.ts +50 -0
  141. package/dist/classes/tailor.js +563 -0
  142. package/dist/classes/tools.d.ts +26 -0
  143. package/dist/classes/tools.js +50 -0
  144. package/dist/classes/users.d.ts +28 -0
  145. package/dist/classes/users.js +143 -0
  146. package/dist/classes/utils.d/kernel.d.ts +39 -0
  147. package/dist/classes/utils.d/kernel.js +206 -0
  148. package/dist/classes/utils.d.ts +330 -0
  149. package/dist/classes/utils.js +968 -0
  150. package/dist/classes/xdg.d.ts +45 -0
  151. package/dist/classes/xdg.js +337 -0
  152. package/dist/classes/yolk.d.ts +33 -0
  153. package/dist/classes/yolk.js +114 -0
  154. package/dist/commands/adapt.d.ts +17 -0
  155. package/dist/commands/adapt.js +33 -0
  156. package/dist/commands/analyze.d.ts +26 -0
  157. package/dist/commands/analyze.js +95 -0
  158. package/dist/commands/calamares.d.ts +29 -0
  159. package/dist/commands/calamares.js +112 -0
  160. package/dist/commands/config.d.ts +35 -0
  161. package/dist/commands/config.js +120 -0
  162. package/dist/commands/cuckoo.d.ts +17 -0
  163. package/dist/commands/cuckoo.js +61 -0
  164. package/dist/commands/dad.d.ts +21 -0
  165. package/dist/commands/dad.js +47 -0
  166. package/dist/commands/export/iso.d.ts +19 -0
  167. package/dist/commands/export/iso.js +55 -0
  168. package/dist/commands/export/pkg.d.ts +29 -0
  169. package/dist/commands/export/pkg.js +173 -0
  170. package/dist/commands/export/tarballs.d.ts +27 -0
  171. package/dist/commands/export/tarballs.js +79 -0
  172. package/dist/commands/install.d.ts +39 -0
  173. package/dist/commands/install.js +113 -0
  174. package/dist/commands/kill.d.ts +24 -0
  175. package/dist/commands/kill.js +50 -0
  176. package/dist/commands/love.d.ts +25 -0
  177. package/dist/commands/love.js +118 -0
  178. package/dist/commands/mom.d.ts +16 -0
  179. package/dist/commands/mom.js +30 -0
  180. package/dist/commands/pods.d.ts +22 -0
  181. package/dist/commands/pods.js +92 -0
  182. package/dist/commands/produce.d.ts +37 -0
  183. package/dist/commands/produce.js +232 -0
  184. package/dist/commands/status.d.ts +23 -0
  185. package/dist/commands/status.js +31 -0
  186. package/dist/commands/tools/clean.d.ts +18 -0
  187. package/dist/commands/tools/clean.js +37 -0
  188. package/dist/commands/tools/repo.d.ts +31 -0
  189. package/dist/commands/tools/repo.js +246 -0
  190. package/dist/commands/tools/skel.d.ts +18 -0
  191. package/dist/commands/tools/skel.js +44 -0
  192. package/dist/commands/tools/stat.d.ts +31 -0
  193. package/dist/commands/tools/stat.js +70 -0
  194. package/dist/commands/tools/yolk.d.ts +24 -0
  195. package/dist/commands/tools/yolk.js +45 -0
  196. package/dist/commands/update.d.ts +46 -0
  197. package/dist/commands/update.js +238 -0
  198. package/dist/commands/wardrobe/get.d.ts +23 -0
  199. package/dist/commands/wardrobe/get.js +52 -0
  200. package/dist/commands/wardrobe/list.d.ts +24 -0
  201. package/dist/commands/wardrobe/list.js +125 -0
  202. package/dist/commands/wardrobe/show.d.ts +25 -0
  203. package/dist/commands/wardrobe/show.js +97 -0
  204. package/dist/commands/wardrobe/wear.d.ts +26 -0
  205. package/dist/commands/wardrobe/wear.js +84 -0
  206. package/dist/dhcpd-proxy/classes/packet.d.ts +36 -0
  207. package/dist/dhcpd-proxy/classes/packet.js +124 -0
  208. package/dist/dhcpd-proxy/index.d.ts +4 -0
  209. package/dist/dhcpd-proxy/index.js +4 -0
  210. package/dist/dhcpd-proxy/interfaces/i-pxe.d.ts +45 -0
  211. package/dist/dhcpd-proxy/interfaces/i-pxe.js +1 -0
  212. package/dist/dhcpd-proxy/lib/packet/converters.d.ts +11 -0
  213. package/dist/dhcpd-proxy/lib/packet/converters.js +395 -0
  214. package/dist/dhcpd-proxy/lib/packet/message-types.d.ts +10 -0
  215. package/dist/dhcpd-proxy/lib/packet/message-types.js +12 -0
  216. package/dist/dhcpd-proxy/lib/packet/options.d.ts +8 -0
  217. package/dist/dhcpd-proxy/lib/packet/options.js +264 -0
  218. package/dist/dhcpd-proxy/lib/sprintf.d.ts +6 -0
  219. package/dist/dhcpd-proxy/lib/sprintf.js +130 -0
  220. package/dist/dhcpd-proxy/lib/utils.d.ts +126 -0
  221. package/dist/dhcpd-proxy/lib/utils.js +255 -0
  222. package/dist/dhcpd-proxy/simple-proxy.d.ts +11 -0
  223. package/dist/dhcpd-proxy/simple-proxy.js +118 -0
  224. package/dist/index.d.ts +8 -0
  225. package/dist/index.js +8 -0
  226. package/dist/interfaces/calamares/i-calamares-bootloader.d.ts +23 -0
  227. package/dist/interfaces/calamares/i-calamares-bootloader.js +7 -0
  228. package/dist/interfaces/calamares/i-calamares-branding.d.ts +46 -0
  229. package/dist/interfaces/calamares/i-calamares-branding.js +1 -0
  230. package/dist/interfaces/calamares/i-calamares-displaymanager.d.ts +34 -0
  231. package/dist/interfaces/calamares/i-calamares-displaymanager.js +1 -0
  232. package/dist/interfaces/calamares/i-calamares-finished.d.ts +14 -0
  233. package/dist/interfaces/calamares/i-calamares-finished.js +1 -0
  234. package/dist/interfaces/calamares/i-calamares-packages.d.ts +26 -0
  235. package/dist/interfaces/calamares/i-calamares-packages.js +1 -0
  236. package/dist/interfaces/calamares/i-calamares-partitions.d.ts +39 -0
  237. package/dist/interfaces/calamares/i-calamares-partitions.js +1 -0
  238. package/dist/interfaces/calamares/i-calamares-settings.d.ts +36 -0
  239. package/dist/interfaces/calamares/i-calamares-settings.js +1 -0
  240. package/dist/interfaces/i-addons.d.ts +12 -0
  241. package/dist/interfaces/i-addons.js +8 -0
  242. package/dist/interfaces/i-analyze.d.ts +17 -0
  243. package/dist/interfaces/i-analyze.js +17 -0
  244. package/dist/interfaces/i-app.d.ts +14 -0
  245. package/dist/interfaces/i-app.js +8 -0
  246. package/dist/interfaces/i-config-tools.d.ts +15 -0
  247. package/dist/interfaces/i-config-tools.js +8 -0
  248. package/dist/interfaces/i-devices.d.ts +20 -0
  249. package/dist/interfaces/i-devices.js +8 -0
  250. package/dist/interfaces/i-distro.d.ts +23 -0
  251. package/dist/interfaces/i-distro.js +8 -0
  252. package/dist/interfaces/i-drive-list.d.ts +33 -0
  253. package/dist/interfaces/i-drive-list.js +8 -0
  254. package/dist/interfaces/i-eggs-config.d.ts +32 -0
  255. package/dist/interfaces/i-eggs-config.js +8 -0
  256. package/dist/interfaces/i-excludes.d.ts +14 -0
  257. package/dist/interfaces/i-excludes.js +8 -0
  258. package/dist/interfaces/i-exec.d.ts +11 -0
  259. package/dist/interfaces/i-exec.js +8 -0
  260. package/dist/interfaces/i-initrd.d.ts +13 -0
  261. package/dist/interfaces/i-initrd.js +8 -0
  262. package/dist/interfaces/i-install.d.ts +16 -0
  263. package/dist/interfaces/i-install.js +8 -0
  264. package/dist/interfaces/i-installer.d.ts +17 -0
  265. package/dist/interfaces/i-installer.js +8 -0
  266. package/dist/interfaces/i-luks-passphrase.d.ts +11 -0
  267. package/dist/interfaces/i-luks-passphrase.js +8 -0
  268. package/dist/interfaces/i-materia.d.ts +36 -0
  269. package/dist/interfaces/i-materia.js +8 -0
  270. package/dist/interfaces/i-net.d.ts +16 -0
  271. package/dist/interfaces/i-net.js +8 -0
  272. package/dist/interfaces/i-os-release.d.ts +5 -0
  273. package/dist/interfaces/i-os-release.js +1 -0
  274. package/dist/interfaces/i-packages.d.ts +16 -0
  275. package/dist/interfaces/i-packages.js +8 -0
  276. package/dist/interfaces/i-partitions.d.ts +16 -0
  277. package/dist/interfaces/i-partitions.js +8 -0
  278. package/dist/interfaces/i-pxe.d.ts +45 -0
  279. package/dist/interfaces/i-pxe.js +1 -0
  280. package/dist/interfaces/i-remix.d.ts +21 -0
  281. package/dist/interfaces/i-remix.js +8 -0
  282. package/dist/interfaces/i-settings.d.ts +33 -0
  283. package/dist/interfaces/i-settings.js +8 -0
  284. package/dist/interfaces/i-user.d.ts +14 -0
  285. package/dist/interfaces/i-user.js +8 -0
  286. package/dist/interfaces/i-workdir.d.ts +14 -0
  287. package/dist/interfaces/i-workdir.js +8 -0
  288. package/dist/interfaces/i-xkb-model.d.ts +24 -0
  289. package/dist/interfaces/i-xkb-model.js +8 -0
  290. package/dist/interfaces/index.d.ts +26 -0
  291. package/dist/interfaces/index.js +8 -0
  292. package/dist/krill/classes/cfs.d.ts +17 -0
  293. package/dist/krill/classes/cfs.js +39 -0
  294. package/dist/krill/classes/krill_enums.d.ts +37 -0
  295. package/dist/krill/classes/krill_enums.js +41 -0
  296. package/dist/krill/classes/prepare.d/confirm.d.ts +5 -0
  297. package/dist/krill/classes/prepare.d/confirm.js +30 -0
  298. package/dist/krill/classes/prepare.d/keyboard.d.ts +14 -0
  299. package/dist/krill/classes/prepare.d/keyboard.js +62 -0
  300. package/dist/krill/classes/prepare.d/location.d.ts +17 -0
  301. package/dist/krill/classes/prepare.d/location.js +59 -0
  302. package/dist/krill/classes/prepare.d/network.d.ts +14 -0
  303. package/dist/krill/classes/prepare.d/network.js +68 -0
  304. package/dist/krill/classes/prepare.d/partitions.d.ts +14 -0
  305. package/dist/krill/classes/prepare.d/partitions.js +86 -0
  306. package/dist/krill/classes/prepare.d/summary.d.ts +15 -0
  307. package/dist/krill/classes/prepare.d/summary.js +72 -0
  308. package/dist/krill/classes/prepare.d/users.d.ts +6 -0
  309. package/dist/krill/classes/prepare.d/users.js +63 -0
  310. package/dist/krill/classes/prepare.d/welcome.d.ts +6 -0
  311. package/dist/krill/classes/prepare.d/welcome.js +30 -0
  312. package/dist/krill/classes/prepare.d.ts +89 -0
  313. package/dist/krill/classes/prepare.js +319 -0
  314. package/dist/krill/classes/sequence.d/add_user.d.ts +20 -0
  315. package/dist/krill/classes/sequence.d/add_user.js +77 -0
  316. package/dist/krill/classes/sequence.d/bootloader.d.ts +14 -0
  317. package/dist/krill/classes/sequence.d/bootloader.js +117 -0
  318. package/dist/krill/classes/sequence.d/bootloader_config.d.ts +14 -0
  319. package/dist/krill/classes/sequence.d/bootloader_config.js +192 -0
  320. package/dist/krill/classes/sequence.d/change_password.d.ts +15 -0
  321. package/dist/krill/classes/sequence.d/change_password.js +18 -0
  322. package/dist/krill/classes/sequence.d/del_live_user.d.ts +14 -0
  323. package/dist/krill/classes/sequence.d/del_live_user.js +39 -0
  324. package/dist/krill/classes/sequence.d/fstab.d.ts +14 -0
  325. package/dist/krill/classes/sequence.d/fstab.js +177 -0
  326. package/dist/krill/classes/sequence.d/grubcfg.d.ts +17 -0
  327. package/dist/krill/classes/sequence.d/grubcfg.js +35 -0
  328. package/dist/krill/classes/sequence.d/hostname.d.ts +13 -0
  329. package/dist/krill/classes/sequence.d/hostname.js +50 -0
  330. package/dist/krill/classes/sequence.d/initramfs.d.ts +13 -0
  331. package/dist/krill/classes/sequence.d/initramfs.js +54 -0
  332. package/dist/krill/classes/sequence.d/initramfs_cfg.d.ts +14 -0
  333. package/dist/krill/classes/sequence.d/initramfs_cfg.js +35 -0
  334. package/dist/krill/classes/sequence.d/locale.d.ts +13 -0
  335. package/dist/krill/classes/sequence.d/locale.js +91 -0
  336. package/dist/krill/classes/sequence.d/locale_cfg.d.ts +10 -0
  337. package/dist/krill/classes/sequence.d/locale_cfg.js +58 -0
  338. package/dist/krill/classes/sequence.d/m_keyboard.d.ts +14 -0
  339. package/dist/krill/classes/sequence.d/m_keyboard.js +58 -0
  340. package/dist/krill/classes/sequence.d/machine_id.d.ts +15 -0
  341. package/dist/krill/classes/sequence.d/machine_id.js +33 -0
  342. package/dist/krill/classes/sequence.d/mkfs.d.ts +15 -0
  343. package/dist/krill/classes/sequence.d/mkfs.js +88 -0
  344. package/dist/krill/classes/sequence.d/mount_fs.d.ts +17 -0
  345. package/dist/krill/classes/sequence.d/mount_fs.js +68 -0
  346. package/dist/krill/classes/sequence.d/mount_vfs.d.ts +17 -0
  347. package/dist/krill/classes/sequence.d/mount_vfs.js +59 -0
  348. package/dist/krill/classes/sequence.d/network_cfg.d.ts +19 -0
  349. package/dist/krill/classes/sequence.d/network_cfg.js +73 -0
  350. package/dist/krill/classes/sequence.d/packages.d.ts +14 -0
  351. package/dist/krill/classes/sequence.d/packages.js +111 -0
  352. package/dist/krill/classes/sequence.d/partition.d/bios_luks.d.ts +17 -0
  353. package/dist/krill/classes/sequence.d/partition.d/bios_luks.js +73 -0
  354. package/dist/krill/classes/sequence.d/partition.d/bios_standard.d.ts +16 -0
  355. package/dist/krill/classes/sequence.d/partition.d/bios_standard.js +51 -0
  356. package/dist/krill/classes/sequence.d/partition.d/uefi_luks.d.ts +17 -0
  357. package/dist/krill/classes/sequence.d/partition.d/uefi_luks.js +77 -0
  358. package/dist/krill/classes/sequence.d/partition.d/uefi_standard.d.ts +10 -0
  359. package/dist/krill/classes/sequence.d/partition.d/uefi_standard.js +33 -0
  360. package/dist/krill/classes/sequence.d/partition.d.ts +14 -0
  361. package/dist/krill/classes/sequence.d/partition.js +84 -0
  362. package/dist/krill/classes/sequence.d/remove_installer_link.d.ts +13 -0
  363. package/dist/krill/classes/sequence.d/remove_installer_link.js +35 -0
  364. package/dist/krill/classes/sequence.d/umount.d.ts +14 -0
  365. package/dist/krill/classes/sequence.d/umount.js +28 -0
  366. package/dist/krill/classes/sequence.d/unpackfs.d.ts +13 -0
  367. package/dist/krill/classes/sequence.d/unpackfs.js +20 -0
  368. package/dist/krill/classes/sequence.d.ts +134 -0
  369. package/dist/krill/classes/sequence.js +400 -0
  370. package/dist/krill/components/finished.d.ts +16 -0
  371. package/dist/krill/components/finished.js +56 -0
  372. package/dist/krill/components/information.d.ts +8 -0
  373. package/dist/krill/components/information.js +162 -0
  374. package/dist/krill/components/install.d.ts +15 -0
  375. package/dist/krill/components/install.js +60 -0
  376. package/dist/krill/components/keyboard.d.ts +16 -0
  377. package/dist/krill/components/keyboard.js +54 -0
  378. package/dist/krill/components/location.d.ts +16 -0
  379. package/dist/krill/components/location.js +59 -0
  380. package/dist/krill/components/network.d.ts +19 -0
  381. package/dist/krill/components/network.js +65 -0
  382. package/dist/krill/components/partitions.d.ts +18 -0
  383. package/dist/krill/components/partitions.js +89 -0
  384. package/dist/krill/components/steps.d.ts +13 -0
  385. package/dist/krill/components/steps.js +148 -0
  386. package/dist/krill/components/summary.d.ts +25 -0
  387. package/dist/krill/components/summary.js +77 -0
  388. package/dist/krill/components/title.d.ts +11 -0
  389. package/dist/krill/components/title.js +35 -0
  390. package/dist/krill/components/users.d.ts +24 -0
  391. package/dist/krill/components/users.js +80 -0
  392. package/dist/krill/components/welcome.d.ts +13 -0
  393. package/dist/krill/components/welcome.js +63 -0
  394. package/dist/krill/interfaces/i_krill.d.ts +44 -0
  395. package/dist/krill/interfaces/i_krill.js +8 -0
  396. package/dist/krill/interfaces/i_krill_config.d.ts +35 -0
  397. package/dist/krill/interfaces/i_krill_config.js +8 -0
  398. package/dist/krill/lib/get_address.d.ts +8 -0
  399. package/dist/krill/lib/get_address.js +23 -0
  400. package/dist/krill/lib/get_dns.d.ts +8 -0
  401. package/dist/krill/lib/get_dns.js +23 -0
  402. package/dist/krill/lib/get_domain.d.ts +8 -0
  403. package/dist/krill/lib/get_domain.js +23 -0
  404. package/dist/krill/lib/get_gateway.d.ts +8 -0
  405. package/dist/krill/lib/get_gateway.js +23 -0
  406. package/dist/krill/lib/get_hostname.d.ts +8 -0
  407. package/dist/krill/lib/get_hostname.js +23 -0
  408. package/dist/krill/lib/get_luks_passphrase.d.ts +8 -0
  409. package/dist/krill/lib/get_luks_passphrase.js +32 -0
  410. package/dist/krill/lib/get_netmask.d.ts +8 -0
  411. package/dist/krill/lib/get_netmask.js +23 -0
  412. package/dist/krill/lib/get_password.d.ts +8 -0
  413. package/dist/krill/lib/get_password.js +36 -0
  414. package/dist/krill/lib/get_userfullname.d.ts +8 -0
  415. package/dist/krill/lib/get_userfullname.js +23 -0
  416. package/dist/krill/lib/get_username.d.ts +8 -0
  417. package/dist/krill/lib/get_username.js +23 -0
  418. package/dist/krill/lib/select_address_type.d.ts +8 -0
  419. package/dist/krill/lib/select_address_type.js +24 -0
  420. package/dist/krill/lib/select_filesystem_type.d.ts +8 -0
  421. package/dist/krill/lib/select_filesystem_type.js +40 -0
  422. package/dist/krill/lib/select_installation_device.d.ts +8 -0
  423. package/dist/krill/lib/select_installation_device.js +40 -0
  424. package/dist/krill/lib/select_installation_mode.d.ts +9 -0
  425. package/dist/krill/lib/select_installation_mode.js +25 -0
  426. package/dist/krill/lib/select_interface.d.ts +8 -0
  427. package/dist/krill/lib/select_interface.js +24 -0
  428. package/dist/krill/lib/select_keyboard_layout.d.ts +11 -0
  429. package/dist/krill/lib/select_keyboard_layout.js +36 -0
  430. package/dist/krill/lib/select_keyboard_model.d.ts +11 -0
  431. package/dist/krill/lib/select_keyboard_model.js +34 -0
  432. package/dist/krill/lib/select_keyboard_option.d.ts +11 -0
  433. package/dist/krill/lib/select_keyboard_option.js +34 -0
  434. package/dist/krill/lib/select_keyboard_variant.d.ts +11 -0
  435. package/dist/krill/lib/select_keyboard_variant.js +35 -0
  436. package/dist/krill/lib/select_languages.d.ts +8 -0
  437. package/dist/krill/lib/select_languages.js +28 -0
  438. package/dist/krill/lib/select_regions.d.ts +8 -0
  439. package/dist/krill/lib/select_regions.js +24 -0
  440. package/dist/krill/lib/select_replaced_partition.d.ts +8 -0
  441. package/dist/krill/lib/select_replaced_partition.js +31 -0
  442. package/dist/krill/lib/select_user_swap_choice.d.ts +9 -0
  443. package/dist/krill/lib/select_user_swap_choice.js +35 -0
  444. package/dist/krill/lib/select_zones.d.ts +8 -0
  445. package/dist/krill/lib/select_zones.js +518 -0
  446. package/dist/lib/kill_me_softly.d.ts +11 -0
  447. package/dist/lib/kill_me_softly.js +61 -0
  448. package/dist/lib/utils.d.ts +19 -0
  449. package/dist/lib/utils.js +65 -0
  450. package/dracut/dracut.conf.d/50-live.conf +12 -13
  451. package/package.json +1 -1
  452. package/perrisbrewery/template/dependencies.yaml +1 -0
@@ -0,0 +1,238 @@
1
+ /**
2
+ * ./src/commands/syncfrom.ts
3
+ * penguins-eggs v.25.7.x / ecmascript 2020
4
+ * author: Piero Proietti
5
+ * email: piero.proietti@gmail.com
6
+ * license: MIT
7
+ */
8
+ import { Command, Flags } from '@oclif/core';
9
+ import inquirer from 'inquirer';
10
+ import Distro from '../classes/distro.js';
11
+ import Tools from '../classes/tools.js';
12
+ import Utils from '../classes/utils.js';
13
+ import Diversions from '../classes/diversions.js';
14
+ import { exec } from '../lib/utils.js';
15
+ import axios from 'axios';
16
+ import https from 'node:https';
17
+ const agent = new https.Agent({
18
+ rejectUnauthorized: false
19
+ });
20
+ /**
21
+ *
22
+ */
23
+ export default class Update extends Command {
24
+ static description = "update the Penguins' eggs tool";
25
+ static examples = ['eggs update'];
26
+ static flags = {
27
+ help: Flags.help({ char: 'h' }),
28
+ verbose: Flags.boolean({ char: 'v', description: 'verbose' })
29
+ };
30
+ distro = new Distro();
31
+ /**
32
+ * run
33
+ */
34
+ async run() {
35
+ Utils.titles(this.id + ' ' + this.argv);
36
+ const { flags } = await this.parse(Update);
37
+ Utils.titles(this.id + ' ' + this.argv);
38
+ if (Utils.isRoot()) {
39
+ if (Utils.isSources()) {
40
+ Utils.warning(`You are on penguins-eggs v. ${Utils.getPackageVersion()} from sources`);
41
+ }
42
+ else if (Utils.isPackage()) {
43
+ Utils.warning(`You are on eggs-${Utils.getPackageVersion()} installed as package`);
44
+ }
45
+ await this.chooseUpdate();
46
+ }
47
+ else {
48
+ Utils.useRoot(this.id);
49
+ }
50
+ }
51
+ async chooseUpdate() {
52
+ console.log();
53
+ const choose = await this.choosePkg();
54
+ Utils.titles(`updating via ${choose}`);
55
+ switch (choose) {
56
+ case 'LAN': {
57
+ await this.getPkgFromLan();
58
+ break;
59
+ }
60
+ case 'Package_Manager': {
61
+ await this.getPkgFromPackageManager();
62
+ break;
63
+ }
64
+ case 'Source': {
65
+ this.getFromSource();
66
+ break;
67
+ }
68
+ // No default
69
+ }
70
+ }
71
+ /**
72
+ *
73
+ */
74
+ async choosePkg() {
75
+ const choices = ['Abort'];
76
+ choices.push('LAN', 'Package_Manager', 'Source');
77
+ const questions = [
78
+ {
79
+ choices,
80
+ message: 'Select update method',
81
+ name: 'selected',
82
+ type: 'list'
83
+ }
84
+ ];
85
+ const answer = await inquirer.prompt(questions);
86
+ if (answer.selected === 'Abort') {
87
+ process.exit(0);
88
+ }
89
+ return answer.selected;
90
+ }
91
+ /**
92
+ *
93
+ */
94
+ async getPkgFromPackageManager() {
95
+ let cmd = "";
96
+ if (this.distro.familyId === 'alpine') {
97
+ cmd = `doas apk add penguins-egga`;
98
+ }
99
+ else if (this.distro.familyId === 'archlinux') {
100
+ cmd = 'sudo pacman -S penguins-eggs';
101
+ }
102
+ else if (this.distro.familyId === "debian") {
103
+ cmd = 'sudo apt install penguins-eggs\nsudo apt reinstall penguins-eggs';
104
+ }
105
+ else if (this.distro.familyId === "fedora") {
106
+ cmd = 'sudo dnf install penguins-eggs\nsudo dnf reinstall penguins-eggs';
107
+ }
108
+ else if (this.distro.familyId === "openmamba") {
109
+ cmd = 'sudo dnf install penguins-eggs\nsudo dnf reinstall penguins-eggs';
110
+ }
111
+ else if (this.distro.familyId === "opensuse") {
112
+ cmd = 'sudo zypper install penguins-eggs\\zypper install --force penguins-eggs';
113
+ }
114
+ Utils.titles(`update`);
115
+ Utils.warning(`To install/update penguins-eggs cut and copy one of the follow commands`);
116
+ console.log();
117
+ console.log(cmd);
118
+ console.log();
119
+ }
120
+ /**
121
+ * download da LAN
122
+ */
123
+ async getPkgFromLan() {
124
+ const Tu = new Tools();
125
+ await Tu.loadSettings();
126
+ Utils.warning('Update penguins-eggs from LAN');
127
+ let filter = '';
128
+ let copy = '';
129
+ let install = '';
130
+ /**
131
+ * Alpine
132
+ */
133
+ if (this.distro.familyId === 'alpine') {
134
+ let repo = `alpine/x86_64`;
135
+ filter = `penguins-eggs-*-*.*.?-r?.apk`;
136
+ copy = `scp ${Tu.config.remoteUser}@${Tu.config.remoteHost}:${Tu.config.remotePathPackages}/${repo}/${filter} /tmp`;
137
+ install = `apk add /tmp/${filter}`;
138
+ /**
139
+ * Arch
140
+ */
141
+ }
142
+ else if (this.distro.familyId === 'archlinux') {
143
+ let repo = "aur";
144
+ filter = `penguins-eggs-??.*.*-?-any.pkg.tar.zst`;
145
+ if (Diversions.isManjaroBased(this.distro.distroId)) {
146
+ repo = 'manjaro';
147
+ filter = `penguins-eggs-??.*.*-?-any.pkg.tar.*`;
148
+ }
149
+ copy = `scp ${Tu.config.remoteUser}@${Tu.config.remoteHost}:${Tu.config.remotePathPackages}/${repo}/${filter} /tmp`;
150
+ install = `pacman -U /tmp/${filter}`;
151
+ /**
152
+ * Devuan/Debian/Ubuntu
153
+ */
154
+ }
155
+ else if (this.distro.familyId === "debian") {
156
+ let repo = 'debs';
157
+ filter = `penguins-eggs_??.*.*-?_${Utils.uefiArch()}.deb`;
158
+ copy = `scp ${Tu.config.remoteUser}@${Tu.config.remoteHost}:${Tu.config.remotePathPackages}/${repo}/${filter} /tmp`;
159
+ install = `apt reinstall /tmp/${filter}`;
160
+ /**
161
+ * fedora/el9
162
+ */
163
+ }
164
+ else if (this.distro.familyId === "fedora") {
165
+ let repo = 'fedora';
166
+ let ftype = 'fc??';
167
+ if (this.distro.distroId !== 'Fedora') {
168
+ repo = 'el9';
169
+ ftype = 'el?';
170
+ }
171
+ filter = `penguins-eggs-??.*.*-?.${ftype}.x86_64.rpm`;
172
+ copy = `scp ${Tu.config.remoteUser}@${Tu.config.remoteHost}:${Tu.config.remotePathPackages}/${repo}/${filter} /tmp`;
173
+ install = `dnf reinstall /tmp/${filter} || dnf install /tmp/${filter}`;
174
+ /**
175
+ * openmamba
176
+ */
177
+ }
178
+ else if (this.distro.familyId === "openmamba") {
179
+ let repo = 'openmamba';
180
+ filter = `penguins-eggs-??.*.*-?mamba.x86_64.rpm`;
181
+ copy = `scp ${Tu.config.remoteUser}@${Tu.config.remoteHost}:${Tu.config.remotePathPackages}/${repo}/${filter} /tmp`;
182
+ install = `dnf reinstall /tmp/${filter} || dnf install /tmp/${filter}`;
183
+ /**
184
+ * opensuse
185
+ */
186
+ }
187
+ else if (this.distro.familyId === "opensuse") {
188
+ let repo = 'opensuse';
189
+ filter = `penguins-eggs-*.*.*-?.opensuse.x86_64.rpm`;
190
+ copy = `scp ${Tu.config.remoteUser}@${Tu.config.remoteHost}:${Tu.config.remotePathPackages}/${repo}/${filter} /tmp`;
191
+ install = `zypper install --force /tmp/${filter} || zypper install /tmp/${filter}`;
192
+ }
193
+ /**
194
+ * copy and install
195
+ */
196
+ if (await Utils.customConfirm(`Want to update/reinstall penguins-eggs`)) {
197
+ await exec(copy, { capture: true, echo: true });
198
+ await exec(install);
199
+ }
200
+ }
201
+ /**
202
+ *
203
+ */
204
+ getFromSource() {
205
+ console.log('Use the following commands to use penguins-eggs from source:');
206
+ console.log('');
207
+ console.log('cd ~');
208
+ console.log('git clone https://github.com/pieroproietti/penguins-eggs');
209
+ console.log('cd penguins-eggs');
210
+ console.log('pnpm install');
211
+ console.log('pnpm build');
212
+ console.log('./eggs');
213
+ console.log('');
214
+ console.log('NOTE: requires nodejs>18 and pnpm installed');
215
+ }
216
+ /**
217
+ * show
218
+ */
219
+ async show(url) {
220
+ url += `/stats/json`;
221
+ const yesterday = new Date();
222
+ yesterday.setDate(yesterday.getDate() - 1);
223
+ // adjust 0 before single digit date
224
+ const day = ('0' + yesterday.getDate()).slice(-2);
225
+ const month = ('0' + (yesterday.getMonth() + 1)).slice(-2);
226
+ const year = yesterday.getFullYear();
227
+ const end = year + '-' + month + '-' + day;
228
+ let start = year + '-' + month + '-' + day;
229
+ const request = '?start_date=' + start + '&end_date=' + end;
230
+ url += request;
231
+ const res = await axios.get(url, { httpsAgent: agent });
232
+ console.log("\nStatistics to get an idea: yesterday downloads");
233
+ console.log();
234
+ for (const country of res.data.countries) {
235
+ console.log('- ' + country[0] + ': ' + country[1]);
236
+ }
237
+ }
238
+ }
@@ -0,0 +1,23 @@
1
+ /**
2
+ * ./src/commands/wardrobe/get.ts
3
+ * penguins-eggs v.25.7.x / 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 Get 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
+ verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
21
+ };
22
+ run(): Promise<void>;
23
+ }
@@ -0,0 +1,52 @@
1
+ /**
2
+ * ./src/commands/wardrobe/get.ts
3
+ * penguins-eggs v.25.7.x / 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.25.7.x / 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.25.7.x / 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.25.7.x / 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.25.7.x / 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.25.7.x / 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
+ }