penguins-eggs 25.10.19 → 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 (451) hide show
  1. package/.oclif.manifest.json +1 -1
  2. package/README.md +767 -2
  3. package/README.pdf +1723 -1731
  4. package/addons/eggs/theme/livecd/isolinux.main.simple.cfg +0 -1
  5. package/package.json +3 -3
  6. package/scripts/boot-encrypted-root.sh +177 -0
  7. package/scripts/mount-encrypted-home.sh +92 -56
  8. package/dist/classes/bleach.d.ts +0 -37
  9. package/dist/classes/bleach.js +0 -148
  10. package/dist/classes/cli-autologin.d.ts +0 -52
  11. package/dist/classes/cli-autologin.js +0 -252
  12. package/dist/classes/compressors.d.ts +0 -54
  13. package/dist/classes/compressors.js +0 -109
  14. package/dist/classes/daddy.d.ts +0 -26
  15. package/dist/classes/daddy.js +0 -175
  16. package/dist/classes/distro.d.ts +0 -32
  17. package/dist/classes/distro.js +0 -363
  18. package/dist/classes/diversions.d.ts +0 -53
  19. package/dist/classes/diversions.js +0 -152
  20. package/dist/classes/incubation/branding.d.ts +0 -17
  21. package/dist/classes/incubation/branding.js +0 -85
  22. package/dist/classes/incubation/customize/customize-partitions.d.ts +0 -4
  23. package/dist/classes/incubation/customize/customize-partitions.js +0 -29
  24. package/dist/classes/incubation/fisherman-helper/initcpio.d.ts +0 -1
  25. package/dist/classes/incubation/fisherman-helper/initcpio.js +0 -69
  26. package/dist/classes/incubation/fisherman-helper/packages.d.ts +0 -20
  27. package/dist/classes/incubation/fisherman-helper/packages.js +0 -72
  28. package/dist/classes/incubation/fisherman-helper/settings.d.ts +0 -15
  29. package/dist/classes/incubation/fisherman-helper/settings.js +0 -116
  30. package/dist/classes/incubation/fisherman.d.ts +0 -71
  31. package/dist/classes/incubation/fisherman.js +0 -281
  32. package/dist/classes/incubation/incubator.d/alpine.d.ts +0 -32
  33. package/dist/classes/incubation/incubator.d/alpine.js +0 -78
  34. package/dist/classes/incubation/incubator.d/archlinux.d.ts +0 -32
  35. package/dist/classes/incubation/incubator.d/archlinux.js +0 -82
  36. package/dist/classes/incubation/incubator.d/bionic.d.ts +0 -32
  37. package/dist/classes/incubation/incubator.d/bionic.js +0 -83
  38. package/dist/classes/incubation/incubator.d/buster.d.ts +0 -32
  39. package/dist/classes/incubation/incubator.d/buster.js +0 -101
  40. package/dist/classes/incubation/incubator.d/fedora.d.ts +0 -32
  41. package/dist/classes/incubation/incubator.d/fedora.js +0 -81
  42. package/dist/classes/incubation/incubator.d/focal.d.ts +0 -32
  43. package/dist/classes/incubation/incubator.d/focal.js +0 -85
  44. package/dist/classes/incubation/incubator.d/manjaro.d.ts +0 -32
  45. package/dist/classes/incubation/incubator.d/manjaro.js +0 -82
  46. package/dist/classes/incubation/incubator.d/noble.d.ts +0 -32
  47. package/dist/classes/incubation/incubator.d/noble.js +0 -102
  48. package/dist/classes/incubation/incubator.d/openmamba.d.ts +0 -32
  49. package/dist/classes/incubation/incubator.d/openmamba.js +0 -81
  50. package/dist/classes/incubation/incubator.d/opensuse.d.ts +0 -32
  51. package/dist/classes/incubation/incubator.d/opensuse.js +0 -81
  52. package/dist/classes/incubation/incubator.d/trixie.d.ts +0 -32
  53. package/dist/classes/incubation/incubator.d/trixie.js +0 -98
  54. package/dist/classes/incubation/incubator.d.ts +0 -48
  55. package/dist/classes/incubation/incubator.js +0 -378
  56. package/dist/classes/incubation/installer.d.ts +0 -13
  57. package/dist/classes/incubation/installer.js +0 -52
  58. package/dist/classes/keyboards.d.ts +0 -50
  59. package/dist/classes/keyboards.js +0 -287
  60. package/dist/classes/locales.d.ts +0 -21
  61. package/dist/classes/locales.js +0 -77
  62. package/dist/classes/network.d.ts +0 -37
  63. package/dist/classes/network.js +0 -98
  64. package/dist/classes/ovary.d/bind-live-fs.d.ts +0 -18
  65. package/dist/classes/ovary.d/bind-live-fs.js +0 -185
  66. package/dist/classes/ovary.d/bind-vfs.d.ts +0 -17
  67. package/dist/classes/ovary.d/bind-vfs.js +0 -37
  68. package/dist/classes/ovary.d/create-xdg-autostart.d.ts +0 -13
  69. package/dist/classes/ovary.d/create-xdg-autostart.js +0 -194
  70. package/dist/classes/ovary.d/edit-live-fs.d.ts +0 -20
  71. package/dist/classes/ovary.d/edit-live-fs.js +0 -239
  72. package/dist/classes/ovary.d/fertilization.d.ts +0 -12
  73. package/dist/classes/ovary.d/fertilization.js +0 -53
  74. package/dist/classes/ovary.d/finished.d.ts +0 -13
  75. package/dist/classes/ovary.d/finished.js +0 -40
  76. package/dist/classes/ovary.d/initrd.d.ts +0 -21
  77. package/dist/classes/ovary.d/initrd.js +0 -95
  78. package/dist/classes/ovary.d/kernel-copy.d.ts +0 -12
  79. package/dist/classes/ovary.d/kernel-copy.js +0 -22
  80. package/dist/classes/ovary.d/live-create-structure.d.ts +0 -12
  81. package/dist/classes/ovary.d/live-create-structure.js +0 -70
  82. package/dist/classes/ovary.d/luks-get-password.d.ts +0 -12
  83. package/dist/classes/ovary.d/luks-get-password.js +0 -57
  84. package/dist/classes/ovary.d/luks-home-support.d.ts +0 -12
  85. package/dist/classes/ovary.d/luks-home-support.js +0 -75
  86. package/dist/classes/ovary.d/luks-home.d.ts +0 -15
  87. package/dist/classes/ovary.d/luks-home.js +0 -140
  88. package/dist/classes/ovary.d/luks-root-bootstrap-builder.d.ts +0 -11
  89. package/dist/classes/ovary.d/luks-root-bootstrap-builder.js +0 -45
  90. package/dist/classes/ovary.d/luks-root.d.ts +0 -15
  91. package/dist/classes/ovary.d/luks-root.js +0 -126
  92. package/dist/classes/ovary.d/make-dot-disk.d.ts +0 -12
  93. package/dist/classes/ovary.d/make-dot-disk.js +0 -62
  94. package/dist/classes/ovary.d/make-efi.d.ts +0 -14
  95. package/dist/classes/ovary.d/make-efi.js +0 -274
  96. package/dist/classes/ovary.d/make-iso.d.ts +0 -13
  97. package/dist/classes/ovary.d/make-iso.js +0 -45
  98. package/dist/classes/ovary.d/make-squashfs.d.ts +0 -18
  99. package/dist/classes/ovary.d/make-squashfs.js +0 -114
  100. package/dist/classes/ovary.d/merged.d.ts +0 -27
  101. package/dist/classes/ovary.d/merged.js +0 -78
  102. package/dist/classes/ovary.d/produce.d.ts +0 -23
  103. package/dist/classes/ovary.d/produce.js +0 -347
  104. package/dist/classes/ovary.d/rexec.d.ts +0 -13
  105. package/dist/classes/ovary.d/rexec.js +0 -34
  106. package/dist/classes/ovary.d/syslinux.d.ts +0 -12
  107. package/dist/classes/ovary.d/syslinux.js +0 -82
  108. package/dist/classes/ovary.d/user-create-live.d.ts +0 -14
  109. package/dist/classes/ovary.d/user-create-live.js +0 -97
  110. package/dist/classes/ovary.d/users-remove.d.ts +0 -9
  111. package/dist/classes/ovary.d/users-remove.js +0 -38
  112. package/dist/classes/ovary.d/xorriso-command.d.ts +0 -14
  113. package/dist/classes/ovary.d/xorriso-command.js +0 -121
  114. package/dist/classes/ovary.d.ts +0 -106
  115. package/dist/classes/ovary.js +0 -116
  116. package/dist/classes/pacman.d/alpine.d.ts +0 -56
  117. package/dist/classes/pacman.d/alpine.js +0 -167
  118. package/dist/classes/pacman.d/archlinux.d.ts +0 -62
  119. package/dist/classes/pacman.d/archlinux.js +0 -128
  120. package/dist/classes/pacman.d/debian.d.ts +0 -65
  121. package/dist/classes/pacman.d/debian.js +0 -143
  122. package/dist/classes/pacman.d/fedora.d.ts +0 -53
  123. package/dist/classes/pacman.d/fedora.js +0 -107
  124. package/dist/classes/pacman.d/openmamba.d.ts +0 -52
  125. package/dist/classes/pacman.d/openmamba.js +0 -106
  126. package/dist/classes/pacman.d/opensuse.d.ts +0 -53
  127. package/dist/classes/pacman.d/opensuse.js +0 -109
  128. package/dist/classes/pacman.d.ts +0 -139
  129. package/dist/classes/pacman.js +0 -683
  130. package/dist/classes/pve-live.d.ts +0 -17
  131. package/dist/classes/pve-live.js +0 -52
  132. package/dist/classes/pxe.d.ts +0 -76
  133. package/dist/classes/pxe.js +0 -353
  134. package/dist/classes/settings.d.ts +0 -52
  135. package/dist/classes/settings.js +0 -185
  136. package/dist/classes/sources_list.d.ts +0 -28
  137. package/dist/classes/sources_list.js +0 -89
  138. package/dist/classes/systemctl.d.ts +0 -47
  139. package/dist/classes/systemctl.js +0 -86
  140. package/dist/classes/tailor.d.ts +0 -50
  141. package/dist/classes/tailor.js +0 -563
  142. package/dist/classes/tools.d.ts +0 -26
  143. package/dist/classes/tools.js +0 -50
  144. package/dist/classes/users.d.ts +0 -28
  145. package/dist/classes/users.js +0 -143
  146. package/dist/classes/utils.d/kernel.d.ts +0 -39
  147. package/dist/classes/utils.d/kernel.js +0 -206
  148. package/dist/classes/utils.d.ts +0 -328
  149. package/dist/classes/utils.js +0 -958
  150. package/dist/classes/xdg.d.ts +0 -45
  151. package/dist/classes/xdg.js +0 -337
  152. package/dist/classes/yolk.d.ts +0 -33
  153. package/dist/classes/yolk.js +0 -114
  154. package/dist/commands/adapt.d.ts +0 -17
  155. package/dist/commands/adapt.js +0 -33
  156. package/dist/commands/analyze.d.ts +0 -26
  157. package/dist/commands/analyze.js +0 -95
  158. package/dist/commands/calamares.d.ts +0 -29
  159. package/dist/commands/calamares.js +0 -112
  160. package/dist/commands/config.d.ts +0 -35
  161. package/dist/commands/config.js +0 -120
  162. package/dist/commands/cuckoo.d.ts +0 -17
  163. package/dist/commands/cuckoo.js +0 -61
  164. package/dist/commands/dad.d.ts +0 -21
  165. package/dist/commands/dad.js +0 -47
  166. package/dist/commands/export/iso.d.ts +0 -19
  167. package/dist/commands/export/iso.js +0 -55
  168. package/dist/commands/export/pkg.d.ts +0 -29
  169. package/dist/commands/export/pkg.js +0 -173
  170. package/dist/commands/export/tarballs.d.ts +0 -27
  171. package/dist/commands/export/tarballs.js +0 -79
  172. package/dist/commands/install.d.ts +0 -39
  173. package/dist/commands/install.js +0 -113
  174. package/dist/commands/kill.d.ts +0 -24
  175. package/dist/commands/kill.js +0 -50
  176. package/dist/commands/love.d.ts +0 -24
  177. package/dist/commands/love.js +0 -111
  178. package/dist/commands/mom.d.ts +0 -16
  179. package/dist/commands/mom.js +0 -30
  180. package/dist/commands/pods.d.ts +0 -22
  181. package/dist/commands/pods.js +0 -92
  182. package/dist/commands/produce.d.ts +0 -36
  183. package/dist/commands/produce.js +0 -218
  184. package/dist/commands/status.d.ts +0 -23
  185. package/dist/commands/status.js +0 -31
  186. package/dist/commands/tools/clean.d.ts +0 -18
  187. package/dist/commands/tools/clean.js +0 -37
  188. package/dist/commands/tools/repo.d.ts +0 -31
  189. package/dist/commands/tools/repo.js +0 -246
  190. package/dist/commands/tools/skel.d.ts +0 -18
  191. package/dist/commands/tools/skel.js +0 -44
  192. package/dist/commands/tools/stat.d.ts +0 -31
  193. package/dist/commands/tools/stat.js +0 -70
  194. package/dist/commands/tools/yolk.d.ts +0 -24
  195. package/dist/commands/tools/yolk.js +0 -45
  196. package/dist/commands/update.d.ts +0 -46
  197. package/dist/commands/update.js +0 -238
  198. package/dist/commands/wardrobe/get.d.ts +0 -23
  199. package/dist/commands/wardrobe/get.js +0 -52
  200. package/dist/commands/wardrobe/list.d.ts +0 -24
  201. package/dist/commands/wardrobe/list.js +0 -125
  202. package/dist/commands/wardrobe/show.d.ts +0 -25
  203. package/dist/commands/wardrobe/show.js +0 -97
  204. package/dist/commands/wardrobe/wear.d.ts +0 -26
  205. package/dist/commands/wardrobe/wear.js +0 -84
  206. package/dist/dhcpd-proxy/classes/packet.d.ts +0 -36
  207. package/dist/dhcpd-proxy/classes/packet.js +0 -124
  208. package/dist/dhcpd-proxy/index.d.ts +0 -4
  209. package/dist/dhcpd-proxy/index.js +0 -4
  210. package/dist/dhcpd-proxy/interfaces/i-pxe.d.ts +0 -45
  211. package/dist/dhcpd-proxy/interfaces/i-pxe.js +0 -1
  212. package/dist/dhcpd-proxy/lib/packet/converters.d.ts +0 -11
  213. package/dist/dhcpd-proxy/lib/packet/converters.js +0 -395
  214. package/dist/dhcpd-proxy/lib/packet/message-types.d.ts +0 -10
  215. package/dist/dhcpd-proxy/lib/packet/message-types.js +0 -12
  216. package/dist/dhcpd-proxy/lib/packet/options.d.ts +0 -8
  217. package/dist/dhcpd-proxy/lib/packet/options.js +0 -264
  218. package/dist/dhcpd-proxy/lib/sprintf.d.ts +0 -6
  219. package/dist/dhcpd-proxy/lib/sprintf.js +0 -130
  220. package/dist/dhcpd-proxy/lib/utils.d.ts +0 -126
  221. package/dist/dhcpd-proxy/lib/utils.js +0 -255
  222. package/dist/dhcpd-proxy/simple-proxy.d.ts +0 -11
  223. package/dist/dhcpd-proxy/simple-proxy.js +0 -118
  224. package/dist/index.d.ts +0 -8
  225. package/dist/index.js +0 -8
  226. package/dist/interfaces/calamares/i-calamares-bootloader.d.ts +0 -23
  227. package/dist/interfaces/calamares/i-calamares-bootloader.js +0 -7
  228. package/dist/interfaces/calamares/i-calamares-branding.d.ts +0 -46
  229. package/dist/interfaces/calamares/i-calamares-branding.js +0 -1
  230. package/dist/interfaces/calamares/i-calamares-displaymanager.d.ts +0 -34
  231. package/dist/interfaces/calamares/i-calamares-displaymanager.js +0 -1
  232. package/dist/interfaces/calamares/i-calamares-finished.d.ts +0 -14
  233. package/dist/interfaces/calamares/i-calamares-finished.js +0 -1
  234. package/dist/interfaces/calamares/i-calamares-packages.d.ts +0 -26
  235. package/dist/interfaces/calamares/i-calamares-packages.js +0 -1
  236. package/dist/interfaces/calamares/i-calamares-partitions.d.ts +0 -39
  237. package/dist/interfaces/calamares/i-calamares-partitions.js +0 -1
  238. package/dist/interfaces/calamares/i-calamares-settings.d.ts +0 -36
  239. package/dist/interfaces/calamares/i-calamares-settings.js +0 -1
  240. package/dist/interfaces/i-addons.d.ts +0 -12
  241. package/dist/interfaces/i-addons.js +0 -8
  242. package/dist/interfaces/i-analyze.d.ts +0 -17
  243. package/dist/interfaces/i-analyze.js +0 -17
  244. package/dist/interfaces/i-app.d.ts +0 -14
  245. package/dist/interfaces/i-app.js +0 -8
  246. package/dist/interfaces/i-config-tools.d.ts +0 -15
  247. package/dist/interfaces/i-config-tools.js +0 -8
  248. package/dist/interfaces/i-devices.d.ts +0 -20
  249. package/dist/interfaces/i-devices.js +0 -8
  250. package/dist/interfaces/i-distro.d.ts +0 -23
  251. package/dist/interfaces/i-distro.js +0 -8
  252. package/dist/interfaces/i-drive-list.d.ts +0 -33
  253. package/dist/interfaces/i-drive-list.js +0 -8
  254. package/dist/interfaces/i-eggs-config.d.ts +0 -32
  255. package/dist/interfaces/i-eggs-config.js +0 -8
  256. package/dist/interfaces/i-excludes.d.ts +0 -14
  257. package/dist/interfaces/i-excludes.js +0 -8
  258. package/dist/interfaces/i-exec.d.ts +0 -11
  259. package/dist/interfaces/i-exec.js +0 -8
  260. package/dist/interfaces/i-initrd.d.ts +0 -13
  261. package/dist/interfaces/i-initrd.js +0 -8
  262. package/dist/interfaces/i-install.d.ts +0 -16
  263. package/dist/interfaces/i-install.js +0 -8
  264. package/dist/interfaces/i-installer.d.ts +0 -17
  265. package/dist/interfaces/i-installer.js +0 -8
  266. package/dist/interfaces/i-luks-passphrase.d.ts +0 -11
  267. package/dist/interfaces/i-luks-passphrase.js +0 -8
  268. package/dist/interfaces/i-materia.d.ts +0 -36
  269. package/dist/interfaces/i-materia.js +0 -8
  270. package/dist/interfaces/i-net.d.ts +0 -16
  271. package/dist/interfaces/i-net.js +0 -8
  272. package/dist/interfaces/i-os-release.d.ts +0 -5
  273. package/dist/interfaces/i-os-release.js +0 -1
  274. package/dist/interfaces/i-packages.d.ts +0 -16
  275. package/dist/interfaces/i-packages.js +0 -8
  276. package/dist/interfaces/i-partitions.d.ts +0 -16
  277. package/dist/interfaces/i-partitions.js +0 -8
  278. package/dist/interfaces/i-pxe.d.ts +0 -45
  279. package/dist/interfaces/i-pxe.js +0 -1
  280. package/dist/interfaces/i-remix.d.ts +0 -21
  281. package/dist/interfaces/i-remix.js +0 -8
  282. package/dist/interfaces/i-settings.d.ts +0 -33
  283. package/dist/interfaces/i-settings.js +0 -8
  284. package/dist/interfaces/i-user.d.ts +0 -14
  285. package/dist/interfaces/i-user.js +0 -8
  286. package/dist/interfaces/i-workdir.d.ts +0 -14
  287. package/dist/interfaces/i-workdir.js +0 -8
  288. package/dist/interfaces/i-xkb-model.d.ts +0 -24
  289. package/dist/interfaces/i-xkb-model.js +0 -8
  290. package/dist/interfaces/index.d.ts +0 -26
  291. package/dist/interfaces/index.js +0 -8
  292. package/dist/krill/classes/cfs.d.ts +0 -17
  293. package/dist/krill/classes/cfs.js +0 -39
  294. package/dist/krill/classes/krill_enums.d.ts +0 -37
  295. package/dist/krill/classes/krill_enums.js +0 -41
  296. package/dist/krill/classes/prepare.d/confirm.d.ts +0 -5
  297. package/dist/krill/classes/prepare.d/confirm.js +0 -30
  298. package/dist/krill/classes/prepare.d/keyboard.d.ts +0 -14
  299. package/dist/krill/classes/prepare.d/keyboard.js +0 -62
  300. package/dist/krill/classes/prepare.d/location.d.ts +0 -17
  301. package/dist/krill/classes/prepare.d/location.js +0 -59
  302. package/dist/krill/classes/prepare.d/network.d.ts +0 -14
  303. package/dist/krill/classes/prepare.d/network.js +0 -68
  304. package/dist/krill/classes/prepare.d/partitions.d.ts +0 -14
  305. package/dist/krill/classes/prepare.d/partitions.js +0 -86
  306. package/dist/krill/classes/prepare.d/summary.d.ts +0 -15
  307. package/dist/krill/classes/prepare.d/summary.js +0 -72
  308. package/dist/krill/classes/prepare.d/users.d.ts +0 -6
  309. package/dist/krill/classes/prepare.d/users.js +0 -63
  310. package/dist/krill/classes/prepare.d/welcome.d.ts +0 -6
  311. package/dist/krill/classes/prepare.d/welcome.js +0 -30
  312. package/dist/krill/classes/prepare.d.ts +0 -89
  313. package/dist/krill/classes/prepare.js +0 -319
  314. package/dist/krill/classes/sequence.d/add_user.d.ts +0 -20
  315. package/dist/krill/classes/sequence.d/add_user.js +0 -77
  316. package/dist/krill/classes/sequence.d/bootloader.d.ts +0 -14
  317. package/dist/krill/classes/sequence.d/bootloader.js +0 -117
  318. package/dist/krill/classes/sequence.d/bootloader_config.d.ts +0 -14
  319. package/dist/krill/classes/sequence.d/bootloader_config.js +0 -192
  320. package/dist/krill/classes/sequence.d/change_password.d.ts +0 -15
  321. package/dist/krill/classes/sequence.d/change_password.js +0 -18
  322. package/dist/krill/classes/sequence.d/del_live_user.d.ts +0 -14
  323. package/dist/krill/classes/sequence.d/del_live_user.js +0 -39
  324. package/dist/krill/classes/sequence.d/fstab.d.ts +0 -14
  325. package/dist/krill/classes/sequence.d/fstab.js +0 -177
  326. package/dist/krill/classes/sequence.d/grubcfg.d.ts +0 -17
  327. package/dist/krill/classes/sequence.d/grubcfg.js +0 -35
  328. package/dist/krill/classes/sequence.d/hostname.d.ts +0 -13
  329. package/dist/krill/classes/sequence.d/hostname.js +0 -50
  330. package/dist/krill/classes/sequence.d/initramfs.d.ts +0 -13
  331. package/dist/krill/classes/sequence.d/initramfs.js +0 -54
  332. package/dist/krill/classes/sequence.d/initramfs_cfg.d.ts +0 -14
  333. package/dist/krill/classes/sequence.d/initramfs_cfg.js +0 -35
  334. package/dist/krill/classes/sequence.d/locale.d.ts +0 -13
  335. package/dist/krill/classes/sequence.d/locale.js +0 -91
  336. package/dist/krill/classes/sequence.d/locale_cfg.d.ts +0 -10
  337. package/dist/krill/classes/sequence.d/locale_cfg.js +0 -58
  338. package/dist/krill/classes/sequence.d/m_keyboard.d.ts +0 -14
  339. package/dist/krill/classes/sequence.d/m_keyboard.js +0 -58
  340. package/dist/krill/classes/sequence.d/machine_id.d.ts +0 -15
  341. package/dist/krill/classes/sequence.d/machine_id.js +0 -33
  342. package/dist/krill/classes/sequence.d/mkfs.d.ts +0 -15
  343. package/dist/krill/classes/sequence.d/mkfs.js +0 -88
  344. package/dist/krill/classes/sequence.d/mount_fs.d.ts +0 -17
  345. package/dist/krill/classes/sequence.d/mount_fs.js +0 -68
  346. package/dist/krill/classes/sequence.d/mount_vfs.d.ts +0 -17
  347. package/dist/krill/classes/sequence.d/mount_vfs.js +0 -59
  348. package/dist/krill/classes/sequence.d/network_cfg.d.ts +0 -19
  349. package/dist/krill/classes/sequence.d/network_cfg.js +0 -73
  350. package/dist/krill/classes/sequence.d/packages.d.ts +0 -14
  351. package/dist/krill/classes/sequence.d/packages.js +0 -111
  352. package/dist/krill/classes/sequence.d/partition.d/bios_luks.d.ts +0 -17
  353. package/dist/krill/classes/sequence.d/partition.d/bios_luks.js +0 -73
  354. package/dist/krill/classes/sequence.d/partition.d/bios_standard.d.ts +0 -16
  355. package/dist/krill/classes/sequence.d/partition.d/bios_standard.js +0 -51
  356. package/dist/krill/classes/sequence.d/partition.d/uefi_luks.d.ts +0 -17
  357. package/dist/krill/classes/sequence.d/partition.d/uefi_luks.js +0 -77
  358. package/dist/krill/classes/sequence.d/partition.d/uefi_standard.d.ts +0 -10
  359. package/dist/krill/classes/sequence.d/partition.d/uefi_standard.js +0 -33
  360. package/dist/krill/classes/sequence.d/partition.d.ts +0 -14
  361. package/dist/krill/classes/sequence.d/partition.js +0 -84
  362. package/dist/krill/classes/sequence.d/remove_installer_link.d.ts +0 -13
  363. package/dist/krill/classes/sequence.d/remove_installer_link.js +0 -35
  364. package/dist/krill/classes/sequence.d/umount.d.ts +0 -14
  365. package/dist/krill/classes/sequence.d/umount.js +0 -28
  366. package/dist/krill/classes/sequence.d/unpackfs.d.ts +0 -13
  367. package/dist/krill/classes/sequence.d/unpackfs.js +0 -20
  368. package/dist/krill/classes/sequence.d.ts +0 -134
  369. package/dist/krill/classes/sequence.js +0 -400
  370. package/dist/krill/components/finished.d.ts +0 -16
  371. package/dist/krill/components/finished.js +0 -56
  372. package/dist/krill/components/information.d.ts +0 -8
  373. package/dist/krill/components/information.js +0 -162
  374. package/dist/krill/components/install.d.ts +0 -15
  375. package/dist/krill/components/install.js +0 -60
  376. package/dist/krill/components/keyboard.d.ts +0 -16
  377. package/dist/krill/components/keyboard.js +0 -54
  378. package/dist/krill/components/location.d.ts +0 -16
  379. package/dist/krill/components/location.js +0 -59
  380. package/dist/krill/components/network.d.ts +0 -19
  381. package/dist/krill/components/network.js +0 -65
  382. package/dist/krill/components/partitions.d.ts +0 -18
  383. package/dist/krill/components/partitions.js +0 -89
  384. package/dist/krill/components/steps.d.ts +0 -13
  385. package/dist/krill/components/steps.js +0 -148
  386. package/dist/krill/components/summary.d.ts +0 -25
  387. package/dist/krill/components/summary.js +0 -77
  388. package/dist/krill/components/title.d.ts +0 -11
  389. package/dist/krill/components/title.js +0 -35
  390. package/dist/krill/components/users.d.ts +0 -24
  391. package/dist/krill/components/users.js +0 -80
  392. package/dist/krill/components/welcome.d.ts +0 -13
  393. package/dist/krill/components/welcome.js +0 -63
  394. package/dist/krill/interfaces/i_krill.d.ts +0 -44
  395. package/dist/krill/interfaces/i_krill.js +0 -8
  396. package/dist/krill/interfaces/i_krill_config.d.ts +0 -35
  397. package/dist/krill/interfaces/i_krill_config.js +0 -8
  398. package/dist/krill/lib/get_address.d.ts +0 -8
  399. package/dist/krill/lib/get_address.js +0 -23
  400. package/dist/krill/lib/get_dns.d.ts +0 -8
  401. package/dist/krill/lib/get_dns.js +0 -23
  402. package/dist/krill/lib/get_domain.d.ts +0 -8
  403. package/dist/krill/lib/get_domain.js +0 -23
  404. package/dist/krill/lib/get_gateway.d.ts +0 -8
  405. package/dist/krill/lib/get_gateway.js +0 -23
  406. package/dist/krill/lib/get_hostname.d.ts +0 -8
  407. package/dist/krill/lib/get_hostname.js +0 -23
  408. package/dist/krill/lib/get_luks_passphrase.d.ts +0 -8
  409. package/dist/krill/lib/get_luks_passphrase.js +0 -32
  410. package/dist/krill/lib/get_netmask.d.ts +0 -8
  411. package/dist/krill/lib/get_netmask.js +0 -23
  412. package/dist/krill/lib/get_password.d.ts +0 -8
  413. package/dist/krill/lib/get_password.js +0 -36
  414. package/dist/krill/lib/get_userfullname.d.ts +0 -8
  415. package/dist/krill/lib/get_userfullname.js +0 -23
  416. package/dist/krill/lib/get_username.d.ts +0 -8
  417. package/dist/krill/lib/get_username.js +0 -23
  418. package/dist/krill/lib/select_address_type.d.ts +0 -8
  419. package/dist/krill/lib/select_address_type.js +0 -24
  420. package/dist/krill/lib/select_filesystem_type.d.ts +0 -8
  421. package/dist/krill/lib/select_filesystem_type.js +0 -40
  422. package/dist/krill/lib/select_installation_device.d.ts +0 -8
  423. package/dist/krill/lib/select_installation_device.js +0 -40
  424. package/dist/krill/lib/select_installation_mode.d.ts +0 -9
  425. package/dist/krill/lib/select_installation_mode.js +0 -25
  426. package/dist/krill/lib/select_interface.d.ts +0 -8
  427. package/dist/krill/lib/select_interface.js +0 -24
  428. package/dist/krill/lib/select_keyboard_layout.d.ts +0 -11
  429. package/dist/krill/lib/select_keyboard_layout.js +0 -36
  430. package/dist/krill/lib/select_keyboard_model.d.ts +0 -11
  431. package/dist/krill/lib/select_keyboard_model.js +0 -34
  432. package/dist/krill/lib/select_keyboard_option.d.ts +0 -11
  433. package/dist/krill/lib/select_keyboard_option.js +0 -34
  434. package/dist/krill/lib/select_keyboard_variant.d.ts +0 -11
  435. package/dist/krill/lib/select_keyboard_variant.js +0 -35
  436. package/dist/krill/lib/select_languages.d.ts +0 -8
  437. package/dist/krill/lib/select_languages.js +0 -28
  438. package/dist/krill/lib/select_regions.d.ts +0 -8
  439. package/dist/krill/lib/select_regions.js +0 -24
  440. package/dist/krill/lib/select_replaced_partition.d.ts +0 -8
  441. package/dist/krill/lib/select_replaced_partition.js +0 -31
  442. package/dist/krill/lib/select_user_swap_choice.d.ts +0 -9
  443. package/dist/krill/lib/select_user_swap_choice.js +0 -35
  444. package/dist/krill/lib/select_zones.d.ts +0 -8
  445. package/dist/krill/lib/select_zones.js +0 -518
  446. package/dist/lib/kill_me_softly.d.ts +0 -11
  447. package/dist/lib/kill_me_softly.js +0 -61
  448. package/dist/lib/utils.d.ts +0 -19
  449. package/dist/lib/utils.js +0 -65
  450. package/scripts/luks-root-bootstrap-create.sh +0 -235
  451. package/scripts/luks-root-unlock.sh +0 -172
@@ -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,24 +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
- clone: import("@oclif/core/interfaces").BooleanFlag<boolean>;
20
- homecrypt: import("@oclif/core/interfaces").BooleanFlag<boolean>;
21
- fullcrypt: import("@oclif/core/interfaces").BooleanFlag<boolean>;
22
- };
23
- run(): Promise<void>;
24
- }
@@ -1,111 +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
- clone: Flags.boolean({ char: 'c', description: 'clone (uncrypted)' }),
27
- homecrypt: Flags.boolean({ char: 'k', description: 'clone crypted home' }),
28
- fullcrypt: Flags.boolean({ char: 'f', description: 'clone crypted full' }),
29
- };
30
- async run() {
31
- const { args, flags } = await this.parse(Love);
32
- let verbose = false;
33
- let flagVerbose = '';
34
- if (flags.verbose) {
35
- verbose = true;
36
- flagVerbose = '--verbose';
37
- }
38
- let clone = false;
39
- if (flags.clone) {
40
- clone = true;
41
- }
42
- let homecrypt = false;
43
- if (flags.homecrypt) {
44
- clone = false;
45
- homecrypt = true;
46
- }
47
- let fullcrypt = false;
48
- if (flags.fullcrypt) {
49
- fullcrypt = true;
50
- clone = false;
51
- homecrypt = false;
52
- }
53
- let flagClone = '';
54
- if (clone) {
55
- flagClone = "--clone";
56
- }
57
- else if (homecrypt) {
58
- flagClone = "--homecrypt";
59
- }
60
- else if (fullcrypt) {
61
- flagClone = "--fullcrypt";
62
- }
63
- let nointeractive = false;
64
- let flagNointeractive = '';
65
- if (flags.nointeractive) {
66
- flagNointeractive = '--nointeractive';
67
- nointeractive = true;
68
- }
69
- const echo = Utils.setEcho(verbose);
70
- Utils.titles(this.id + ' ' + this.argv);
71
- let cmdSudo = '';
72
- if (process.getuid && process.getuid() === 0) {
73
- cmdSudo = '';
74
- }
75
- else if (fs.existsSync('/usr/bin/sudo')) {
76
- cmdSudo = 'sudo';
77
- }
78
- else if (fs.existsSync('/usr/bin/doas')) {
79
- cmdSudo = 'doas';
80
- }
81
- let loveConf = '/etc/penguins-eggs.d/love.yaml';
82
- if (!fs.existsSync(loveConf)) {
83
- loveConf = __dirname + '/../../conf/love.yaml';
84
- }
85
- const cmds = yaml.load(fs.readFileSync(loveConf, 'utf8'));
86
- console.log('The following commands will be executed:');
87
- console.log();
88
- for (const cmd of cmds) {
89
- if (cmd.includes('produce')) {
90
- console.log(`- ${cmdSudo} ${cmd} ${flagVerbose} ${flagClone} ${flagNointeractive}`);
91
- }
92
- else {
93
- console.log(`- ${cmdSudo} ${cmd} ${flagVerbose} ${flagNointeractive}`);
94
- }
95
- }
96
- console.log();
97
- if (nointeractive || await Utils.customConfirm()) {
98
- for (const cmd of cmds) {
99
- if (cmd.includes('produce')) {
100
- await exec(`${cmdSudo} ${cmd} ${flagVerbose} ${flagClone} ${flagNointeractive}`);
101
- }
102
- else {
103
- await exec(`${cmdSudo} ${cmd} ${flagVerbose} ${flagNointeractive}`);
104
- }
105
- }
106
- }
107
- else {
108
- console.log('Aborted!');
109
- }
110
- }
111
- }
@@ -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
- }