penguins-eggs 25.10.6 → 25.10.23

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 (474) hide show
  1. package/.oclif.manifest.json +51 -145
  2. package/README.md +59 -120
  3. package/README.pdf +1723 -1731
  4. package/addons/eggs/theme/livecd/isolinux.main.simple.cfg +2 -3
  5. package/conf/distros/trixie/calamares/modules/shellprocess@boot_deploy.yml +3 -4
  6. package/conf/love.yaml +1 -1
  7. package/dracut/create-symlink +71 -0
  8. package/dracut/dracut-log.txt +3 -0
  9. package/dracut/dracut.conf.d/50-live.conf +24 -6
  10. package/dracut/dracut.conf.d/README.md +10 -0
  11. package/dracut/export +4 -0
  12. package/dracut/export-dracut-analysis +51 -0
  13. package/dracut/export-dracut-log +2 -0
  14. package/dracut/mkisofs +10 -0
  15. package/dracut/modules.d/00debug-shell/debug-hook.sh +13 -0
  16. package/dracut/modules.d/00debug-shell/module-setup.sh +20 -0
  17. package/dracut/modules.d/90block/README.md +7 -0
  18. package/dracut/modules.d/90block/block-cmdline.sh +3 -0
  19. package/dracut/modules.d/90block/module-setup.sh +15 -0
  20. package/dracut/modules.d/95iso-scan/README.md +3 -0
  21. package/dracut/modules.d/95iso-scan/iso-scan-fallback.sh +12 -0
  22. package/dracut/modules.d/95iso-scan/iso-scan.sh +92 -0
  23. package/dracut/modules.d/95iso-scan/module-setup.sh +18 -0
  24. package/dracut/modules.d/95luks-loop/README.md +9 -0
  25. package/dracut/modules.d/95luks-loop/luks-loop.sh +90 -0
  26. package/dracut/modules.d/95luks-loop/module-setup.sh +17 -0
  27. package/dracut/renew-initramfs +17 -0
  28. package/dracut/sbin2bin +10 -0
  29. package/dracut/update-dracut-conf-d +2 -0
  30. package/dracut/update-dracut-modules +62 -0
  31. package/manpages/doc/man/eggs.1.gz +0 -0
  32. package/manpages/doc/man/eggs.html +7 -661
  33. package/package.json +10 -9
  34. package/perrisbrewery/template/dependencies.yaml +6 -5
  35. package/scripts/_eggs +16 -31
  36. package/scripts/boot-encrypted-root.sh +177 -0
  37. package/scripts/eggs.bash +4 -6
  38. package/scripts/mount-encrypted-home.sh +259 -0
  39. package/dist/classes/bleach.d.ts +0 -37
  40. package/dist/classes/bleach.js +0 -148
  41. package/dist/classes/cli-autologin.d.ts +0 -52
  42. package/dist/classes/cli-autologin.js +0 -252
  43. package/dist/classes/compressors.d.ts +0 -54
  44. package/dist/classes/compressors.js +0 -109
  45. package/dist/classes/daddy.d.ts +0 -26
  46. package/dist/classes/daddy.js +0 -175
  47. package/dist/classes/distro.d.ts +0 -32
  48. package/dist/classes/distro.js +0 -356
  49. package/dist/classes/diversions.d.ts +0 -53
  50. package/dist/classes/diversions.js +0 -133
  51. package/dist/classes/incubation/branding.d.ts +0 -17
  52. package/dist/classes/incubation/branding.js +0 -85
  53. package/dist/classes/incubation/customize/customize-partitions.d.ts +0 -4
  54. package/dist/classes/incubation/customize/customize-partitions.js +0 -29
  55. package/dist/classes/incubation/fisherman-helper/initcpio.d.ts +0 -1
  56. package/dist/classes/incubation/fisherman-helper/initcpio.js +0 -69
  57. package/dist/classes/incubation/fisherman-helper/packages.d.ts +0 -20
  58. package/dist/classes/incubation/fisherman-helper/packages.js +0 -72
  59. package/dist/classes/incubation/fisherman-helper/settings.d.ts +0 -15
  60. package/dist/classes/incubation/fisherman-helper/settings.js +0 -116
  61. package/dist/classes/incubation/fisherman.d.ts +0 -71
  62. package/dist/classes/incubation/fisherman.js +0 -281
  63. package/dist/classes/incubation/incubator.d/alpine.d.ts +0 -32
  64. package/dist/classes/incubation/incubator.d/alpine.js +0 -78
  65. package/dist/classes/incubation/incubator.d/archlinux.d.ts +0 -32
  66. package/dist/classes/incubation/incubator.d/archlinux.js +0 -81
  67. package/dist/classes/incubation/incubator.d/bionic.d.ts +0 -32
  68. package/dist/classes/incubation/incubator.d/bionic.js +0 -83
  69. package/dist/classes/incubation/incubator.d/buster.d.ts +0 -32
  70. package/dist/classes/incubation/incubator.d/buster.js +0 -101
  71. package/dist/classes/incubation/incubator.d/fedora.d.ts +0 -32
  72. package/dist/classes/incubation/incubator.d/fedora.js +0 -81
  73. package/dist/classes/incubation/incubator.d/focal.d.ts +0 -32
  74. package/dist/classes/incubation/incubator.d/focal.js +0 -85
  75. package/dist/classes/incubation/incubator.d/manjaro.d.ts +0 -32
  76. package/dist/classes/incubation/incubator.d/manjaro.js +0 -82
  77. package/dist/classes/incubation/incubator.d/noble.d.ts +0 -32
  78. package/dist/classes/incubation/incubator.d/noble.js +0 -102
  79. package/dist/classes/incubation/incubator.d/openmamba.d.ts +0 -32
  80. package/dist/classes/incubation/incubator.d/openmamba.js +0 -81
  81. package/dist/classes/incubation/incubator.d/opensuse.d.ts +0 -32
  82. package/dist/classes/incubation/incubator.d/opensuse.js +0 -81
  83. package/dist/classes/incubation/incubator.d/trixie.d.ts +0 -32
  84. package/dist/classes/incubation/incubator.d/trixie.js +0 -101
  85. package/dist/classes/incubation/incubator.d.ts +0 -48
  86. package/dist/classes/incubation/incubator.js +0 -378
  87. package/dist/classes/incubation/installer.d.ts +0 -13
  88. package/dist/classes/incubation/installer.js +0 -52
  89. package/dist/classes/keyboards.d.ts +0 -50
  90. package/dist/classes/keyboards.js +0 -287
  91. package/dist/classes/locales.d.ts +0 -21
  92. package/dist/classes/locales.js +0 -77
  93. package/dist/classes/network.d.ts +0 -37
  94. package/dist/classes/network.js +0 -98
  95. package/dist/classes/ovary.d/bind-live-fs.d.ts +0 -18
  96. package/dist/classes/ovary.d/bind-live-fs.js +0 -185
  97. package/dist/classes/ovary.d/bind-vfs.d.ts +0 -17
  98. package/dist/classes/ovary.d/bind-vfs.js +0 -37
  99. package/dist/classes/ovary.d/create-xdg-autostart.d.ts +0 -13
  100. package/dist/classes/ovary.d/create-xdg-autostart.js +0 -194
  101. package/dist/classes/ovary.d/edit-live-fs.d.ts +0 -20
  102. package/dist/classes/ovary.d/edit-live-fs.js +0 -245
  103. package/dist/classes/ovary.d/fertilization.d.ts +0 -12
  104. package/dist/classes/ovary.d/fertilization.js +0 -52
  105. package/dist/classes/ovary.d/finished.d.ts +0 -13
  106. package/dist/classes/ovary.d/finished.js +0 -44
  107. package/dist/classes/ovary.d/initrd.d.ts +0 -21
  108. package/dist/classes/ovary.d/initrd.js +0 -97
  109. package/dist/classes/ovary.d/kernel-copy.d.ts +0 -12
  110. package/dist/classes/ovary.d/kernel-copy.js +0 -22
  111. package/dist/classes/ovary.d/live-create-structure.d.ts +0 -12
  112. package/dist/classes/ovary.d/live-create-structure.js +0 -73
  113. package/dist/classes/ovary.d/make-dot-disk.d.ts +0 -12
  114. package/dist/classes/ovary.d/make-dot-disk.js +0 -62
  115. package/dist/classes/ovary.d/make-efi.d.ts +0 -14
  116. package/dist/classes/ovary.d/make-efi.js +0 -274
  117. package/dist/classes/ovary.d/make-iso.d.ts +0 -13
  118. package/dist/classes/ovary.d/make-iso.js +0 -45
  119. package/dist/classes/ovary.d/make-squashfs.d.ts +0 -18
  120. package/dist/classes/ovary.d/make-squashfs.js +0 -110
  121. package/dist/classes/ovary.d/merged.d.ts +0 -27
  122. package/dist/classes/ovary.d/merged.js +0 -78
  123. package/dist/classes/ovary.d/produce.d.ts +0 -23
  124. package/dist/classes/ovary.d/produce.js +0 -319
  125. package/dist/classes/ovary.d/rexec.d.ts +0 -13
  126. package/dist/classes/ovary.d/rexec.js +0 -34
  127. package/dist/classes/ovary.d/syslinux.d.ts +0 -12
  128. package/dist/classes/ovary.d/syslinux.js +0 -82
  129. package/dist/classes/ovary.d/user-create-live.d.ts +0 -14
  130. package/dist/classes/ovary.d/user-create-live.js +0 -97
  131. package/dist/classes/ovary.d/users-remove.d.ts +0 -9
  132. package/dist/classes/ovary.d/users-remove.js +0 -38
  133. package/dist/classes/ovary.d/xorriso-command.d.ts +0 -14
  134. package/dist/classes/ovary.d/xorriso-command.js +0 -123
  135. package/dist/classes/ovary.d.ts +0 -87
  136. package/dist/classes/ovary.js +0 -90
  137. package/dist/classes/pacman.d/alpine.d.ts +0 -56
  138. package/dist/classes/pacman.d/alpine.js +0 -167
  139. package/dist/classes/pacman.d/archlinux.d.ts +0 -62
  140. package/dist/classes/pacman.d/archlinux.js +0 -128
  141. package/dist/classes/pacman.d/debian.d.ts +0 -65
  142. package/dist/classes/pacman.d/debian.js +0 -143
  143. package/dist/classes/pacman.d/fedora.d.ts +0 -53
  144. package/dist/classes/pacman.d/fedora.js +0 -107
  145. package/dist/classes/pacman.d/openmamba.d.ts +0 -52
  146. package/dist/classes/pacman.d/openmamba.js +0 -106
  147. package/dist/classes/pacman.d/opensuse.d.ts +0 -53
  148. package/dist/classes/pacman.d/opensuse.js +0 -109
  149. package/dist/classes/pacman.d.ts +0 -139
  150. package/dist/classes/pacman.js +0 -683
  151. package/dist/classes/pve-live.d.ts +0 -17
  152. package/dist/classes/pve-live.js +0 -52
  153. package/dist/classes/pxe.d.ts +0 -76
  154. package/dist/classes/pxe.js +0 -353
  155. package/dist/classes/settings.d.ts +0 -52
  156. package/dist/classes/settings.js +0 -185
  157. package/dist/classes/sources_list.d.ts +0 -28
  158. package/dist/classes/sources_list.js +0 -89
  159. package/dist/classes/systemctl.d.ts +0 -47
  160. package/dist/classes/systemctl.js +0 -86
  161. package/dist/classes/tailor.d.ts +0 -50
  162. package/dist/classes/tailor.js +0 -563
  163. package/dist/classes/tools.d.ts +0 -26
  164. package/dist/classes/tools.js +0 -50
  165. package/dist/classes/users.d.ts +0 -28
  166. package/dist/classes/users.js +0 -143
  167. package/dist/classes/utils.d/kernel.d.ts +0 -39
  168. package/dist/classes/utils.d/kernel.js +0 -206
  169. package/dist/classes/utils.d.ts +0 -327
  170. package/dist/classes/utils.js +0 -955
  171. package/dist/classes/xdg.d.ts +0 -45
  172. package/dist/classes/xdg.js +0 -337
  173. package/dist/classes/yolk.d.ts +0 -33
  174. package/dist/classes/yolk.js +0 -114
  175. package/dist/commands/adapt.d.ts +0 -17
  176. package/dist/commands/adapt.js +0 -33
  177. package/dist/commands/analyze.d.ts +0 -26
  178. package/dist/commands/analyze.js +0 -95
  179. package/dist/commands/calamares.d.ts +0 -29
  180. package/dist/commands/calamares.js +0 -112
  181. package/dist/commands/config.d.ts +0 -35
  182. package/dist/commands/config.js +0 -120
  183. package/dist/commands/cuckoo.d.ts +0 -17
  184. package/dist/commands/cuckoo.js +0 -61
  185. package/dist/commands/dad.d.ts +0 -21
  186. package/dist/commands/dad.js +0 -47
  187. package/dist/commands/export/iso.d.ts +0 -19
  188. package/dist/commands/export/iso.js +0 -55
  189. package/dist/commands/export/pkg.d.ts +0 -29
  190. package/dist/commands/export/pkg.js +0 -173
  191. package/dist/commands/export/tarballs.d.ts +0 -27
  192. package/dist/commands/export/tarballs.js +0 -79
  193. package/dist/commands/install.d.ts +0 -39
  194. package/dist/commands/install.js +0 -113
  195. package/dist/commands/kill.d.ts +0 -24
  196. package/dist/commands/kill.js +0 -50
  197. package/dist/commands/love.d.ts +0 -21
  198. package/dist/commands/love.js +0 -73
  199. package/dist/commands/mom.d.ts +0 -16
  200. package/dist/commands/mom.js +0 -30
  201. package/dist/commands/pods.d.ts +0 -22
  202. package/dist/commands/pods.js +0 -92
  203. package/dist/commands/produce.d.ts +0 -35
  204. package/dist/commands/produce.js +0 -221
  205. package/dist/commands/status.d.ts +0 -23
  206. package/dist/commands/status.js +0 -31
  207. package/dist/commands/syncfrom.d.ts +0 -45
  208. package/dist/commands/syncfrom.js +0 -152
  209. package/dist/commands/syncto.d.ts +0 -40
  210. package/dist/commands/syncto.js +0 -175
  211. package/dist/commands/tools/clean.d.ts +0 -18
  212. package/dist/commands/tools/clean.js +0 -37
  213. package/dist/commands/tools/ppa.d.ts +0 -31
  214. package/dist/commands/tools/ppa.js +0 -244
  215. package/dist/commands/tools/skel.d.ts +0 -18
  216. package/dist/commands/tools/skel.js +0 -44
  217. package/dist/commands/tools/stat.d.ts +0 -31
  218. package/dist/commands/tools/stat.js +0 -70
  219. package/dist/commands/tools/yolk.d.ts +0 -24
  220. package/dist/commands/tools/yolk.js +0 -45
  221. package/dist/commands/update.d.ts +0 -46
  222. package/dist/commands/update.js +0 -238
  223. package/dist/commands/wardrobe/get.d.ts +0 -23
  224. package/dist/commands/wardrobe/get.js +0 -52
  225. package/dist/commands/wardrobe/list.d.ts +0 -24
  226. package/dist/commands/wardrobe/list.js +0 -125
  227. package/dist/commands/wardrobe/show.d.ts +0 -25
  228. package/dist/commands/wardrobe/show.js +0 -97
  229. package/dist/commands/wardrobe/wear.d.ts +0 -26
  230. package/dist/commands/wardrobe/wear.js +0 -84
  231. package/dist/dhcpd-proxy/classes/packet.d.ts +0 -36
  232. package/dist/dhcpd-proxy/classes/packet.js +0 -124
  233. package/dist/dhcpd-proxy/index.d.ts +0 -4
  234. package/dist/dhcpd-proxy/index.js +0 -4
  235. package/dist/dhcpd-proxy/interfaces/i-pxe.d.ts +0 -45
  236. package/dist/dhcpd-proxy/interfaces/i-pxe.js +0 -1
  237. package/dist/dhcpd-proxy/lib/packet/converters.d.ts +0 -11
  238. package/dist/dhcpd-proxy/lib/packet/converters.js +0 -395
  239. package/dist/dhcpd-proxy/lib/packet/message-types.d.ts +0 -10
  240. package/dist/dhcpd-proxy/lib/packet/message-types.js +0 -12
  241. package/dist/dhcpd-proxy/lib/packet/options.d.ts +0 -8
  242. package/dist/dhcpd-proxy/lib/packet/options.js +0 -264
  243. package/dist/dhcpd-proxy/lib/sprintf.d.ts +0 -6
  244. package/dist/dhcpd-proxy/lib/sprintf.js +0 -130
  245. package/dist/dhcpd-proxy/lib/utils.d.ts +0 -126
  246. package/dist/dhcpd-proxy/lib/utils.js +0 -255
  247. package/dist/dhcpd-proxy/simple-proxy.d.ts +0 -11
  248. package/dist/dhcpd-proxy/simple-proxy.js +0 -118
  249. package/dist/index.d.ts +0 -8
  250. package/dist/index.js +0 -8
  251. package/dist/interfaces/calamares/i-calamares-bootloader.d.ts +0 -23
  252. package/dist/interfaces/calamares/i-calamares-bootloader.js +0 -7
  253. package/dist/interfaces/calamares/i-calamares-branding.d.ts +0 -46
  254. package/dist/interfaces/calamares/i-calamares-branding.js +0 -1
  255. package/dist/interfaces/calamares/i-calamares-displaymanager.d.ts +0 -34
  256. package/dist/interfaces/calamares/i-calamares-displaymanager.js +0 -1
  257. package/dist/interfaces/calamares/i-calamares-finished.d.ts +0 -14
  258. package/dist/interfaces/calamares/i-calamares-finished.js +0 -1
  259. package/dist/interfaces/calamares/i-calamares-packages.d.ts +0 -26
  260. package/dist/interfaces/calamares/i-calamares-packages.js +0 -1
  261. package/dist/interfaces/calamares/i-calamares-partitions.d.ts +0 -39
  262. package/dist/interfaces/calamares/i-calamares-partitions.js +0 -1
  263. package/dist/interfaces/calamares/i-calamares-settings.d.ts +0 -36
  264. package/dist/interfaces/calamares/i-calamares-settings.js +0 -1
  265. package/dist/interfaces/i-addons.d.ts +0 -12
  266. package/dist/interfaces/i-addons.js +0 -8
  267. package/dist/interfaces/i-analyze.d.ts +0 -17
  268. package/dist/interfaces/i-analyze.js +0 -17
  269. package/dist/interfaces/i-app.d.ts +0 -14
  270. package/dist/interfaces/i-app.js +0 -8
  271. package/dist/interfaces/i-config-tools.d.ts +0 -15
  272. package/dist/interfaces/i-config-tools.js +0 -8
  273. package/dist/interfaces/i-devices.d.ts +0 -20
  274. package/dist/interfaces/i-devices.js +0 -8
  275. package/dist/interfaces/i-distro.d.ts +0 -23
  276. package/dist/interfaces/i-distro.js +0 -8
  277. package/dist/interfaces/i-drive-list.d.ts +0 -33
  278. package/dist/interfaces/i-drive-list.js +0 -8
  279. package/dist/interfaces/i-eggs-config.d.ts +0 -32
  280. package/dist/interfaces/i-eggs-config.js +0 -8
  281. package/dist/interfaces/i-excludes.d.ts +0 -14
  282. package/dist/interfaces/i-excludes.js +0 -8
  283. package/dist/interfaces/i-exec.d.ts +0 -11
  284. package/dist/interfaces/i-exec.js +0 -8
  285. package/dist/interfaces/i-initrd.d.ts +0 -13
  286. package/dist/interfaces/i-initrd.js +0 -8
  287. package/dist/interfaces/i-install.d.ts +0 -16
  288. package/dist/interfaces/i-install.js +0 -8
  289. package/dist/interfaces/i-installer.d.ts +0 -17
  290. package/dist/interfaces/i-installer.js +0 -8
  291. package/dist/interfaces/i-luks-passphrase.d.ts +0 -11
  292. package/dist/interfaces/i-luks-passphrase.js +0 -8
  293. package/dist/interfaces/i-materia.d.ts +0 -36
  294. package/dist/interfaces/i-materia.js +0 -8
  295. package/dist/interfaces/i-net.d.ts +0 -16
  296. package/dist/interfaces/i-net.js +0 -8
  297. package/dist/interfaces/i-os-release.d.ts +0 -5
  298. package/dist/interfaces/i-os-release.js +0 -1
  299. package/dist/interfaces/i-packages.d.ts +0 -16
  300. package/dist/interfaces/i-packages.js +0 -8
  301. package/dist/interfaces/i-partitions.d.ts +0 -16
  302. package/dist/interfaces/i-partitions.js +0 -8
  303. package/dist/interfaces/i-pxe.d.ts +0 -45
  304. package/dist/interfaces/i-pxe.js +0 -1
  305. package/dist/interfaces/i-remix.d.ts +0 -21
  306. package/dist/interfaces/i-remix.js +0 -8
  307. package/dist/interfaces/i-settings.d.ts +0 -33
  308. package/dist/interfaces/i-settings.js +0 -8
  309. package/dist/interfaces/i-user.d.ts +0 -14
  310. package/dist/interfaces/i-user.js +0 -8
  311. package/dist/interfaces/i-workdir.d.ts +0 -14
  312. package/dist/interfaces/i-workdir.js +0 -8
  313. package/dist/interfaces/i-xkb-model.d.ts +0 -24
  314. package/dist/interfaces/i-xkb-model.js +0 -8
  315. package/dist/interfaces/index.d.ts +0 -26
  316. package/dist/interfaces/index.js +0 -8
  317. package/dist/krill/classes/cfs.d.ts +0 -17
  318. package/dist/krill/classes/cfs.js +0 -39
  319. package/dist/krill/classes/krill_enums.d.ts +0 -37
  320. package/dist/krill/classes/krill_enums.js +0 -41
  321. package/dist/krill/classes/prepare.d/confirm.d.ts +0 -5
  322. package/dist/krill/classes/prepare.d/confirm.js +0 -30
  323. package/dist/krill/classes/prepare.d/keyboard.d.ts +0 -14
  324. package/dist/krill/classes/prepare.d/keyboard.js +0 -62
  325. package/dist/krill/classes/prepare.d/location.d.ts +0 -17
  326. package/dist/krill/classes/prepare.d/location.js +0 -59
  327. package/dist/krill/classes/prepare.d/network.d.ts +0 -14
  328. package/dist/krill/classes/prepare.d/network.js +0 -68
  329. package/dist/krill/classes/prepare.d/partitions.d.ts +0 -14
  330. package/dist/krill/classes/prepare.d/partitions.js +0 -86
  331. package/dist/krill/classes/prepare.d/summary.d.ts +0 -15
  332. package/dist/krill/classes/prepare.d/summary.js +0 -72
  333. package/dist/krill/classes/prepare.d/users.d.ts +0 -6
  334. package/dist/krill/classes/prepare.d/users.js +0 -63
  335. package/dist/krill/classes/prepare.d/welcome.d.ts +0 -6
  336. package/dist/krill/classes/prepare.d/welcome.js +0 -30
  337. package/dist/krill/classes/prepare.d.ts +0 -89
  338. package/dist/krill/classes/prepare.js +0 -319
  339. package/dist/krill/classes/sequence.d/add_user.d.ts +0 -20
  340. package/dist/krill/classes/sequence.d/add_user.js +0 -77
  341. package/dist/krill/classes/sequence.d/bootloader.d.ts +0 -14
  342. package/dist/krill/classes/sequence.d/bootloader.js +0 -117
  343. package/dist/krill/classes/sequence.d/bootloader_config.d.ts +0 -14
  344. package/dist/krill/classes/sequence.d/bootloader_config.js +0 -192
  345. package/dist/krill/classes/sequence.d/change_password.d.ts +0 -15
  346. package/dist/krill/classes/sequence.d/change_password.js +0 -18
  347. package/dist/krill/classes/sequence.d/del_live_user.d.ts +0 -14
  348. package/dist/krill/classes/sequence.d/del_live_user.js +0 -39
  349. package/dist/krill/classes/sequence.d/fstab.d.ts +0 -14
  350. package/dist/krill/classes/sequence.d/fstab.js +0 -177
  351. package/dist/krill/classes/sequence.d/grubcfg.d.ts +0 -17
  352. package/dist/krill/classes/sequence.d/grubcfg.js +0 -35
  353. package/dist/krill/classes/sequence.d/hostname.d.ts +0 -13
  354. package/dist/krill/classes/sequence.d/hostname.js +0 -50
  355. package/dist/krill/classes/sequence.d/initramfs.d.ts +0 -13
  356. package/dist/krill/classes/sequence.d/initramfs.js +0 -54
  357. package/dist/krill/classes/sequence.d/initramfs_cfg.d.ts +0 -14
  358. package/dist/krill/classes/sequence.d/initramfs_cfg.js +0 -35
  359. package/dist/krill/classes/sequence.d/locale.d.ts +0 -13
  360. package/dist/krill/classes/sequence.d/locale.js +0 -91
  361. package/dist/krill/classes/sequence.d/locale_cfg.d.ts +0 -10
  362. package/dist/krill/classes/sequence.d/locale_cfg.js +0 -58
  363. package/dist/krill/classes/sequence.d/m_keyboard.d.ts +0 -14
  364. package/dist/krill/classes/sequence.d/m_keyboard.js +0 -58
  365. package/dist/krill/classes/sequence.d/machine_id.d.ts +0 -15
  366. package/dist/krill/classes/sequence.d/machine_id.js +0 -33
  367. package/dist/krill/classes/sequence.d/mkfs.d.ts +0 -15
  368. package/dist/krill/classes/sequence.d/mkfs.js +0 -88
  369. package/dist/krill/classes/sequence.d/mount_fs.d.ts +0 -17
  370. package/dist/krill/classes/sequence.d/mount_fs.js +0 -68
  371. package/dist/krill/classes/sequence.d/mount_vfs.d.ts +0 -17
  372. package/dist/krill/classes/sequence.d/mount_vfs.js +0 -59
  373. package/dist/krill/classes/sequence.d/network_cfg.d.ts +0 -19
  374. package/dist/krill/classes/sequence.d/network_cfg.js +0 -73
  375. package/dist/krill/classes/sequence.d/packages.d.ts +0 -14
  376. package/dist/krill/classes/sequence.d/packages.js +0 -111
  377. package/dist/krill/classes/sequence.d/partition.d/bios_luks.d.ts +0 -17
  378. package/dist/krill/classes/sequence.d/partition.d/bios_luks.js +0 -73
  379. package/dist/krill/classes/sequence.d/partition.d/bios_standard.d.ts +0 -16
  380. package/dist/krill/classes/sequence.d/partition.d/bios_standard.js +0 -51
  381. package/dist/krill/classes/sequence.d/partition.d/uefi_luks.d.ts +0 -17
  382. package/dist/krill/classes/sequence.d/partition.d/uefi_luks.js +0 -77
  383. package/dist/krill/classes/sequence.d/partition.d/uefi_standard.d.ts +0 -10
  384. package/dist/krill/classes/sequence.d/partition.d/uefi_standard.js +0 -33
  385. package/dist/krill/classes/sequence.d/partition.d.ts +0 -14
  386. package/dist/krill/classes/sequence.d/partition.js +0 -84
  387. package/dist/krill/classes/sequence.d/remove_installer_link.d.ts +0 -13
  388. package/dist/krill/classes/sequence.d/remove_installer_link.js +0 -35
  389. package/dist/krill/classes/sequence.d/umount.d.ts +0 -14
  390. package/dist/krill/classes/sequence.d/umount.js +0 -28
  391. package/dist/krill/classes/sequence.d/unpackfs.d.ts +0 -13
  392. package/dist/krill/classes/sequence.d/unpackfs.js +0 -20
  393. package/dist/krill/classes/sequence.d.ts +0 -134
  394. package/dist/krill/classes/sequence.js +0 -400
  395. package/dist/krill/components/finished.d.ts +0 -16
  396. package/dist/krill/components/finished.js +0 -56
  397. package/dist/krill/components/information.d.ts +0 -8
  398. package/dist/krill/components/information.js +0 -162
  399. package/dist/krill/components/install.d.ts +0 -15
  400. package/dist/krill/components/install.js +0 -60
  401. package/dist/krill/components/keyboard.d.ts +0 -16
  402. package/dist/krill/components/keyboard.js +0 -54
  403. package/dist/krill/components/location.d.ts +0 -16
  404. package/dist/krill/components/location.js +0 -59
  405. package/dist/krill/components/network.d.ts +0 -19
  406. package/dist/krill/components/network.js +0 -65
  407. package/dist/krill/components/partitions.d.ts +0 -18
  408. package/dist/krill/components/partitions.js +0 -89
  409. package/dist/krill/components/steps.d.ts +0 -13
  410. package/dist/krill/components/steps.js +0 -148
  411. package/dist/krill/components/summary.d.ts +0 -25
  412. package/dist/krill/components/summary.js +0 -77
  413. package/dist/krill/components/title.d.ts +0 -11
  414. package/dist/krill/components/title.js +0 -35
  415. package/dist/krill/components/users.d.ts +0 -24
  416. package/dist/krill/components/users.js +0 -80
  417. package/dist/krill/components/welcome.d.ts +0 -13
  418. package/dist/krill/components/welcome.js +0 -63
  419. package/dist/krill/interfaces/i_krill.d.ts +0 -44
  420. package/dist/krill/interfaces/i_krill.js +0 -8
  421. package/dist/krill/interfaces/i_krill_config.d.ts +0 -35
  422. package/dist/krill/interfaces/i_krill_config.js +0 -8
  423. package/dist/krill/lib/get_address.d.ts +0 -8
  424. package/dist/krill/lib/get_address.js +0 -23
  425. package/dist/krill/lib/get_dns.d.ts +0 -8
  426. package/dist/krill/lib/get_dns.js +0 -23
  427. package/dist/krill/lib/get_domain.d.ts +0 -8
  428. package/dist/krill/lib/get_domain.js +0 -23
  429. package/dist/krill/lib/get_gateway.d.ts +0 -8
  430. package/dist/krill/lib/get_gateway.js +0 -23
  431. package/dist/krill/lib/get_hostname.d.ts +0 -8
  432. package/dist/krill/lib/get_hostname.js +0 -23
  433. package/dist/krill/lib/get_luks_passphrase.d.ts +0 -8
  434. package/dist/krill/lib/get_luks_passphrase.js +0 -32
  435. package/dist/krill/lib/get_netmask.d.ts +0 -8
  436. package/dist/krill/lib/get_netmask.js +0 -23
  437. package/dist/krill/lib/get_password.d.ts +0 -8
  438. package/dist/krill/lib/get_password.js +0 -36
  439. package/dist/krill/lib/get_userfullname.d.ts +0 -8
  440. package/dist/krill/lib/get_userfullname.js +0 -23
  441. package/dist/krill/lib/get_username.d.ts +0 -8
  442. package/dist/krill/lib/get_username.js +0 -23
  443. package/dist/krill/lib/select_address_type.d.ts +0 -8
  444. package/dist/krill/lib/select_address_type.js +0 -24
  445. package/dist/krill/lib/select_filesystem_type.d.ts +0 -8
  446. package/dist/krill/lib/select_filesystem_type.js +0 -40
  447. package/dist/krill/lib/select_installation_device.d.ts +0 -8
  448. package/dist/krill/lib/select_installation_device.js +0 -40
  449. package/dist/krill/lib/select_installation_mode.d.ts +0 -9
  450. package/dist/krill/lib/select_installation_mode.js +0 -25
  451. package/dist/krill/lib/select_interface.d.ts +0 -8
  452. package/dist/krill/lib/select_interface.js +0 -24
  453. package/dist/krill/lib/select_keyboard_layout.d.ts +0 -11
  454. package/dist/krill/lib/select_keyboard_layout.js +0 -36
  455. package/dist/krill/lib/select_keyboard_model.d.ts +0 -11
  456. package/dist/krill/lib/select_keyboard_model.js +0 -34
  457. package/dist/krill/lib/select_keyboard_option.d.ts +0 -11
  458. package/dist/krill/lib/select_keyboard_option.js +0 -34
  459. package/dist/krill/lib/select_keyboard_variant.d.ts +0 -11
  460. package/dist/krill/lib/select_keyboard_variant.js +0 -35
  461. package/dist/krill/lib/select_languages.d.ts +0 -8
  462. package/dist/krill/lib/select_languages.js +0 -28
  463. package/dist/krill/lib/select_regions.d.ts +0 -8
  464. package/dist/krill/lib/select_regions.js +0 -24
  465. package/dist/krill/lib/select_replaced_partition.d.ts +0 -8
  466. package/dist/krill/lib/select_replaced_partition.js +0 -31
  467. package/dist/krill/lib/select_user_swap_choice.d.ts +0 -9
  468. package/dist/krill/lib/select_user_swap_choice.js +0 -35
  469. package/dist/krill/lib/select_zones.d.ts +0 -8
  470. package/dist/krill/lib/select_zones.js +0 -518
  471. package/dist/lib/kill_me_softly.d.ts +0 -11
  472. package/dist/lib/kill_me_softly.js +0 -61
  473. package/dist/lib/utils.d.ts +0 -19
  474. package/dist/lib/utils.js +0 -65
@@ -1,173 +0,0 @@
1
- /**
2
- * ./src/commands/export/deb.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 Distro from '../../classes/distro.js';
10
- import Diversions from '../../classes/diversions.js';
11
- import Tools from '../../classes/tools.js';
12
- import Utils from '../../classes/utils.js';
13
- import { exec } from '../../lib/utils.js';
14
- import os from 'node:os';
15
- import { execSync } from 'node:child_process';
16
- export default class ExportPkg extends Command {
17
- static description = 'export pkg/iso to the destination host';
18
- static examples = ['eggs export pkg', 'eggs export pkg --clean', 'eggs export pkg --all'];
19
- static flags = {
20
- all: Flags.boolean({ char: 'a', description: 'export all archs' }),
21
- clean: Flags.boolean({ char: 'c', description: 'remove old .deb before to copy' }),
22
- help: Flags.help({ char: 'h' }),
23
- verbose: Flags.boolean({ char: 'v', description: 'verbose' })
24
- };
25
- user = '';
26
- all = false;
27
- clean = false;
28
- verbose = false;
29
- echo = {};
30
- Tu = new Tools();
31
- /**
32
- *
33
- */
34
- async run() {
35
- const { args, flags } = await this.parse(ExportPkg);
36
- Utils.titles(this.id + ' ' + this.argv);
37
- Utils.warning(ExportPkg.description);
38
- // Ora servono in più parti
39
- this.user = os.userInfo().username;
40
- if (this.user === 'root') {
41
- this.user = execSync('echo $SUDO_USER', { encoding: 'utf-8' }).trim();
42
- if (this.user === '') {
43
- this.user = execSync('echo $DOAS_USER', { encoding: 'utf-8' }).trim();
44
- }
45
- }
46
- this.all = flags.all;
47
- this.clean = flags.clean;
48
- this.verbose = flags.verbose;
49
- this.echo = Utils.setEcho(this.verbose);
50
- await this.Tu.loadSettings();
51
- let distro = new Distro();
52
- const familyId = distro.familyId;
53
- const distroId = distro.distroId;
54
- const remoteMountpoint = `/tmp/eggs-${(Math.random() + 1).toString(36).slice(7)}`;
55
- let localPath = '';
56
- let remotePath = '';
57
- let filter = '';
58
- if (familyId === 'alpine') {
59
- let arch = 'x86_64';
60
- if (process.arch === 'ia32') {
61
- arch = 'i386';
62
- }
63
- Utils.warning(`exporting Alpine APK packages`);
64
- localPath = `/home/${this.user}/packages/aports/${arch}`;
65
- remotePath = `${this.Tu.config.remotePathPackages}/alpine/${arch}`;
66
- filter = `penguins-eggs-*[0-9][0-9].@([0-9]|[0-1][0-9]).@([0-9]|[0-3][0-9])-*.apk`;
67
- /**
68
- * Arch/Manjaro
69
- */
70
- }
71
- else if (familyId === 'archlinux') {
72
- /**
73
- * Manjaro
74
- */
75
- if (Diversions.isManjaroBased(distroId)) {
76
- Utils.warning(`exporting Manjaro .pkg.tar.zst packages`);
77
- localPath = `/home/${this.user}/penguins-packs/manjaro/penguins-eggs`;
78
- remotePath = this.Tu.config.remotePathPackages + "/manjaro";
79
- filter = `penguins-eggs-[0-9][0-9].@([0-9]|[0-1][0-9]).@([0-9]|[0-3][0-9])-*-any.pkg.tar.*`;
80
- /**
81
- * Arch
82
- */
83
- }
84
- else {
85
- Utils.warning(`exporting Arch .pkg.tar.zst packages`);
86
- localPath = `/home/${this.user}/penguins-packs/aur/penguins-eggs`;
87
- remotePath = this.Tu.config.remotePathPackages + "/aur";
88
- filter = `penguins-eggs-[0-9][0-9].@([0-9]|[0-1][0-9]).@([0-9]|[0-3][0-9])-*-any.pkg.tar.zst`;
89
- }
90
- /**
91
- * Debian
92
- */
93
- }
94
- else if (familyId === "debian") {
95
- Utils.warning(`exporting Devuan/Debian/Ubuntu DEB packages`);
96
- localPath = `/home/${this.user}/penguins-eggs/releases`;
97
- remotePath = this.Tu.config.remotePathPackages + "/debs";
98
- let arch = Utils.uefiArch();
99
- if (this.all) {
100
- arch = '*';
101
- }
102
- filter = `penguins-eggs_[0-9][0-9].@([0-9]|[0-1][0-9]).@([0-9]|[0-3][0-9])-*_${arch}.deb`;
103
- /**
104
- * fedora
105
- */
106
- }
107
- else if (familyId === 'fedora') {
108
- let repo = 'fedora';
109
- let ftype = 'fc??';
110
- let warning = `exporting Fedora RPM packages`;
111
- if (distro.distroId !== 'Fedora') {
112
- repo = 'el9';
113
- ftype = `el?`;
114
- warning = `exporting Almalinux/Rocky RPM packages`;
115
- }
116
- filter = `penguins-eggs-[0-9][0-9].[0-9]*.[0-9]*-*.${ftype}.x86_64.rpm`;
117
- Utils.warning(warning);
118
- localPath = `/home/${this.user}/rpmbuild/RPMS/x86_64`;
119
- remotePath = this.Tu.config.remotePathPackages + `/` + repo;
120
- /**
121
- * openmamba
122
- */
123
- }
124
- else if (familyId === 'openmamba') {
125
- Utils.warning(`exporting Openmamba RPM packages`);
126
- localPath = `/home/${this.user}/rpmbuild/RPMS/x86_64`;
127
- remotePath = this.Tu.config.remotePathPackages + "/openmamba";
128
- filter = `penguins-eggs-[0-9][0-9].@([0-9]|[0-1][0-9]).@([0-9]|[0-3][0-9])-*mamba.*.rpm`;
129
- /**
130
- * opensuse
131
- */
132
- }
133
- else if (familyId === 'opensuse') {
134
- Utils.warning(`exporting OpenSuSE RPM packages`);
135
- localPath = `/home/${this.user}/rpmbuild/RPMS/x86_64`;
136
- remotePath = this.Tu.config.remotePathPackages + "/opensuse";
137
- filter = `penguins-eggs-[0-9][0-9].[0-9]*.[0-9]*-*.opensuse.x86_64.rpm`;
138
- }
139
- let cmd = `#!/bin/bash\n`;
140
- cmd += `set -e\n`;
141
- cmd += 'shopt -s extglob\n';
142
- cmd += `mkdir ${remoteMountpoint}\n`;
143
- cmd += `sshfs ${this.Tu.config.remoteUser}@${this.Tu.config.remoteHost}:${remotePath} ${remoteMountpoint}\n`;
144
- let archDest = 'x86_64';
145
- if (this.clean) {
146
- let archDest = '';
147
- if (distro.familyId === 'alpine') {
148
- let archDest = 'x86_64/';
149
- if (process.arch === 'ia32') {
150
- archDest = 'i386/';
151
- }
152
- }
153
- cmd += `# Delete old packages\n`;
154
- cmd += `rm -f ${remoteMountpoint}/${archDest}${filter}\n`;
155
- }
156
- cmd += `# Export packages\n`;
157
- cmd += `cp ${localPath}/${filter} ${remoteMountpoint}\n`;
158
- cmd += 'sync\n';
159
- cmd += `\n`;
160
- cmd += `# wait before to umount\n`;
161
- cmd += 'sleep 2s\n';
162
- cmd += `fusermount3 -u ${remoteMountpoint}\n`;
163
- cmd += `# remove mountpoint\n`;
164
- cmd += `rm -rf ${remoteMountpoint}\n`;
165
- if (!this.verbose) {
166
- if (this.clean) {
167
- console.log(`remove: ${this.Tu.config.remoteUser}@${this.Tu.config.remoteHost}:${filter}`);
168
- }
169
- console.log(`copy: ${localPath}/${filter} to ${this.Tu.config.remoteUser}@${this.Tu.config.remoteHost}:${remotePath}`);
170
- }
171
- await exec(cmd, this.echo);
172
- }
173
- }
@@ -1,27 +0,0 @@
1
- /**
2
- * ./src/commands/export/deb.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
- import Tools from '../../classes/tools.js';
10
- export default class ExportTarballs extends Command {
11
- static description: string;
12
- static examples: string[];
13
- static flags: {
14
- clean: import("@oclif/core/interfaces").BooleanFlag<boolean>;
15
- help: import("@oclif/core/interfaces").BooleanFlag<void>;
16
- verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
17
- };
18
- user: string;
19
- clean: boolean;
20
- verbose: boolean;
21
- echo: {};
22
- Tu: Tools;
23
- /**
24
- *
25
- */
26
- run(): Promise<void>;
27
- }
@@ -1,79 +0,0 @@
1
- /**
2
- * ./src/commands/export/deb.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 Tools from '../../classes/tools.js';
10
- import Utils from '../../classes/utils.js';
11
- import { exec } from '../../lib/utils.js';
12
- import os from 'node:os';
13
- import { globSync } from 'glob';
14
- import path from 'path';
15
- // pjson
16
- import { createRequire } from 'module';
17
- const require = createRequire(import.meta.url);
18
- const pjson = require('../../../package.json');
19
- import { execSync } from 'node:child_process';
20
- export default class ExportTarballs extends Command {
21
- static description = 'export pkg/iso/tarballs to the destination host';
22
- static examples = ['eggs export tarballs', 'eggs export tarballs --clean'];
23
- static flags = {
24
- clean: Flags.boolean({ char: 'c', description: 'remove old .deb before to copy' }),
25
- help: Flags.help({ char: 'h' }),
26
- verbose: Flags.boolean({ char: 'v', description: 'verbose' })
27
- };
28
- user = '';
29
- clean = false;
30
- verbose = false;
31
- echo = {};
32
- Tu = new Tools();
33
- /**
34
- *
35
- */
36
- async run() {
37
- const { args, flags } = await this.parse(ExportTarballs);
38
- Utils.titles(this.id + ' ' + this.argv);
39
- Utils.warning(ExportTarballs.description);
40
- // Ora servono in più parti
41
- this.user = os.userInfo().username;
42
- if (this.user === 'root') {
43
- this.user = execSync('echo $SUDO_USER', { encoding: 'utf-8' }).trim();
44
- if (this.user === '') {
45
- this.user = execSync('echo $DOAS_USER', { encoding: 'utf-8' }).trim();
46
- }
47
- }
48
- this.clean = flags.clean;
49
- this.verbose = flags.verbose;
50
- this.echo = Utils.setEcho(this.verbose);
51
- await this.Tu.loadSettings();
52
- const remoteMountpoint = `/tmp/eggs-${(Math.random() + 1).toString(36).slice(7)}`;
53
- const localPath = `/home/${this.user}/penguins-eggs/dist/`;
54
- const remotePath = `${this.Tu.config.remotePathPackages}/tarballs/`;
55
- const tarNamePattern = `penguins-eggs_[0-9][0-9].[0-9]*.[0-9]*-*-linux-x64.tar.gz`;
56
- const searchPattern = path.join(localPath, tarNamePattern);
57
- const matchingFiles = globSync(searchPattern);
58
- if (matchingFiles.length === 0) {
59
- console.log(`No ${searchPattern} exists!`);
60
- console.log(`Create it using: pnpm tarballs`);
61
- // process.exit(1)
62
- }
63
- let cmd = `mkdir ${remoteMountpoint}\n`;
64
- cmd += `sshfs ${this.Tu.config.remoteUser}@${this.Tu.config.remoteHost}:${remotePath} ${remoteMountpoint}\n`;
65
- if (this.clean) {
66
- cmd += `rm -f ${remoteMountpoint}/penguins-eggs_*-linux-x64.tar.gz\n`;
67
- }
68
- cmd += `cp ${localPath}${tarNamePattern} ${remoteMountpoint}/\n`;
69
- cmd += 'sync\n';
70
- cmd += `umount ${remoteMountpoint}\n`;
71
- cmd += `rm -rf ${remoteMountpoint}\n`;
72
- if (!this.verbose) {
73
- if (this.clean) {
74
- console.log(`remove: ${this.Tu.config.remoteUser}@${this.Tu.config.remoteHost}:${remotePath}/${tarNamePattern}`);
75
- }
76
- }
77
- await exec(cmd, this.echo);
78
- }
79
- }
@@ -1,39 +0,0 @@
1
- /**
2
- * ./src/commands/install.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
- * Class Krill
11
- */
12
- export default class Install extends Command {
13
- static aliases: string[];
14
- static description: string;
15
- static examples: string[];
16
- static flags: {
17
- btrfs: import("@oclif/core/interfaces").BooleanFlag<boolean>;
18
- chroot: import("@oclif/core/interfaces").BooleanFlag<boolean>;
19
- crypted: import("@oclif/core/interfaces").BooleanFlag<boolean>;
20
- domain: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
21
- halt: import("@oclif/core/interfaces").BooleanFlag<boolean>;
22
- help: import("@oclif/core/interfaces").BooleanFlag<void>;
23
- ip: import("@oclif/core/interfaces").BooleanFlag<boolean>;
24
- nointeractive: import("@oclif/core/interfaces").BooleanFlag<boolean>;
25
- none: import("@oclif/core/interfaces").BooleanFlag<boolean>;
26
- pve: import("@oclif/core/interfaces").BooleanFlag<boolean>;
27
- random: import("@oclif/core/interfaces").BooleanFlag<boolean>;
28
- replace: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
29
- small: import("@oclif/core/interfaces").BooleanFlag<boolean>;
30
- suspend: import("@oclif/core/interfaces").BooleanFlag<boolean>;
31
- testing: import("@oclif/core/interfaces").BooleanFlag<boolean>;
32
- unattended: import("@oclif/core/interfaces").BooleanFlag<boolean>;
33
- verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
34
- };
35
- /**
36
- * Execute
37
- */
38
- run(): Promise<void>;
39
- }
@@ -1,113 +0,0 @@
1
- /**
2
- * ./src/commands/install.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 yaml from 'js-yaml';
10
- import fs from 'node:fs';
11
- import https from 'node:https';
12
- import shx from 'shelljs';
13
- import Utils from '../classes/utils.js';
14
- import Krill from '../krill/classes/prepare.js';
15
- const agent = new https.Agent({
16
- rejectUnauthorized: false
17
- });
18
- // import { ILvmOptions } from '../krill/interfaces/i-krill.js'
19
- /**
20
- * Class Krill
21
- */
22
- export default class Install extends Command {
23
- static aliases = ['krill'];
24
- static description = 'krill: the CLI system installer - the egg became a penguin!';
25
- static examples = ['sudo eggs install', 'sudo eggs install --unattended --halt', 'sudo eggs install --chroot'];
26
- static flags = {
27
- btrfs: Flags.boolean({ char: 'b', description: 'Format btrfs' }),
28
- chroot: Flags.boolean({ char: 'c', description: 'chroot before to end' }),
29
- crypted: Flags.boolean({ char: 'k', description: 'Crypted CLI installation' }),
30
- domain: Flags.string({ char: 'd', description: 'Domain name, defult: .local' }),
31
- halt: Flags.boolean({ char: 'H', description: 'Halt the system after installation' }),
32
- help: Flags.help({ char: 'h' }),
33
- ip: Flags.boolean({ char: 'i', description: 'hostname as ip, eg: ip-192-168-1-33' }),
34
- nointeractive: Flags.boolean({ char: 'n', description: 'no user interaction' }),
35
- none: Flags.boolean({ char: 'N', description: 'Swap none: 256M' }),
36
- pve: Flags.boolean({ char: 'p', description: 'Proxmox VE install' }),
37
- random: Flags.boolean({ char: 'r', description: 'Add random to hostname, eg: colibri-ay412dt' }),
38
- replace: Flags.string({ char: `R`, description: `Replace partition. eg: --replace /dev/sda3` }),
39
- small: Flags.boolean({ char: 's', description: 'Swap small: RAM' }),
40
- suspend: Flags.boolean({ char: 'S', description: 'Swap suspend: RAM x 2' }),
41
- testing: Flags.boolean({ char: 't', description: "Just testing krill" }),
42
- unattended: Flags.boolean({ char: 'u', description: 'Unattended installation' }),
43
- verbose: Flags.boolean({ char: 'v', description: 'Verbose' })
44
- };
45
- /**
46
- * Execute
47
- */
48
- async run() {
49
- Utils.titles(this.id + ' ' + this.argv);
50
- const { flags } = await this.parse(Install);
51
- const { unattended } = flags;
52
- // krillConfig
53
- let krillConfig = {};
54
- const content = fs.readFileSync('/etc/penguins-eggs.d/krill.yaml', 'utf8');
55
- krillConfig = yaml.load(content);
56
- // nointeractive
57
- const { nointeractive } = flags;
58
- // halt
59
- const { halt } = flags;
60
- // hostname
61
- const { ip } = flags;
62
- const { random } = flags;
63
- // chroot before to end
64
- const { chroot } = flags;
65
- // eg: eggs install --replace /dev/sda3
66
- let replace = '';
67
- let replaceExit = false;
68
- if (flags.replace) {
69
- replace = flags.replace;
70
- // Definiamo la dimensione minima richiesta in bytes (1 GB = 1024*1024*1024 bytes)
71
- const minSizeBytes = 1024 * 1024 * 1024;
72
- try {
73
- const sizeInBytesString = shx.exec(`lsblk -b -n -o SIZE ${replace}`).stdout.trim();
74
- const partitionSize = parseInt(sizeInBytesString, 10);
75
- if (partitionSize < minSizeBytes) {
76
- console.log(`partition to replace ${replace}, is too little`);
77
- replaceExit = true;
78
- }
79
- }
80
- catch (error) {
81
- console.log(`partition ${replace} does not exists!`);
82
- replaceExit = true;
83
- }
84
- }
85
- let domain = '';
86
- if (flags.domain) {
87
- domain = flags.domain;
88
- }
89
- // swap
90
- const { suspend } = flags;
91
- const { small } = flags;
92
- const { none } = flags;
93
- let { crypted } = flags;
94
- const { pve } = flags;
95
- if (pve) {
96
- crypted = false;
97
- }
98
- const { testing } = flags;
99
- const { verbose } = flags;
100
- if (Utils.isRoot() || testing) {
101
- if (Utils.isLive() || testing) {
102
- const krill = new Krill(unattended, nointeractive, halt, chroot);
103
- await krill.prepare(krillConfig, ip, random, domain, suspend, small, none, crypted, pve, flags.btrfs, replace, testing, verbose);
104
- }
105
- else {
106
- Utils.warning('You are in an installed system!');
107
- }
108
- }
109
- else {
110
- Utils.useRoot(this.id);
111
- }
112
- }
113
- }
@@ -1,24 +0,0 @@
1
- /**
2
- * ./src/commands/kill.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 Kill extends Command {
13
- static description: string;
14
- static examples: string[];
15
- static flags: {
16
- help: import("@oclif/core/interfaces").BooleanFlag<void>;
17
- isos: import("@oclif/core/interfaces").BooleanFlag<boolean>;
18
- nointeractive: import("@oclif/core/interfaces").BooleanFlag<boolean>;
19
- verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
20
- };
21
- config_file: string;
22
- snapshot_dir: string;
23
- run(): Promise<void>;
24
- }
@@ -1,50 +0,0 @@
1
- /**
2
- * ./src/commands/kill.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 Settings from '../classes/settings.js';
10
- import Utils from '../classes/utils.js';
11
- import killMeSoftly from '../lib/kill_me_softly.js';
12
- /**
13
- *
14
- */
15
- export default class Kill extends Command {
16
- static description = 'kill the eggs/free the nest';
17
- static examples = ['sudo eggs kill'];
18
- static flags = {
19
- help: Flags.help({ char: 'h' }),
20
- isos: Flags.boolean({ char: 'i', description: 'erase all ISOs on remote mount' }),
21
- nointeractive: Flags.boolean({ char: 'n', description: 'no user interaction' }),
22
- verbose: Flags.boolean({ char: 'v', description: 'verbose' })
23
- };
24
- config_file = '/etc/penguins-eggs.d/eggs.yaml';
25
- snapshot_dir = '';
26
- async run() {
27
- Utils.titles(this.id + ' ' + this.argv);
28
- const { flags } = await this.parse(Kill);
29
- const { verbose } = flags;
30
- const { isos } = flags;
31
- const { nointeractive } = flags;
32
- const echo = Utils.setEcho(verbose);
33
- if (Utils.isRoot()) {
34
- const settings = new Settings();
35
- await settings.load();
36
- await settings.listFreeSpace();
37
- if (Utils.isMountpoint(settings.config.snapshot_mnt)) {
38
- console.log('==========================================');
39
- Utils.warning('You are working on a mountpoint');
40
- console.log('==========================================');
41
- }
42
- if (nointeractive || (await Utils.customConfirm())) {
43
- await killMeSoftly(settings.config.snapshot_dir, settings.config.snapshot_mnt, isos);
44
- }
45
- }
46
- else {
47
- Utils.useRoot(this.id);
48
- }
49
- }
50
- }
@@ -1,21 +0,0 @@
1
- /**
2
- * ./src/commands/adapt.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 Love extends Command {
13
- static description: string;
14
- static examples: string[];
15
- static flags: {
16
- help: import("@oclif/core/interfaces").BooleanFlag<void>;
17
- verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
18
- nointeractive: import("@oclif/core/interfaces").BooleanFlag<boolean>;
19
- };
20
- run(): Promise<void>;
21
- }
@@ -1,73 +0,0 @@
1
- /**
2
- * ./src/commands/adapt.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 yaml from 'js-yaml';
10
- import fs from 'node:fs';
11
- import path from 'node:path';
12
- import Utils from '../classes/utils.js';
13
- import { exec } from '../lib/utils.js';
14
- // _dirname
15
- const __dirname = path.dirname(new URL(import.meta.url).pathname);
16
- /**
17
- *
18
- */
19
- export default class Love extends Command {
20
- static description = 'the simplest way to get an egg!';
21
- static examples = ['eggs auto'];
22
- static flags = {
23
- help: Flags.help({ char: 'h' }),
24
- verbose: Flags.boolean({ char: 'v' }),
25
- nointeractive: Flags.boolean({ char: 'n', description: 'no user interaction' }),
26
- };
27
- async run() {
28
- const { args, flags } = await this.parse(Love);
29
- let verbose = false;
30
- let flagVerbose = '';
31
- if (flags.verbose) {
32
- verbose = true;
33
- flagVerbose = '--verbose';
34
- }
35
- let nointeractive = false;
36
- let flagNointeractive = '';
37
- if (flags.nointeractive) {
38
- flagNointeractive = '--nointeractive';
39
- nointeractive = true;
40
- }
41
- const echo = Utils.setEcho(verbose);
42
- Utils.titles(this.id + ' ' + this.argv);
43
- let cmdSudo = '';
44
- if (process.getuid && process.getuid() === 0) {
45
- cmdSudo = '';
46
- }
47
- else if (fs.existsSync('/usr/bin/sudo')) {
48
- cmdSudo = 'sudo';
49
- }
50
- else if (fs.existsSync('/usr/bin/doas')) {
51
- cmdSudo = 'doas';
52
- }
53
- let loveConf = '/etc/penguins-eggs.d/love.yaml';
54
- if (!fs.existsSync(loveConf)) {
55
- loveConf = __dirname + '/../../conf/love.yaml';
56
- }
57
- const cmds = yaml.load(fs.readFileSync(loveConf, 'utf8'));
58
- console.log('The following commands will be executed:');
59
- console.log();
60
- for (const cmd of cmds) {
61
- console.log(`- ${cmdSudo} ${cmd} ${flagVerbose} ${flagNointeractive}`);
62
- }
63
- console.log();
64
- if (nointeractive || await Utils.customConfirm()) {
65
- for (const cmd of cmds) {
66
- await exec(`${cmdSudo} ${cmd} ${flagVerbose} ${flagNointeractive}`);
67
- }
68
- }
69
- else {
70
- console.log('Aborted!');
71
- }
72
- }
73
- }
@@ -1,16 +0,0 @@
1
- /**
2
- * ./src/commands/mom.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
- export default class Mom extends Command {
10
- static description: string;
11
- static examples: string[];
12
- static flags: {
13
- help: import("@oclif/core/interfaces").BooleanFlag<void>;
14
- };
15
- run(): Promise<void>;
16
- }
@@ -1,30 +0,0 @@
1
- /**
2
- * ./src/commands/mom.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 path from 'node:path';
10
- import Utils from '../classes/utils.js';
11
- import { exec } from '../lib/utils.js';
12
- // _dirname
13
- const __dirname = path.dirname(new URL(import.meta.url).pathname);
14
- export default class Mom extends Command {
15
- static description = 'ask help from mommy - TUI helper';
16
- static examples = ['eggs mom'];
17
- static flags = {
18
- help: Flags.help({ char: 'h' })
19
- };
20
- async run() {
21
- Utils.titles(this.id + ' ' + this.argv);
22
- // No sudo!
23
- if (process.getuid && process.getuid() === 0) {
24
- Utils.warning('You must to be kind with your mom! Call her without sudo');
25
- process.exit(0);
26
- }
27
- const cmd = path.resolve(__dirname, '../../scripts/mom.sh');
28
- await exec(cmd);
29
- }
30
- }
@@ -1,22 +0,0 @@
1
- /**
2
- * ./src/commands/cuckoo.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
- export default class Pods extends Command {
10
- static args: {
11
- distro: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
12
- };
13
- static description: string;
14
- static examples: string[];
15
- static flags: {
16
- help: import("@oclif/core/interfaces").BooleanFlag<void>;
17
- };
18
- /**
19
- *
20
- */
21
- run(): Promise<void>;
22
- }