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,28 +0,0 @@
1
- /**
2
- * ./src/krill/modules/umount.ts
3
- * penguins-eggs v.25.7.x / ecmascript 2020
4
- * author: Piero Proietti
5
- * email: piero.proietti@gmail.com
6
- * license: MIT
7
- * https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
8
- */
9
- import Utils from '../../../classes/utils.js';
10
- import { exec } from '../../../lib/utils.js';
11
- /**
12
- *
13
- * @param mountpoint
14
- */
15
- export default async function umount(mountPoint = '') {
16
- let message = 'umount: ' + mountPoint;
17
- if (Utils.isMountpoint(mountPoint)) {
18
- let cmd = `umount ${mountPoint} ${this.toNull}`;
19
- try {
20
- await exec(cmd, this.echo);
21
- await exec('sleep 1', this.echo);
22
- }
23
- catch (error) {
24
- message += cmd + JSON.stringify(error);
25
- await Utils.pressKeyToExit(message, true);
26
- }
27
- }
28
- }
@@ -1,13 +0,0 @@
1
- /**
2
- * ./src/krill/modules/unpackfs.ts
3
- * penguins-eggs v.25.7.x / ecmascript 2020
4
- * author: Piero Proietti
5
- * email: piero.proietti@gmail.com
6
- * license: MIT
7
- * https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
8
- */
9
- import Sequence from '../../classes/sequence.js';
10
- /**
11
- * unpackfs
12
- */
13
- export default function unpackfs(this: Sequence): Promise<void>;
@@ -1,20 +0,0 @@
1
- /**
2
- * ./src/krill/modules/unpackfs.ts
3
- * penguins-eggs v.25.7.x / ecmascript 2020
4
- * author: Piero Proietti
5
- * email: piero.proietti@gmail.com
6
- * license: MIT
7
- * https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
8
- */
9
- import Utils from '../../../classes/utils.js';
10
- import { exec } from '../../../lib/utils.js';
11
- /**
12
- * unpackfs
13
- */
14
- export default async function unpackfs() {
15
- // const cmd = `unsquashfs -d ${this.installTarget} -f ${this.distro.liveMediumPath}`
16
- const cmd = `unsquashfs -d ${this.installTarget} -f ${this.distro.liveMediumPath}${this.distro.squashfs} ${this.toNull}`;
17
- const echoYes = Utils.setEcho(true);
18
- const echoNo = Utils.setEcho(false);
19
- await exec(cmd, echoNo);
20
- }
@@ -1,134 +0,0 @@
1
- /**
2
- * Sequence - Simple Refactoring
3
- * ./src/krill/sequence.ts
4
- * penguins-eggs v.25.7.x / ecmascript 2020
5
- * author: Piero Proietti
6
- * email: piero.proietti@gmail.com
7
- * license: MIT
8
- */
9
- import { IRemix, IDistro, INet } from '../../interfaces/index.js';
10
- import Settings from '../../classes/settings.js';
11
- import CliAutologin from '../../classes/cli-autologin.js';
12
- import { IInstaller, IDevices } from '../../interfaces/index.js';
13
- import { ILocation, IKeyboard, IPartitions, IUsers } from '../interfaces/i_krill.js';
14
- import partition from './sequence.d/partition.js';
15
- import biosStandard from './sequence.d/partition.d/bios_standard.js';
16
- import biosLuks from './sequence.d/partition.d/bios_luks.js';
17
- import uefiStandard from './sequence.d/partition.d/uefi_standard.js';
18
- import uefiLuks from './sequence.d/partition.d/uefi_luks.js';
19
- import { mountFs, umountFs } from './sequence.d/mount_fs.js';
20
- import { mountVfs, umountVfs } from './sequence.d/mount_vfs.js';
21
- import unpackfs from './sequence.d/unpackfs.js';
22
- import machineId from './sequence.d/machine_id.js';
23
- import fstab from './sequence.d/fstab.js';
24
- import locale from './sequence.d/locale.js';
25
- import mKeyboard from './sequence.d/m_keyboard.js';
26
- import localeCfg from './sequence.d/locale_cfg.js';
27
- import addUser from './sequence.d/add_user.js';
28
- import changePassword from './sequence.d/change_password.js';
29
- import networkCfg from './sequence.d/network_cfg.js';
30
- import bootloaderConfig from './sequence.d/bootloader_config.js';
31
- import grubcfg from './sequence.d/grubcfg.js';
32
- import bootloader from './sequence.d/bootloader.js';
33
- import packages from './sequence.d/packages.js';
34
- import removeInstallerLink from './sequence.d/remove_installer_link.js';
35
- import initramfsCfg from './sequence.d/initramfs_cfg.js';
36
- import initramfs from './sequence.d/initramfs.js';
37
- import delLiveUser from './sequence.d/del_live_user.js';
38
- import umount from './sequence.d/umount.js';
39
- import mkfs from './sequence.d/mkfs.js';
40
- import hostname from './sequence.d/hostname.js';
41
- /**
42
- * Main Sequence class - Simple Refactoring
43
- */
44
- export default class Sequence {
45
- partition: typeof partition;
46
- partitionBiosStandard: typeof biosStandard;
47
- partitionUefiStandard: typeof uefiStandard;
48
- partitionBiosLuks: typeof biosLuks;
49
- partitionUefiLuks: typeof uefiLuks;
50
- mountFs: typeof mountFs;
51
- mountVfs: typeof mountVfs;
52
- unpackfs: typeof unpackfs;
53
- machineId: typeof machineId;
54
- fstab: typeof fstab;
55
- locale: typeof locale;
56
- keyboard: typeof mKeyboard;
57
- localeCfg: typeof localeCfg;
58
- addUser: typeof addUser;
59
- changePassword: typeof changePassword;
60
- networkCfg: typeof networkCfg;
61
- bootloaderConfig: typeof bootloaderConfig;
62
- grubcfg: typeof grubcfg;
63
- bootloader: typeof bootloader;
64
- packages: typeof packages;
65
- removeInstallerLink: typeof removeInstallerLink;
66
- initramfsCfg: typeof initramfsCfg;
67
- initramfs: typeof initramfs;
68
- delLiveUser: typeof delLiveUser;
69
- umountFs: typeof umountFs;
70
- umountVfs: typeof umountVfs;
71
- umount: typeof umount;
72
- mkfs: typeof mkfs;
73
- hostname: typeof hostname;
74
- installer: IInstaller;
75
- installTarget: string;
76
- verbose: boolean;
77
- echo: {};
78
- efi: boolean;
79
- devices: IDevices;
80
- users: IUsers;
81
- network: INet;
82
- partitions: IPartitions;
83
- swapSize: number;
84
- language: string;
85
- region: string;
86
- zone: string;
87
- keyboardModel: string;
88
- keyboardLayout: string;
89
- keyboardVariant: string;
90
- toNull: string;
91
- spinner: boolean;
92
- settings: Settings;
93
- remix: IRemix;
94
- distro: IDistro;
95
- luksName: string;
96
- luksFile: string;
97
- luksDevice: string;
98
- luksMountpoint: string;
99
- luksRootName: string;
100
- is_clone: boolean;
101
- is_crypted_clone: boolean;
102
- unattended: boolean;
103
- nointeractive: boolean;
104
- chroot: boolean;
105
- halt: boolean;
106
- cliAutologin: CliAutologin;
107
- /**
108
- * Constructor (unchanged)
109
- */
110
- constructor(location: ILocation, keyboard: IKeyboard, partitions: IPartitions, users: IUsers, network: INet);
111
- /**
112
- * Helper method to execute a step with standard error handling
113
- */
114
- private executeStep;
115
- /**
116
- * Main start method - Much cleaner sequence
117
- */
118
- start(domain?: string, unattended?: boolean, nointeractive?: boolean, chroot?: boolean, halt?: boolean, verbose?: boolean): Promise<void>;
119
- /**
120
- * Setup installation parameters and environment
121
- */
122
- private setupInstallation;
123
- /**
124
- * Main installation sequence - Linear and clear
125
- */
126
- private runInstallationSequence;
127
- /**
128
- * Complete installation with reboot/halt
129
- */
130
- private completeInstallation;
131
- execCalamaresModule(name: string): Promise<void>;
132
- emergencyShell(message: string): Promise<void>;
133
- showProblem(message: string, currErr: any): Promise<void>;
134
- }
@@ -1,400 +0,0 @@
1
- /**
2
- * Sequence - Simple Refactoring
3
- * ./src/krill/sequence.ts
4
- * penguins-eggs v.25.7.x / ecmascript 2020
5
- * author: Piero Proietti
6
- * email: piero.proietti@gmail.com
7
- * license: MIT
8
- */
9
- import Settings from '../../classes/settings.js';
10
- import React from 'react';
11
- import { render, Box, Text } from 'ink';
12
- import Install from '../components/install.js';
13
- import Finished from '../components/finished.js';
14
- import fs from 'fs';
15
- import yaml from 'js-yaml';
16
- import { installer } from '../../classes/incubation/installer.js';
17
- import CliAutologin from '../../classes/cli-autologin.js';
18
- import Distro from '../../classes/distro.js';
19
- import Pacman from '../../classes/pacman.js';
20
- import Utils from '../../classes/utils.js';
21
- import Xdg from '../../classes/xdg.js';
22
- import { exec } from '../../lib/utils.js';
23
- // Import all modules (unchanged)
24
- import partition from './sequence.d/partition.js';
25
- import biosStandard from './sequence.d/partition.d/bios_standard.js';
26
- import biosLuks from './sequence.d/partition.d/bios_luks.js';
27
- import uefiStandard from './sequence.d/partition.d/uefi_standard.js';
28
- import uefiLuks from './sequence.d/partition.d/uefi_luks.js';
29
- import { mountFs, umountFs } from './sequence.d/mount_fs.js';
30
- import { mountVfs, umountVfs } from './sequence.d/mount_vfs.js';
31
- import unpackfs from './sequence.d/unpackfs.js';
32
- import machineId from './sequence.d/machine_id.js';
33
- import fstab from './sequence.d/fstab.js';
34
- import locale from './sequence.d/locale.js';
35
- import mKeyboard from './sequence.d/m_keyboard.js';
36
- import localeCfg from './sequence.d/locale_cfg.js';
37
- import addUser from './sequence.d/add_user.js';
38
- import changePassword from './sequence.d/change_password.js';
39
- import networkCfg from './sequence.d/network_cfg.js';
40
- import bootloaderConfig from './sequence.d/bootloader_config.js';
41
- import grubcfg from './sequence.d/grubcfg.js';
42
- import bootloader from './sequence.d/bootloader.js';
43
- import packages from './sequence.d/packages.js';
44
- import removeInstallerLink from './sequence.d/remove_installer_link.js';
45
- import initramfsCfg from './sequence.d/initramfs_cfg.js';
46
- import initramfs from './sequence.d/initramfs.js';
47
- import delLiveUser from './sequence.d/del_live_user.js';
48
- import umount from './sequence.d/umount.js';
49
- import mkfs from './sequence.d/mkfs.js';
50
- import hostname from './sequence.d/hostname.js';
51
- import CFS from './cfs.js';
52
- import Title from '../components/title.js';
53
- import cliCursor from 'cli-cursor';
54
- import { spawnSync } from 'child_process';
55
- /**
56
- * Main Sequence class - Simple Refactoring
57
- */
58
- export default class Sequence {
59
- // All module references (unchanged)
60
- partition = partition;
61
- partitionBiosStandard = biosStandard;
62
- partitionUefiStandard = uefiStandard;
63
- partitionBiosLuks = biosLuks;
64
- partitionUefiLuks = uefiLuks;
65
- mountFs = mountFs;
66
- mountVfs = mountVfs;
67
- unpackfs = unpackfs;
68
- machineId = machineId;
69
- fstab = fstab;
70
- locale = locale;
71
- keyboard = mKeyboard;
72
- localeCfg = localeCfg;
73
- addUser = addUser;
74
- changePassword = changePassword;
75
- networkCfg = networkCfg;
76
- bootloaderConfig = bootloaderConfig;
77
- grubcfg = grubcfg;
78
- bootloader = bootloader;
79
- packages = packages;
80
- removeInstallerLink = removeInstallerLink;
81
- initramfsCfg = initramfsCfg;
82
- initramfs = initramfs;
83
- delLiveUser = delLiveUser;
84
- umountFs = umountFs;
85
- umountVfs = umountVfs;
86
- umount = umount;
87
- mkfs = mkfs;
88
- hostname = hostname;
89
- // All properties (unchanged)
90
- installer = {};
91
- installTarget = '/tmp/calamares-krill-root';
92
- verbose = false;
93
- echo = {};
94
- efi = false;
95
- devices = {};
96
- users = {};
97
- network = {};
98
- partitions = {};
99
- swapSize = 0;
100
- language = '';
101
- region = '';
102
- zone = '';
103
- keyboardModel = '';
104
- keyboardLayout = '';
105
- keyboardVariant = '';
106
- toNull = ' > /dev/null 2>&1';
107
- spinner = true;
108
- settings = {};
109
- remix = {};
110
- distro = {};
111
- luksName = 'luks-volume'; // encrypted ISOs
112
- luksFile = ``; // encrypted ISOs
113
- luksDevice = `/dev/mapper/${this.luksName}`; // encrypted ISOs
114
- luksMountpoint = `/mnt`; // encrypted ISOs
115
- luksRootName = ''; // installation encrypted
116
- is_clone = fs.existsSync('/etc/penguins-eggs.d/is_clone');
117
- is_crypted_clone = fs.existsSync('/etc/penguins-eggs.d/is_crypted_clone');
118
- unattended = false;
119
- nointeractive = false;
120
- chroot = false;
121
- halt = false;
122
- cliAutologin = new CliAutologin();
123
- /**
124
- * Constructor (unchanged)
125
- */
126
- constructor(location, keyboard, partitions, users, network) {
127
- this.installer = installer();
128
- this.settings = new Settings();
129
- this.language = location.language;
130
- this.region = location.region;
131
- this.zone = location.zone;
132
- this.keyboardModel = keyboard.keyboardModel;
133
- this.keyboardLayout = keyboard.keyboardLayout;
134
- this.keyboardVariant = keyboard.keyboardVariant;
135
- this.network = network;
136
- this.partitions = partitions;
137
- this.users = users;
138
- this.devices.efi = {};
139
- this.devices.boot = {};
140
- this.devices.root = {};
141
- this.devices.data = {};
142
- this.devices.swap = {};
143
- this.distro = new Distro();
144
- this.efi = fs.existsSync('/sys/firmware/efi/efivars');
145
- this.luksFile = `${this.distro.liveMediumPath}live/${this.luksName}`;
146
- this.luksRootName = `${this.distro.distroLike}_root`;
147
- this.luksRootName = this.luksRootName.toLowerCase(); // installation encrypted
148
- }
149
- /**
150
- * Helper method to execute a step with standard error handling
151
- */
152
- async executeStep(message, percent, action) {
153
- await redraw(React.createElement(Install, { message: message, percent: percent, spinner: this.spinner }));
154
- try {
155
- await action();
156
- }
157
- catch (error) {
158
- await this.showProblem(message, error);
159
- }
160
- }
161
- /**
162
- * Main start method - Much cleaner sequence
163
- */
164
- async start(domain = '', unattended = false, nointeractive = false, chroot = false, halt = false, verbose = false) {
165
- // Setup (unchanged)
166
- await this.setupInstallation(domain, unattended, nointeractive, chroot, halt, verbose);
167
- // Installation sequence - each step clearly visible
168
- await this.runInstallationSequence(chroot);
169
- // Completion
170
- await this.completeInstallation();
171
- }
172
- /**
173
- * Setup installation parameters and environment
174
- */
175
- async setupInstallation(domain, unattended, nointeractive, chroot, halt, verbose) {
176
- // Set domain
177
- if (domain !== '') {
178
- if (domain.at(0) !== '.') {
179
- domain = '.' + domain;
180
- }
181
- this.network.domain = domain;
182
- }
183
- // Arch-specific setup
184
- if (this.distro.familyId === 'archlinux') {
185
- if (this.distro.distroId === 'Manjarolinux') {
186
- await exec(`ln -s /run/miso/bootmnt/live/ /live`);
187
- }
188
- else {
189
- await exec(`ln -s /run/archiso/bootmnt/live/ /live`);
190
- }
191
- }
192
- // OpenSUSE-specific setup
193
- if (this.distro.familyId === 'opensuse') {
194
- await exec('dmsetup remove_all');
195
- }
196
- // Set flags
197
- this.unattended = unattended;
198
- this.nointeractive = nointeractive;
199
- this.chroot = chroot;
200
- this.halt = halt;
201
- this.verbose = verbose;
202
- this.echo = Utils.setEcho(this.verbose);
203
- if (this.verbose) {
204
- this.toNull = '';
205
- this.spinner = false;
206
- }
207
- await this.settings.load();
208
- }
209
- /**
210
- * Main installation sequence - Linear and clear
211
- */
212
- async runInstallationSequence(chroot = false) {
213
- // 1. Partitioning and formatting
214
- let isPartitioned = false;
215
- await this.executeStep("Creating partitions", 0, async () => {
216
- isPartitioned = await this.partition();
217
- });
218
- if (!isPartitioned)
219
- return;
220
- await this.executeStep("Formatting file system", 6, () => this.mkfs());
221
- // 2. Mounting
222
- await this.executeStep("Mounting target file system", 9, async () => {
223
- await this.mountFs();
224
- await sleep(500); // Give time to mount
225
- });
226
- await this.executeStep("Mounting on target VFS", 12, () => this.mountVfs());
227
- // 3. System setup
228
- await this.executeStep("Unpacking filesystem", 15, () => this.unpackfs());
229
- // 4. Debian-specific steps
230
- if (this.distro.familyId === 'debian') {
231
- await this.executeStep("Force dpkg-unsafe-io", 40, () => this.execCalamaresModule('dpkg-unsafe-io'));
232
- await this.executeStep("Add sources-yolk", 43, () => this.execCalamaresModule('sources-yolk'));
233
- }
234
- // 5. Core system configuration
235
- await this.executeStep("machineid", 46, () => this.machineId());
236
- await this.executeStep("Creating fstab", 49, () => this.fstab(this.partitions.installationDevice));
237
- // 6. Crypted clone restoration
238
- if (this.is_crypted_clone) {
239
- await this.executeStep("Restore private data from crypted clone", 55, async () => {
240
- if (fs.existsSync(this.luksFile)) {
241
- const cmd = `eggs syncfrom --rootdir /tmp/calamares-krill-root/ --file ${this.luksFile}`;
242
- await exec(cmd, Utils.setEcho(true));
243
- this.is_clone = true;
244
- }
245
- else {
246
- await Utils.pressKeyToExit(`Cannot find luks-volume file ${this.luksFile}`);
247
- }
248
- });
249
- }
250
- // 7. Network and hostname
251
- await this.executeStep("Network configuration", 61, () => this.networkCfg());
252
- await this.executeStep("Create hostname", 64, () => this.hostname(this.network.domain));
253
- // 8. Debian cleanup
254
- if (this.distro.familyId === 'debian') {
255
- await this.executeStep("Remove dpkg-unsafe-io", 65, () => this.execCalamaresModule('dpkg-unsafe-io-undo'));
256
- }
257
- // 9. User configuration (only if not clone)
258
- if (!this.is_clone) {
259
- // Locale
260
- await this.executeStep("Locale", 70, async () => {
261
- if (this.distro.familyId === 'alpine' ||
262
- this.distro.familyId === 'archlinux' ||
263
- this.distro.familyId === 'debian') {
264
- await this.locale();
265
- }
266
- });
267
- await this.executeStep("Settings keyboard", 71, () => this.keyboard());
268
- // Locale configuration
269
- if (this.distro.familyId === 'archlinux' || this.distro.familyId === 'debian') {
270
- await this.executeStep("Locale configuration", 72, async () => {
271
- await this.localeCfg();
272
- await exec("chroot " + this.installTarget + " locale-gen" + this.toNull);
273
- });
274
- }
275
- await this.executeStep("Remove live user", 73, () => this.delLiveUser());
276
- await this.executeStep(`Add user ${this.users.username}`, 74, () => this.addUser(this.users.username, this.users.password, this.users.fullname, '', '', ''));
277
- await this.executeStep("Add root password", 75, () => this.changePassword('root', this.users.rootPassword));
278
- // GUI autologin
279
- if (Pacman.isInstalledGui()) {
280
- await this.executeStep("Autologin GUI", 78, async () => {
281
- if (this.users.autologin) {
282
- await Xdg.autologin(await Utils.getPrimaryUser(), this.users.username, this.installTarget);
283
- if (this.distro.distroLike === 'Arch') {
284
- await exec(`chroot ${this.installTarget} groupadd autologin ${this.toNull}`);
285
- await exec(`chroot ${this.installTarget} gpasswd -a ${this.users.username} autologin ${this.toNull}`);
286
- }
287
- }
288
- });
289
- }
290
- }
291
- // 10. Always remove CLI autologin
292
- await this.executeStep("Remove autologin CLI", 80, () => this.cliAutologin.remove(this.installTarget));
293
- // 10. mkinitramfs
294
- await this.executeStep("initramfs configure", 86, () => this.initramfsCfg(this.partitions.installationDevice));
295
- await this.executeStep("initramfs", 87, () => this.initramfs());
296
- // 11. Bootloader configuration
297
- await this.executeStep("bootloader-config", 81, () => this.bootloaderConfig());
298
- await this.executeStep("grubcfg", 82, () => this.grubcfg());
299
- await this.executeStep("bootloader", 83, () => this.bootloader());
300
- // 12. Final system setup
301
- if (this.distro.familyId === 'debian') {
302
- await this.executeStep("Remove sources-yolk", 84, () => this.execCalamaresModule('sources-yolk-undo'));
303
- }
304
- await this.executeStep("Add/remove packages", 85, () => this.packages());
305
- await this.executeStep("Remove GUI installer link", 88, () => this.removeInstallerLink());
306
- await this.executeStep("Cleanup", 89, async () => {
307
- await exec(`rm -f ${this.installTarget}/etc/penguins-eggs.d/is_clone`);
308
- await exec(`rm -f ${this.installTarget}/etc/penguins-eggs.d/is_crypted_clone`);
309
- });
310
- // 13. Custom final steps
311
- const cfs = new CFS();
312
- const steps = await cfs.steps();
313
- if (steps.length > 0) {
314
- for (const step of steps) {
315
- await this.executeStep(`running ${step}`, 90, () => this.execCalamaresModule(step));
316
- }
317
- }
318
- // 14- Handle chroot if requested
319
- if (chroot) {
320
- const message = `You are in chroot mode under ${this.installTarget}, type "exit" to exit.`;
321
- await this.emergencyShell(message);
322
- }
323
- // 15. Unmounting
324
- await this.executeStep("umount Virtual File System", 96, () => this.umountVfs());
325
- await this.executeStep("umount File system", 99, () => this.umountFs());
326
- }
327
- /**
328
- * Complete installation with reboot/halt
329
- */
330
- async completeInstallation() {
331
- await sleep(500);
332
- const cmd = this.halt ? "poweroff" : "reboot";
333
- let message = `Press a key to ${cmd}`;
334
- if (this.unattended && this.nointeractive) {
335
- message = `System will ${cmd} in 5 seconds...`;
336
- }
337
- await redraw(React.createElement(Finished, { installationDevice: this.partitions.installationDevice, hostName: this.users.hostname, userName: this.users.username, message: message }));
338
- if (this.unattended && this.nointeractive) {
339
- await sleep(5000);
340
- }
341
- else {
342
- spawnSync('read _ ', { shell: true, stdio: [0, 1, 2] });
343
- }
344
- await exec(cmd, { echo: false });
345
- }
346
- // Keep all existing methods unchanged
347
- async execCalamaresModule(name) {
348
- const moduleName = this.installer.multiarchModules + name + '/module.desc';
349
- if (fs.existsSync(moduleName)) {
350
- const calamaresModule = yaml.load(fs.readFileSync(moduleName, 'utf8'));
351
- let command = calamaresModule.command;
352
- if (command !== '' || command !== undefined) {
353
- command += this.toNull;
354
- await exec(command, this.echo);
355
- }
356
- }
357
- }
358
- async emergencyShell(message) {
359
- try {
360
- await redraw(React.createElement(React.Fragment, null,
361
- React.createElement(Title, null),
362
- React.createElement(Box, null,
363
- React.createElement(Text, null, message))));
364
- cliCursor.show();
365
- await exec(`chroot ${this.installTarget} /bin/bash`);
366
- cliCursor.hide();
367
- }
368
- catch (error) {
369
- await Utils.pressKeyToExit(JSON.stringify(error));
370
- }
371
- }
372
- async showProblem(message, currErr) {
373
- message = `We was on "${message}", get error: ${JSON.stringify(currErr)}, type "exit" to exit from krill emergency shell.`;
374
- try {
375
- await redraw(React.createElement(React.Fragment, null,
376
- React.createElement(Title, null),
377
- React.createElement(Box, null,
378
- React.createElement(Text, null, message))));
379
- cliCursor.show();
380
- await exec("/bin/bash");
381
- cliCursor.hide();
382
- }
383
- catch (error) {
384
- await Utils.pressKeyToExit(JSON.stringify(error));
385
- }
386
- }
387
- }
388
- // Helper functions (unchanged)
389
- async function redraw(elem) {
390
- let opt = {};
391
- opt.patchConsole = false;
392
- opt.debug = true;
393
- console.clear();
394
- render(elem, opt);
395
- }
396
- function sleep(ms = 0) {
397
- return new Promise((resolve) => {
398
- setTimeout(resolve, ms);
399
- });
400
- }
@@ -1,16 +0,0 @@
1
- /**
2
- * ./src/components/finished.tsx
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 React from 'react';
9
- type FinishedProps = {
10
- installationDevice?: string;
11
- hostName?: string;
12
- userName?: string;
13
- message?: string;
14
- };
15
- export default function Finished({ installationDevice, hostName, userName, message }: FinishedProps): React.JSX.Element;
16
- export {};
@@ -1,56 +0,0 @@
1
- /**
2
- * ./src/components/finished.tsx
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 React from 'react';
9
- import { Box, Newline, Text, Spacer } from 'ink';
10
- import Title from './title.js';
11
- import Steps from './steps.js';
12
- import yaml from 'js-yaml';
13
- import fs from 'fs';
14
- export default function Finished({ installationDevice = '', hostName = '', userName = '', message = 'Press a key to continue...' }) {
15
- let productName = 'unknown';
16
- let version = 'x.x.x';
17
- let configRoot = '/etc/penguins-eggs.d/krill/';
18
- if (fs.existsSync('/etc/calamares/settings.conf')) {
19
- configRoot = '/etc/calamares/';
20
- }
21
- const settings = yaml.load(fs.readFileSync(configRoot + 'settings.conf', 'utf-8'));
22
- const branding = settings.branding;
23
- const calamares = yaml.load(fs.readFileSync(configRoot + 'branding/' + branding + '/branding.desc', 'utf-8'));
24
- productName = calamares.string_product_name;
25
- version = calamares.string_product_version;
26
- /**
27
- * totale width=75
28
- * step width=15
29
- * finestra with=59
30
- */
31
- const [activeField, setActiveField] = React.useState(0);
32
- const [submission, setSubmission] = React.useState();
33
- return (React.createElement(React.Fragment, null,
34
- React.createElement(Title, null),
35
- React.createElement(Box, { width: 75, height: 11, borderStyle: "round", flexDirection: "column" },
36
- React.createElement(Box, { flexDirection: "column" },
37
- React.createElement(Box, { flexDirection: "row" },
38
- React.createElement(Steps, { step: 9 }),
39
- React.createElement(Box, { flexDirection: "column" },
40
- React.createElement(Box, null,
41
- React.createElement(Text, { backgroundColor: "white", color: 'black' }, "Installation is finished!")),
42
- React.createElement(Newline, null),
43
- React.createElement(Box, null,
44
- React.createElement(Text, null, "Your system was installed on "),
45
- React.createElement(Text, { color: "green" }, installationDevice)),
46
- React.createElement(Box, null,
47
- React.createElement(Text, null, "Host name was set as "),
48
- React.createElement(Text, { color: "green" }, hostName)),
49
- React.createElement(Box, null,
50
- React.createElement(Text, null, "The user name is "),
51
- React.createElement(Text, { color: "green" }, userName)),
52
- React.createElement(Newline, null),
53
- React.createElement(Box, null,
54
- React.createElement(Spacer, null),
55
- React.createElement(Text, { backgroundColor: "white", color: "black" }, message))))))));
56
- }
@@ -1,8 +0,0 @@
1
- /**
2
- * ./src/components/information.tsx
3
- * penguins-eggs v.25.7.x / ecmascript 2020
4
- * author: Piero Proietti
5
- * email: piero.proietti@gmail.com
6
- * license: MIT
7
- */
8
- export default function information(verbose?: boolean): Promise<void>;