penguins-eggs 10.1.0 → 10.1.1

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 (440) hide show
  1. package/.oclif.manifest.json +1 -32
  2. package/README.md +109 -78
  3. package/conf/derivatives.yaml +3 -0
  4. package/conf/distros/buster/calamares/modules/users.yml +1 -0
  5. package/conf/distros/noble/calamares/modules/users.yml +1 -0
  6. package/dist/classes/bleach.d.ts +32 -0
  7. package/dist/classes/bleach.js +135 -0
  8. package/dist/classes/cli-autologin.d.ts +52 -0
  9. package/dist/classes/cli-autologin.js +247 -0
  10. package/dist/classes/compressors.d.ts +54 -0
  11. package/dist/classes/compressors.js +109 -0
  12. package/dist/classes/daddy.d.ts +26 -0
  13. package/dist/classes/daddy.js +167 -0
  14. package/dist/classes/distro.d.ts +56 -0
  15. package/dist/classes/distro.js +413 -0
  16. package/dist/classes/diversions.d.ts +52 -0
  17. package/dist/classes/diversions.js +126 -0
  18. package/dist/classes/incubation/branding.d.ts +17 -0
  19. package/dist/classes/incubation/branding.js +85 -0
  20. package/dist/classes/incubation/fisherman-helper/displaymanager.d.ts +11 -0
  21. package/dist/classes/incubation/fisherman-helper/displaymanager.js +40 -0
  22. package/dist/classes/incubation/fisherman-helper/packages.d.ts +20 -0
  23. package/dist/classes/incubation/fisherman-helper/packages.js +72 -0
  24. package/dist/classes/incubation/fisherman-helper/settings.d.ts +15 -0
  25. package/dist/classes/incubation/fisherman-helper/settings.js +83 -0
  26. package/dist/classes/incubation/fisherman.d.ts +70 -0
  27. package/dist/classes/incubation/fisherman.js +263 -0
  28. package/dist/classes/incubation/incubator.d/alpine.d.ts +32 -0
  29. package/dist/classes/incubation/incubator.d/alpine.js +78 -0
  30. package/dist/classes/incubation/incubator.d/bionic.d.ts +32 -0
  31. package/dist/classes/incubation/incubator.d/bionic.js +83 -0
  32. package/dist/classes/incubation/incubator.d/buster.d.ts +32 -0
  33. package/dist/classes/incubation/incubator.d/buster.js +85 -0
  34. package/dist/classes/incubation/incubator.d/jessie.d.ts +31 -0
  35. package/dist/classes/incubation/incubator.d/jessie.js +44 -0
  36. package/dist/classes/incubation/incubator.d/noble.d.ts +32 -0
  37. package/dist/classes/incubation/incubator.d/noble.js +85 -0
  38. package/dist/classes/incubation/incubator.d/openmamba.d.ts +32 -0
  39. package/dist/classes/incubation/incubator.d/openmamba.js +81 -0
  40. package/dist/classes/incubation/incubator.d/opensuse.d.ts +32 -0
  41. package/dist/classes/incubation/incubator.d/opensuse.js +81 -0
  42. package/dist/classes/incubation/incubator.d/rolling.d.ts +32 -0
  43. package/dist/classes/incubation/incubator.d/rolling.js +80 -0
  44. package/dist/classes/incubation/incubator.d.ts +44 -0
  45. package/dist/classes/incubation/incubator.js +382 -0
  46. package/dist/classes/incubation/installer.d.ts +13 -0
  47. package/dist/classes/incubation/installer.js +52 -0
  48. package/dist/classes/keyboards.d.ts +50 -0
  49. package/dist/classes/keyboards.js +287 -0
  50. package/dist/classes/locales.d.ts +21 -0
  51. package/dist/classes/locales.js +77 -0
  52. package/dist/classes/network.d.ts +37 -0
  53. package/dist/classes/network.js +98 -0
  54. package/dist/classes/ovary.d/bind-live-fs.d.ts +18 -0
  55. package/dist/classes/ovary.d/bind-live-fs.js +177 -0
  56. package/dist/classes/ovary.d/bind-vfs.d.ts +17 -0
  57. package/dist/classes/ovary.d/bind-vfs.js +37 -0
  58. package/dist/classes/ovary.d/create-xdg-autostart.d.ts +13 -0
  59. package/dist/classes/ovary.d/create-xdg-autostart.js +194 -0
  60. package/dist/classes/ovary.d/edit-live-fs.d.ts +20 -0
  61. package/dist/classes/ovary.d/edit-live-fs.js +245 -0
  62. package/dist/classes/ovary.d/fertilization.d.ts +12 -0
  63. package/dist/classes/ovary.d/fertilization.js +51 -0
  64. package/dist/classes/ovary.d/finished.d.ts +13 -0
  65. package/dist/classes/ovary.d/finished.js +41 -0
  66. package/dist/classes/ovary.d/initrd.d.ts +21 -0
  67. package/dist/classes/ovary.d/initrd.js +68 -0
  68. package/dist/classes/ovary.d/kernel-copy.d.ts +12 -0
  69. package/dist/classes/ovary.d/kernel-copy.js +22 -0
  70. package/dist/classes/ovary.d/live-create-structure.d.ts +12 -0
  71. package/dist/classes/ovary.d/live-create-structure.js +90 -0
  72. package/dist/classes/ovary.d/make-dot-disk.d.ts +12 -0
  73. package/dist/classes/ovary.d/make-dot-disk.js +40 -0
  74. package/dist/classes/ovary.d/make-efi.d.ts +12 -0
  75. package/dist/classes/ovary.d/make-efi.js +271 -0
  76. package/dist/classes/ovary.d/make-iso.d.ts +13 -0
  77. package/dist/classes/ovary.d/make-iso.js +45 -0
  78. package/dist/classes/ovary.d/make-squashfs.d.ts +18 -0
  79. package/dist/classes/ovary.d/make-squashfs.js +110 -0
  80. package/dist/classes/ovary.d/merged.d.ts +27 -0
  81. package/dist/classes/ovary.d/merged.js +77 -0
  82. package/dist/classes/ovary.d/produce.d.ts +23 -0
  83. package/dist/classes/ovary.d/produce.js +293 -0
  84. package/dist/classes/ovary.d/rexec.d.ts +13 -0
  85. package/dist/classes/ovary.d/rexec.js +34 -0
  86. package/dist/classes/ovary.d/syslinux.d.ts +12 -0
  87. package/dist/classes/ovary.d/syslinux.js +79 -0
  88. package/dist/classes/ovary.d/user-create-live.d.ts +14 -0
  89. package/dist/classes/ovary.d/user-create-live.js +93 -0
  90. package/dist/classes/ovary.d/users-remove.d.ts +9 -0
  91. package/dist/classes/ovary.d/users-remove.js +38 -0
  92. package/dist/classes/ovary.d/xorriso-commend.d.ts +14 -0
  93. package/dist/classes/ovary.d/xorriso-commend.js +119 -0
  94. package/dist/classes/ovary.d.ts +82 -0
  95. package/dist/classes/ovary.js +86 -0
  96. package/dist/classes/pacman.d/aldos.d.ts +52 -0
  97. package/dist/classes/pacman.d/aldos.js +100 -0
  98. package/dist/classes/pacman.d/alpine.d.ts +56 -0
  99. package/dist/classes/pacman.d/alpine.js +162 -0
  100. package/dist/classes/pacman.d/archlinux.d.ts +62 -0
  101. package/dist/classes/pacman.d/archlinux.js +136 -0
  102. package/dist/classes/pacman.d/debian.d.ts +65 -0
  103. package/dist/classes/pacman.d/debian.js +143 -0
  104. package/dist/classes/pacman.d/fedora.d.ts +53 -0
  105. package/dist/classes/pacman.d/fedora.js +101 -0
  106. package/dist/classes/pacman.d/openmamba.d.ts +52 -0
  107. package/dist/classes/pacman.d/openmamba.js +100 -0
  108. package/dist/classes/pacman.d/opensuse.d.ts +53 -0
  109. package/dist/classes/pacman.d/opensuse.js +102 -0
  110. package/dist/classes/pacman.d/voidlinux.d.ts +52 -0
  111. package/dist/classes/pacman.d/voidlinux.js +90 -0
  112. package/dist/classes/pacman.d.ts +139 -0
  113. package/dist/classes/pacman.js +776 -0
  114. package/dist/classes/pve-live.d.ts +17 -0
  115. package/dist/classes/pve-live.js +52 -0
  116. package/dist/classes/pxe.d.ts +74 -0
  117. package/dist/classes/pxe.js +410 -0
  118. package/dist/classes/settings.d.ts +52 -0
  119. package/dist/classes/settings.js +185 -0
  120. package/dist/classes/sources_list.d.ts +28 -0
  121. package/dist/classes/sources_list.js +89 -0
  122. package/dist/classes/systemctl.d.ts +47 -0
  123. package/dist/classes/systemctl.js +86 -0
  124. package/dist/classes/tailor.d.ts +50 -0
  125. package/dist/classes/tailor.js +527 -0
  126. package/dist/classes/tools.d.ts +26 -0
  127. package/dist/classes/tools.js +50 -0
  128. package/dist/classes/users.d.ts +28 -0
  129. package/dist/classes/users.js +143 -0
  130. package/dist/classes/utils.d/architecture.d.ts +41 -0
  131. package/dist/classes/utils.d/architecture.js +87 -0
  132. package/dist/classes/utils.d/console-output.d.ts +26 -0
  133. package/dist/classes/utils.d/console-output.js +46 -0
  134. package/dist/classes/utils.d/filesystem.d.ts +53 -0
  135. package/dist/classes/utils.d/filesystem.js +152 -0
  136. package/dist/classes/utils.d/formatters.d.ts +32 -0
  137. package/dist/classes/utils.d/formatters.js +64 -0
  138. package/dist/classes/utils.d/kernel.d.ts +83 -0
  139. package/dist/classes/utils.d/kernel.js +288 -0
  140. package/dist/classes/utils.d/network.d.ts +43 -0
  141. package/dist/classes/utils.d/network.js +133 -0
  142. package/dist/classes/utils.d/package-info.d.ts +55 -0
  143. package/dist/classes/utils.d/package-info.js +137 -0
  144. package/dist/classes/utils.d/snapshot.d.ts +44 -0
  145. package/dist/classes/utils.d/snapshot.js +102 -0
  146. package/dist/classes/utils.d/system.d.ts +63 -0
  147. package/dist/classes/utils.d/system.js +200 -0
  148. package/dist/classes/utils.d/user-interaction.d.ts +39 -0
  149. package/dist/classes/utils.d/user-interaction.js +104 -0
  150. package/dist/classes/utils.d.ts +95 -0
  151. package/dist/classes/utils.js +111 -0
  152. package/dist/classes/xdg.d.ts +45 -0
  153. package/dist/classes/xdg.js +337 -0
  154. package/dist/classes/yolk.d.ts +33 -0
  155. package/dist/classes/yolk.js +114 -0
  156. package/dist/commands/adapt.d.ts +17 -0
  157. package/dist/commands/adapt.js +33 -0
  158. package/dist/commands/analyze.d.ts +26 -0
  159. package/dist/commands/analyze.js +95 -0
  160. package/dist/commands/calamares.d.ts +29 -0
  161. package/dist/commands/calamares.js +112 -0
  162. package/dist/commands/config.d.ts +35 -0
  163. package/dist/commands/config.js +120 -0
  164. package/dist/commands/cuckoo.d.ts +16 -0
  165. package/dist/commands/cuckoo.js +62 -0
  166. package/dist/commands/dad.d.ts +21 -0
  167. package/dist/commands/dad.js +47 -0
  168. package/dist/commands/export/iso.d.ts +19 -0
  169. package/dist/commands/export/iso.js +55 -0
  170. package/dist/commands/export/pkg.d.ts +29 -0
  171. package/dist/commands/export/pkg.js +163 -0
  172. package/dist/commands/export/tarballs.d.ts +27 -0
  173. package/dist/commands/export/tarballs.js +79 -0
  174. package/dist/commands/install.d.ts +38 -0
  175. package/dist/commands/install.js +91 -0
  176. package/dist/commands/kill.d.ts +24 -0
  177. package/dist/commands/kill.js +50 -0
  178. package/dist/commands/love.d.ts +21 -0
  179. package/dist/commands/love.js +73 -0
  180. package/dist/commands/mom.d.ts +16 -0
  181. package/dist/commands/mom.js +30 -0
  182. package/dist/commands/pods.d.ts +22 -0
  183. package/dist/commands/pods.js +92 -0
  184. package/dist/commands/produce.d.ts +35 -0
  185. package/dist/commands/produce.js +221 -0
  186. package/dist/commands/status.d.ts +23 -0
  187. package/dist/commands/status.js +31 -0
  188. package/dist/commands/syncfrom.d.ts +45 -0
  189. package/dist/commands/syncfrom.js +152 -0
  190. package/dist/commands/syncto.d.ts +40 -0
  191. package/dist/commands/syncto.js +175 -0
  192. package/dist/commands/tools/clean.d.ts +18 -0
  193. package/dist/commands/tools/clean.js +37 -0
  194. package/dist/commands/tools/ppa.d.ts +26 -0
  195. package/dist/commands/tools/ppa.js +138 -0
  196. package/dist/commands/tools/skel.d.ts +18 -0
  197. package/dist/commands/tools/skel.js +44 -0
  198. package/dist/commands/tools/stat.d.ts +31 -0
  199. package/dist/commands/tools/stat.js +70 -0
  200. package/dist/commands/tools/yolk.d.ts +24 -0
  201. package/dist/commands/tools/yolk.js +45 -0
  202. package/dist/commands/update.d.ts +51 -0
  203. package/dist/commands/update.js +219 -0
  204. package/dist/commands/wardrobe/get.d.ts +23 -0
  205. package/dist/commands/wardrobe/get.js +52 -0
  206. package/dist/commands/wardrobe/list.d.ts +24 -0
  207. package/dist/commands/wardrobe/list.js +125 -0
  208. package/dist/commands/wardrobe/show.d.ts +25 -0
  209. package/dist/commands/wardrobe/show.js +97 -0
  210. package/dist/commands/wardrobe/wear.d.ts +26 -0
  211. package/dist/commands/wardrobe/wear.js +84 -0
  212. package/dist/index.d.ts +8 -0
  213. package/dist/index.js +8 -0
  214. package/dist/index_old.d.ts +8 -0
  215. package/dist/index_old.js +8 -0
  216. package/dist/interfaces/i-addons.d.ts +12 -0
  217. package/dist/interfaces/i-addons.js +8 -0
  218. package/dist/interfaces/i-analyze.d.ts +17 -0
  219. package/dist/interfaces/i-analyze.js +17 -0
  220. package/dist/interfaces/i-app.d.ts +14 -0
  221. package/dist/interfaces/i-app.js +8 -0
  222. package/dist/interfaces/i-branding.d.ts +36 -0
  223. package/dist/interfaces/i-branding.js +8 -0
  224. package/dist/interfaces/i-calamares-displaymanager.d.ts +17 -0
  225. package/dist/interfaces/i-calamares-displaymanager.js +1 -0
  226. package/dist/interfaces/i-calamares-finished.d.ts +12 -0
  227. package/dist/interfaces/i-calamares-finished.js +1 -0
  228. package/dist/interfaces/i-calamares-packages.d.ts +28 -0
  229. package/dist/interfaces/i-calamares-packages.js +1 -0
  230. package/dist/interfaces/i-calamares-partition.d.ts +40 -0
  231. package/dist/interfaces/i-calamares-partition.js +1 -0
  232. package/dist/interfaces/i-config-tools.d.ts +15 -0
  233. package/dist/interfaces/i-config-tools.js +8 -0
  234. package/dist/interfaces/i-devices.d.ts +20 -0
  235. package/dist/interfaces/i-devices.js +8 -0
  236. package/dist/interfaces/i-distro.d.ts +23 -0
  237. package/dist/interfaces/i-distro.js +8 -0
  238. package/dist/interfaces/i-drive-list.d.ts +33 -0
  239. package/dist/interfaces/i-drive-list.js +8 -0
  240. package/dist/interfaces/i-eggs-config.d.ts +32 -0
  241. package/dist/interfaces/i-eggs-config.js +8 -0
  242. package/dist/interfaces/i-excludes.d.ts +14 -0
  243. package/dist/interfaces/i-excludes.js +8 -0
  244. package/dist/interfaces/i-exec.d.ts +11 -0
  245. package/dist/interfaces/i-exec.js +8 -0
  246. package/dist/interfaces/i-initrd.d.ts +13 -0
  247. package/dist/interfaces/i-initrd.js +8 -0
  248. package/dist/interfaces/i-install.d.ts +16 -0
  249. package/dist/interfaces/i-install.js +8 -0
  250. package/dist/interfaces/i-installer.d.ts +17 -0
  251. package/dist/interfaces/i-installer.js +8 -0
  252. package/dist/interfaces/i-luks-passphrase.d.ts +11 -0
  253. package/dist/interfaces/i-luks-passphrase.js +8 -0
  254. package/dist/interfaces/i-materia.d.ts +36 -0
  255. package/dist/interfaces/i-materia.js +8 -0
  256. package/dist/interfaces/i-net.d.ts +16 -0
  257. package/dist/interfaces/i-net.js +8 -0
  258. package/dist/interfaces/i-os-release.d.ts +5 -0
  259. package/dist/interfaces/i-os-release.js +1 -0
  260. package/dist/interfaces/i-packages.d.ts +16 -0
  261. package/dist/interfaces/i-packages.js +8 -0
  262. package/dist/interfaces/i-partitions.d.ts +16 -0
  263. package/dist/interfaces/i-partitions.js +8 -0
  264. package/dist/interfaces/i-pxe.d.ts +45 -0
  265. package/dist/interfaces/i-pxe.js +1 -0
  266. package/dist/interfaces/i-remix.d.ts +21 -0
  267. package/dist/interfaces/i-remix.js +8 -0
  268. package/dist/interfaces/i-settings.d.ts +33 -0
  269. package/dist/interfaces/i-settings.js +8 -0
  270. package/dist/interfaces/i-user.d.ts +14 -0
  271. package/dist/interfaces/i-user.js +8 -0
  272. package/dist/interfaces/i-workdir.d.ts +14 -0
  273. package/dist/interfaces/i-workdir.js +8 -0
  274. package/dist/interfaces/i-xkb-model.d.ts +24 -0
  275. package/dist/interfaces/i-xkb-model.js +8 -0
  276. package/dist/interfaces/index.d.ts +26 -0
  277. package/dist/interfaces/index.js +8 -0
  278. package/dist/krill/classes/cfs.d.ts +17 -0
  279. package/dist/krill/classes/cfs.js +39 -0
  280. package/dist/krill/classes/krill_enums.d.ts +37 -0
  281. package/dist/krill/classes/krill_enums.js +41 -0
  282. package/dist/krill/classes/prepare.d/confirm.d.ts +5 -0
  283. package/dist/krill/classes/prepare.d/confirm.js +30 -0
  284. package/dist/krill/classes/prepare.d/keyboard.d.ts +14 -0
  285. package/dist/krill/classes/prepare.d/keyboard.js +62 -0
  286. package/dist/krill/classes/prepare.d/location.d.ts +17 -0
  287. package/dist/krill/classes/prepare.d/location.js +59 -0
  288. package/dist/krill/classes/prepare.d/network.d.ts +14 -0
  289. package/dist/krill/classes/prepare.d/network.js +68 -0
  290. package/dist/krill/classes/prepare.d/partitions.d.ts +14 -0
  291. package/dist/krill/classes/prepare.d/partitions.js +86 -0
  292. package/dist/krill/classes/prepare.d/summary.d.ts +15 -0
  293. package/dist/krill/classes/prepare.d/summary.js +69 -0
  294. package/dist/krill/classes/prepare.d/users.d.ts +6 -0
  295. package/dist/krill/classes/prepare.d/users.js +63 -0
  296. package/dist/krill/classes/prepare.d/welcome.d.ts +6 -0
  297. package/dist/krill/classes/prepare.d/welcome.js +30 -0
  298. package/dist/krill/classes/prepare.d.ts +89 -0
  299. package/dist/krill/classes/prepare.js +314 -0
  300. package/dist/krill/classes/sequence.d/add_user.d.ts +20 -0
  301. package/dist/krill/classes/sequence.d/add_user.js +66 -0
  302. package/dist/krill/classes/sequence.d/bootloader.d.ts +14 -0
  303. package/dist/krill/classes/sequence.d/bootloader.js +95 -0
  304. package/dist/krill/classes/sequence.d/bootloader_config.d.ts +14 -0
  305. package/dist/krill/classes/sequence.d/bootloader_config.js +165 -0
  306. package/dist/krill/classes/sequence.d/change_password.d.ts +15 -0
  307. package/dist/krill/classes/sequence.d/change_password.js +18 -0
  308. package/dist/krill/classes/sequence.d/del_live_user.d.ts +14 -0
  309. package/dist/krill/classes/sequence.d/del_live_user.js +39 -0
  310. package/dist/krill/classes/sequence.d/fstab.d.ts +14 -0
  311. package/dist/krill/classes/sequence.d/fstab.js +189 -0
  312. package/dist/krill/classes/sequence.d/grubcfg.d.ts +17 -0
  313. package/dist/krill/classes/sequence.d/grubcfg.js +33 -0
  314. package/dist/krill/classes/sequence.d/hostname.d.ts +13 -0
  315. package/dist/krill/classes/sequence.d/hostname.js +50 -0
  316. package/dist/krill/classes/sequence.d/initramfs.d.ts +13 -0
  317. package/dist/krill/classes/sequence.d/initramfs.js +54 -0
  318. package/dist/krill/classes/sequence.d/initramfs_cfg.d.ts +14 -0
  319. package/dist/krill/classes/sequence.d/initramfs_cfg.js +35 -0
  320. package/dist/krill/classes/sequence.d/locale.d.ts +13 -0
  321. package/dist/krill/classes/sequence.d/locale.js +91 -0
  322. package/dist/krill/classes/sequence.d/locale_cfg.d.ts +10 -0
  323. package/dist/krill/classes/sequence.d/locale_cfg.js +58 -0
  324. package/dist/krill/classes/sequence.d/m_keyboard.d.ts +14 -0
  325. package/dist/krill/classes/sequence.d/m_keyboard.js +58 -0
  326. package/dist/krill/classes/sequence.d/machine_id.d.ts +15 -0
  327. package/dist/krill/classes/sequence.d/machine_id.js +33 -0
  328. package/dist/krill/classes/sequence.d/mkfs.d.ts +15 -0
  329. package/dist/krill/classes/sequence.d/mkfs.js +72 -0
  330. package/dist/krill/classes/sequence.d/mount_fs.d.ts +17 -0
  331. package/dist/krill/classes/sequence.d/mount_fs.js +68 -0
  332. package/dist/krill/classes/sequence.d/mount_vfs.d.ts +17 -0
  333. package/dist/krill/classes/sequence.d/mount_vfs.js +40 -0
  334. package/dist/krill/classes/sequence.d/network_cfg.d.ts +19 -0
  335. package/dist/krill/classes/sequence.d/network_cfg.js +73 -0
  336. package/dist/krill/classes/sequence.d/packages.d.ts +14 -0
  337. package/dist/krill/classes/sequence.d/packages.js +111 -0
  338. package/dist/krill/classes/sequence.d/partition.d/bios_luks.d.ts +17 -0
  339. package/dist/krill/classes/sequence.d/partition.d/bios_luks.js +73 -0
  340. package/dist/krill/classes/sequence.d/partition.d/bios_standard.d.ts +17 -0
  341. package/dist/krill/classes/sequence.d/partition.d/bios_standard.js +36 -0
  342. package/dist/krill/classes/sequence.d/partition.d/uefi_luks.d.ts +17 -0
  343. package/dist/krill/classes/sequence.d/partition.d/uefi_luks.js +78 -0
  344. package/dist/krill/classes/sequence.d/partition.d/uefi_standard.d.ts +10 -0
  345. package/dist/krill/classes/sequence.d/partition.d/uefi_standard.js +32 -0
  346. package/dist/krill/classes/sequence.d/partition.d.ts +14 -0
  347. package/dist/krill/classes/sequence.d/partition.js +84 -0
  348. package/dist/krill/classes/sequence.d/remove_installer_link.d.ts +13 -0
  349. package/dist/krill/classes/sequence.d/remove_installer_link.js +35 -0
  350. package/dist/krill/classes/sequence.d/umount.d.ts +14 -0
  351. package/dist/krill/classes/sequence.d/umount.js +28 -0
  352. package/dist/krill/classes/sequence.d/unpackfs.d.ts +13 -0
  353. package/dist/krill/classes/sequence.d/unpackfs.js +20 -0
  354. package/dist/krill/classes/sequence.d.ts +133 -0
  355. package/dist/krill/classes/sequence.js +396 -0
  356. package/dist/krill/components/finished.d.ts +16 -0
  357. package/dist/krill/components/finished.js +56 -0
  358. package/dist/krill/components/information.d.ts +8 -0
  359. package/dist/krill/components/information.js +162 -0
  360. package/dist/krill/components/install.d.ts +15 -0
  361. package/dist/krill/components/install.js +60 -0
  362. package/dist/krill/components/keyboard.d.ts +16 -0
  363. package/dist/krill/components/keyboard.js +54 -0
  364. package/dist/krill/components/location.d.ts +16 -0
  365. package/dist/krill/components/location.js +59 -0
  366. package/dist/krill/components/network.d.ts +19 -0
  367. package/dist/krill/components/network.js +65 -0
  368. package/dist/krill/components/partitions.d.ts +18 -0
  369. package/dist/krill/components/partitions.js +89 -0
  370. package/dist/krill/components/steps.d.ts +13 -0
  371. package/dist/krill/components/steps.js +148 -0
  372. package/dist/krill/components/summary.d.ts +25 -0
  373. package/dist/krill/components/summary.js +77 -0
  374. package/dist/krill/components/title.d.ts +11 -0
  375. package/dist/krill/components/title.js +35 -0
  376. package/dist/krill/components/users.d.ts +24 -0
  377. package/dist/krill/components/users.js +80 -0
  378. package/dist/krill/components/welcome.d.ts +13 -0
  379. package/dist/krill/components/welcome.js +63 -0
  380. package/dist/krill/interfaces/i_krill.d.ts +44 -0
  381. package/dist/krill/interfaces/i_krill.js +8 -0
  382. package/dist/krill/interfaces/i_krill_config.d.ts +35 -0
  383. package/dist/krill/interfaces/i_krill_config.js +8 -0
  384. package/dist/krill/lib/get_address.d.ts +8 -0
  385. package/dist/krill/lib/get_address.js +23 -0
  386. package/dist/krill/lib/get_dns.d.ts +8 -0
  387. package/dist/krill/lib/get_dns.js +23 -0
  388. package/dist/krill/lib/get_domain.d.ts +8 -0
  389. package/dist/krill/lib/get_domain.js +23 -0
  390. package/dist/krill/lib/get_gateway.d.ts +8 -0
  391. package/dist/krill/lib/get_gateway.js +23 -0
  392. package/dist/krill/lib/get_hostname.d.ts +8 -0
  393. package/dist/krill/lib/get_hostname.js +23 -0
  394. package/dist/krill/lib/get_luks_passphrase.d.ts +8 -0
  395. package/dist/krill/lib/get_luks_passphrase.js +40 -0
  396. package/dist/krill/lib/get_netmask.d.ts +8 -0
  397. package/dist/krill/lib/get_netmask.js +23 -0
  398. package/dist/krill/lib/get_password.d.ts +8 -0
  399. package/dist/krill/lib/get_password.js +36 -0
  400. package/dist/krill/lib/get_userfullname.d.ts +8 -0
  401. package/dist/krill/lib/get_userfullname.js +23 -0
  402. package/dist/krill/lib/get_username.d.ts +8 -0
  403. package/dist/krill/lib/get_username.js +23 -0
  404. package/dist/krill/lib/select_address_type.d.ts +8 -0
  405. package/dist/krill/lib/select_address_type.js +24 -0
  406. package/dist/krill/lib/select_filesystem_type.d.ts +8 -0
  407. package/dist/krill/lib/select_filesystem_type.js +39 -0
  408. package/dist/krill/lib/select_installation_device.d.ts +8 -0
  409. package/dist/krill/lib/select_installation_device.js +40 -0
  410. package/dist/krill/lib/select_installation_mode.d.ts +9 -0
  411. package/dist/krill/lib/select_installation_mode.js +25 -0
  412. package/dist/krill/lib/select_interface.d.ts +8 -0
  413. package/dist/krill/lib/select_interface.js +24 -0
  414. package/dist/krill/lib/select_keyboard_layout.d.ts +11 -0
  415. package/dist/krill/lib/select_keyboard_layout.js +36 -0
  416. package/dist/krill/lib/select_keyboard_model.d.ts +11 -0
  417. package/dist/krill/lib/select_keyboard_model.js +34 -0
  418. package/dist/krill/lib/select_keyboard_option.d.ts +11 -0
  419. package/dist/krill/lib/select_keyboard_option.js +34 -0
  420. package/dist/krill/lib/select_keyboard_variant.d.ts +11 -0
  421. package/dist/krill/lib/select_keyboard_variant.js +35 -0
  422. package/dist/krill/lib/select_languages.d.ts +8 -0
  423. package/dist/krill/lib/select_languages.js +28 -0
  424. package/dist/krill/lib/select_regions.d.ts +8 -0
  425. package/dist/krill/lib/select_regions.js +24 -0
  426. package/dist/krill/lib/select_replaced_partition.d.ts +8 -0
  427. package/dist/krill/lib/select_replaced_partition.js +31 -0
  428. package/dist/krill/lib/select_user_swap_choice.d.ts +9 -0
  429. package/dist/krill/lib/select_user_swap_choice.js +35 -0
  430. package/dist/krill/lib/select_zones.d.ts +8 -0
  431. package/dist/krill/lib/select_zones.js +518 -0
  432. package/dist/lib/kill_me_softly.d.ts +11 -0
  433. package/dist/lib/kill_me_softly.js +61 -0
  434. package/dist/lib/utils.d.ts +42 -0
  435. package/dist/lib/utils.js +87 -0
  436. package/dist/penguins-eggs_10.1.1-0_amd64.deb +0 -0
  437. package/dist/penguins-eggs_10.1.1-0_amd64.deb.sha256 +1 -0
  438. package/package.json +25 -23
  439. package/scripts/_eggs +6 -12
  440. package/scripts/eggs.bash +1 -2
@@ -0,0 +1,396 @@
1
+ /**
2
+ * Sequence - Simple Refactoring
3
+ * ./src/krill/sequence.ts
4
+ * penguins-eggs v.10.0.0 / 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';
112
+ luksFile = ``;
113
+ luksDevice = `/dev/mapper/${this.luksName}`;
114
+ luksMountpoint = `/mnt`;
115
+ is_clone = fs.existsSync('/etc/penguins-eggs.d/is_clone');
116
+ is_crypted_clone = fs.existsSync('/etc/penguins-eggs.d/is_crypted_clone');
117
+ unattended = false;
118
+ nointeractive = false;
119
+ chroot = false;
120
+ halt = false;
121
+ cliAutologin = new CliAutologin();
122
+ /**
123
+ * Constructor (unchanged)
124
+ */
125
+ constructor(location, keyboard, partitions, users, network) {
126
+ this.installer = installer();
127
+ this.settings = new Settings();
128
+ this.language = location.language;
129
+ this.region = location.region;
130
+ this.zone = location.zone;
131
+ this.keyboardModel = keyboard.keyboardModel;
132
+ this.keyboardLayout = keyboard.keyboardLayout;
133
+ this.keyboardVariant = keyboard.keyboardVariant;
134
+ this.network = network;
135
+ this.partitions = partitions;
136
+ this.users = users;
137
+ this.devices.efi = {};
138
+ this.devices.boot = {};
139
+ this.devices.root = {};
140
+ this.devices.data = {};
141
+ this.devices.swap = {};
142
+ this.distro = new Distro();
143
+ this.efi = fs.existsSync('/sys/firmware/efi/efivars');
144
+ this.luksFile = `${this.distro.liveMediumPath}live/${this.luksName}`;
145
+ }
146
+ /**
147
+ * Helper method to execute a step with standard error handling
148
+ */
149
+ async executeStep(message, percent, action) {
150
+ await redraw(React.createElement(Install, { message: message, percent: percent, spinner: this.spinner }));
151
+ try {
152
+ await action();
153
+ }
154
+ catch (error) {
155
+ await this.showProblem(message, error);
156
+ }
157
+ }
158
+ /**
159
+ * Main start method - Much cleaner sequence
160
+ */
161
+ async start(domain = '', unattended = false, nointeractive = false, chroot = false, halt = false, verbose = false) {
162
+ // Setup (unchanged)
163
+ await this.setupInstallation(domain, unattended, nointeractive, chroot, halt, verbose);
164
+ // Installation sequence - each step clearly visible
165
+ await this.runInstallationSequence();
166
+ // Handle chroot if requested
167
+ if (chroot) {
168
+ const message = `You are in chroot mode under ${this.installTarget}, type "exit" to exit.`;
169
+ await this.emergencyShell(message);
170
+ }
171
+ // Completion
172
+ await this.completeInstallation();
173
+ }
174
+ /**
175
+ * Setup installation parameters and environment
176
+ */
177
+ async setupInstallation(domain, unattended, nointeractive, chroot, halt, verbose) {
178
+ // Set domain
179
+ if (domain !== '') {
180
+ if (domain.at(0) !== '.') {
181
+ domain = '.' + domain;
182
+ }
183
+ this.network.domain = domain;
184
+ }
185
+ // Arch-specific setup
186
+ if (this.distro.familyId === 'archlinux') {
187
+ if (this.distro.distroId === 'Manjarolinux') {
188
+ await exec(`ln -s /run/miso/bootmnt/live/ /live`);
189
+ }
190
+ else {
191
+ await exec(`ln -s /run/archiso/bootmnt/live/ /live`);
192
+ }
193
+ }
194
+ // OpenSUSE-specific setup
195
+ if (this.distro.familyId === 'opensuse') {
196
+ await exec('dmsetup remove_all');
197
+ }
198
+ // Set flags
199
+ this.unattended = unattended;
200
+ this.nointeractive = nointeractive;
201
+ this.chroot = chroot;
202
+ this.halt = halt;
203
+ this.verbose = verbose;
204
+ this.echo = Utils.setEcho(this.verbose);
205
+ if (this.verbose) {
206
+ this.toNull = '';
207
+ this.spinner = false;
208
+ }
209
+ await this.settings.load();
210
+ }
211
+ /**
212
+ * Main installation sequence - Linear and clear
213
+ */
214
+ async runInstallationSequence() {
215
+ // 1. Partitioning and formatting
216
+ let isPartitioned = false;
217
+ await this.executeStep("Creating partitions", 0, async () => {
218
+ isPartitioned = await this.partition();
219
+ });
220
+ if (!isPartitioned)
221
+ return;
222
+ await this.executeStep("Formatting file system", 6, () => this.mkfs());
223
+ // 2. Mounting
224
+ await this.executeStep("Mounting target file system", 9, async () => {
225
+ await this.mountFs();
226
+ await sleep(500); // Give time to mount
227
+ });
228
+ await this.executeStep("Mounting on target VFS", 12, () => this.mountVfs());
229
+ // 3. System setup
230
+ await this.executeStep("Unpacking filesystem", 15, () => this.unpackfs());
231
+ // 4. Debian-specific steps
232
+ if (this.distro.familyId === 'debian') {
233
+ await this.executeStep("Force dpkg-unsafe-io", 40, () => this.execCalamaresModule('dpkg-unsafe-io'));
234
+ await this.executeStep("Add sources-yolk", 43, () => this.execCalamaresModule('sources-yolk'));
235
+ }
236
+ // 5. Core system configuration
237
+ await this.executeStep("machineid", 46, () => this.machineId());
238
+ await this.executeStep("Creating fstab", 49, () => this.fstab(this.partitions.installationDevice));
239
+ // 6. Crypted clone restoration
240
+ if (this.is_crypted_clone) {
241
+ await this.executeStep("Restore private data from crypted clone", 55, async () => {
242
+ if (fs.existsSync(this.luksFile)) {
243
+ const cmd = `eggs syncfrom --rootdir /tmp/calamares-krill-root/ --file ${this.luksFile}`;
244
+ await exec(cmd, Utils.setEcho(true));
245
+ this.is_clone = true;
246
+ }
247
+ else {
248
+ await Utils.pressKeyToExit(`Cannot find luks-volume file ${this.luksFile}`);
249
+ }
250
+ });
251
+ }
252
+ // 7. Network and hostname
253
+ await this.executeStep("Network configuration", 61, () => this.networkCfg());
254
+ await this.executeStep("Create hostname", 64, () => this.hostname(this.network.domain));
255
+ // 8. Debian cleanup
256
+ if (this.distro.familyId === 'debian') {
257
+ await this.executeStep("Remove dpkg-unsafe-io", 65, () => this.execCalamaresModule('dpkg-unsafe-io-undo'));
258
+ }
259
+ // 9. User configuration (only if not clone)
260
+ if (!this.is_clone) {
261
+ // Locale
262
+ await this.executeStep("Locale", 70, async () => {
263
+ if (this.distro.familyId === 'alpine' ||
264
+ this.distro.familyId === 'archlinux' ||
265
+ this.distro.familyId === 'debian') {
266
+ await this.locale();
267
+ }
268
+ });
269
+ await this.executeStep("Settings keyboard", 71, () => this.keyboard());
270
+ // Locale configuration
271
+ if (this.distro.familyId === 'archlinux' || this.distro.familyId === 'debian') {
272
+ await this.executeStep("Locale Configuration", 72, async () => {
273
+ await this.localeCfg();
274
+ await exec("chroot " + this.installTarget + " locale-gen" + this.toNull);
275
+ });
276
+ }
277
+ await this.executeStep("Remove live user", 73, () => this.delLiveUser());
278
+ await this.executeStep(`Add user ${this.users.username}`, 74, () => this.addUser(this.users.username, this.users.password, this.users.fullname, '', '', ''));
279
+ await this.executeStep("Add root password", 75, () => this.changePassword('root', this.users.rootPassword));
280
+ // GUI autologin
281
+ if (Pacman.isInstalledGui()) {
282
+ await this.executeStep("Autologin GUI", 78, async () => {
283
+ if (this.users.autologin) {
284
+ await Xdg.autologin(await Utils.getPrimaryUser(), this.users.username, this.installTarget);
285
+ if (this.distro.distroLike === 'Arch') {
286
+ await exec(`chroot ${this.installTarget} groupadd autologin ${this.toNull}`);
287
+ await exec(`chroot ${this.installTarget} gpasswd -a ${this.users.username} autologin ${this.toNull}`);
288
+ }
289
+ }
290
+ });
291
+ }
292
+ }
293
+ // 10. Always remove CLI autologin
294
+ await this.executeStep("Remove autologin CLI", 80, () => this.cliAutologin.remove(this.installTarget));
295
+ // 11. Bootloader configuration
296
+ await this.executeStep("bootloader-config", 81, () => this.bootloaderConfig());
297
+ await this.executeStep("grubcfg", 82, () => this.grubcfg());
298
+ await this.executeStep("bootloader", 83, () => this.bootloader());
299
+ // 12. Final system setup
300
+ if (this.distro.familyId === 'debian') {
301
+ await this.executeStep("Remove sources-yolk", 84, () => this.execCalamaresModule('sources-yolk-undo'));
302
+ }
303
+ await this.executeStep("Add/remove packages", 85, () => this.packages());
304
+ await this.executeStep("initramfs configure", 86, () => this.initramfsCfg(this.partitions.installationDevice));
305
+ await this.executeStep("initramfs", 87, () => this.initramfs());
306
+ await this.executeStep("Remove GUI installer link", 88, () => this.removeInstallerLink());
307
+ await this.executeStep("Cleanup", 89, async () => {
308
+ await exec(`rm -f ${this.installTarget}/etc/penguins-eggs.d/is_clone`);
309
+ await exec(`rm -f ${this.installTarget}/etc/penguins-eggs.d/is_crypted_clone`);
310
+ });
311
+ // 13. Custom final steps
312
+ const cfs = new CFS();
313
+ const steps = await cfs.steps();
314
+ if (steps.length > 0) {
315
+ for (const step of steps) {
316
+ await this.executeStep(`running ${step}`, 90, () => this.execCalamaresModule(step));
317
+ }
318
+ }
319
+ // 14. Unmounting
320
+ await this.executeStep("umount Virtual File System", 96, () => this.umountVfs());
321
+ await this.executeStep("umount File system", 99, () => this.umountFs());
322
+ }
323
+ /**
324
+ * Complete installation with reboot/halt
325
+ */
326
+ async completeInstallation() {
327
+ await sleep(500);
328
+ const cmd = this.halt ? "poweroff" : "reboot";
329
+ let message = `Press a key to ${cmd}`;
330
+ if (this.unattended && this.nointeractive) {
331
+ message = `System will ${cmd} in 5 seconds...`;
332
+ }
333
+ await redraw(React.createElement(Finished, { installationDevice: this.partitions.installationDevice, hostName: this.users.hostname, userName: this.users.username, message: message }));
334
+ if (this.unattended && this.nointeractive) {
335
+ await sleep(5000);
336
+ }
337
+ else {
338
+ spawnSync('read _ ', { shell: true, stdio: [0, 1, 2] });
339
+ }
340
+ await exec(cmd, { echo: false });
341
+ }
342
+ // Keep all existing methods unchanged
343
+ async execCalamaresModule(name) {
344
+ const moduleName = this.installer.multiarchModules + name + '/module.desc';
345
+ if (fs.existsSync(moduleName)) {
346
+ const calamaresModule = yaml.load(fs.readFileSync(moduleName, 'utf8'));
347
+ let command = calamaresModule.command;
348
+ if (command !== '' || command !== undefined) {
349
+ command += this.toNull;
350
+ await exec(command, this.echo);
351
+ }
352
+ }
353
+ }
354
+ async emergencyShell(message) {
355
+ try {
356
+ await redraw(React.createElement(React.Fragment, null,
357
+ React.createElement(Title, null),
358
+ React.createElement(Box, null,
359
+ React.createElement(Text, null, message))));
360
+ cliCursor.show();
361
+ await exec(`chroot ${this.installTarget} /bin/bash`);
362
+ cliCursor.hide();
363
+ }
364
+ catch (error) {
365
+ await Utils.pressKeyToExit(JSON.stringify(error));
366
+ }
367
+ }
368
+ async showProblem(message, currErr) {
369
+ message = `We was on "${message}", get error: ${JSON.stringify(currErr)}, type "exit" to exit from krill emergency shell.`;
370
+ try {
371
+ await redraw(React.createElement(React.Fragment, null,
372
+ React.createElement(Title, null),
373
+ React.createElement(Box, null,
374
+ React.createElement(Text, null, message))));
375
+ cliCursor.show();
376
+ await exec("/bin/bash");
377
+ cliCursor.hide();
378
+ }
379
+ catch (error) {
380
+ await Utils.pressKeyToExit(JSON.stringify(error));
381
+ }
382
+ }
383
+ }
384
+ // Helper functions (unchanged)
385
+ async function redraw(elem) {
386
+ let opt = {};
387
+ opt.patchConsole = false;
388
+ opt.debug = true;
389
+ console.clear();
390
+ render(elem, opt);
391
+ }
392
+ function sleep(ms = 0) {
393
+ return new Promise((resolve) => {
394
+ setTimeout(resolve, ms);
395
+ });
396
+ }
@@ -0,0 +1,16 @@
1
+ /**
2
+ * ./src/components/finished.tsx
3
+ * penguins-eggs v.10.0.0 / ecmascript 2020
4
+ * author: Piero Proietti
5
+ * email: piero.proietti@gmail.com
6
+ * license: MIT
7
+ */
8
+ import React from 'react';
9
+ type FinishedProps = {
10
+ installationDevice?: string;
11
+ hostName?: string;
12
+ userName?: string;
13
+ message?: string;
14
+ };
15
+ export default function Finished({ installationDevice, hostName, userName, message }: FinishedProps): React.JSX.Element;
16
+ export {};
@@ -0,0 +1,56 @@
1
+ /**
2
+ * ./src/components/finished.tsx
3
+ * penguins-eggs v.10.0.0 / ecmascript 2020
4
+ * author: Piero Proietti
5
+ * email: piero.proietti@gmail.com
6
+ * license: MIT
7
+ */
8
+ import React from 'react';
9
+ import { Box, Newline, Text, 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.strings.productName;
25
+ version = calamares.strings.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
+ }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * ./src/components/information.tsx
3
+ * penguins-eggs v.10.0.0 / ecmascript 2020
4
+ * author: Piero Proietti
5
+ * email: piero.proietti@gmail.com
6
+ * license: MIT
7
+ */
8
+ export default function information(verbose?: boolean): Promise<void>;
@@ -0,0 +1,162 @@
1
+ /**
2
+ * ./src/components/information.tsx
3
+ * penguins-eggs v.10.0.0 / ecmascript 2020
4
+ * author: Piero Proietti
5
+ * email: piero.proietti@gmail.com
6
+ * license: MIT
7
+ */
8
+ import React from 'react';
9
+ import Settings from '../../classes/settings.js';
10
+ import Pacman from '../../classes/pacman.js';
11
+ import Utils from '../../classes/utils.js';
12
+ import Title from './title.js';
13
+ import { render, Text, Box } from 'ink';
14
+ export default async function information(verbose = false) {
15
+ const echo = Utils.setEcho(verbose);
16
+ console.clear();
17
+ const settings = new Settings();
18
+ settings.load();
19
+ const Wait = () => (React.createElement(Box, { marginRight: 2 },
20
+ React.createElement(Box, { marginRight: 2 },
21
+ React.createElement(Text, null, " E G G S: the reproductive system of penguins"))));
22
+ render(React.createElement(Wait, null));
23
+ const Nest = () => (React.createElement(Box, { borderStyle: "round", marginRight: 2 },
24
+ React.createElement(Box, { marginRight: 2 },
25
+ React.createElement(Text, null,
26
+ "nest: ",
27
+ React.createElement(Text, { color: "cyan" }, settings.config.snapshot_dir))),
28
+ React.createElement(Box, { marginRight: 2 },
29
+ React.createElement(Text, null,
30
+ "name: ",
31
+ React.createElement(Text, { color: "cyan" },
32
+ settings.config.snapshot_prefix,
33
+ settings.config.snapshot_basename)))));
34
+ const Boot = () => (React.createElement(Box, { borderStyle: "round", marginRight: 2 },
35
+ React.createElement(Box, { marginRight: 2 },
36
+ React.createElement(Text, null,
37
+ "kernel: ",
38
+ React.createElement(Text, { color: "cyan" }, settings.kernel_image))),
39
+ React.createElement(Box, { marginRight: 2 },
40
+ React.createElement(Text, null,
41
+ "initrd.img: ",
42
+ React.createElement(Text, { color: "cyan" }, settings.initrd_image)))));
43
+ const Live = () => (React.createElement(Box, { borderStyle: "round", marginRight: 2 },
44
+ React.createElement(Box, { marginRight: 2 },
45
+ React.createElement(Text, null,
46
+ "live user/passwd: ",
47
+ React.createElement(Text, { color: "cyan" },
48
+ settings.config.user_opt,
49
+ "/",
50
+ settings.config.user_opt_passwd))),
51
+ React.createElement(Box, { marginRight: 2 },
52
+ React.createElement(Text, null,
53
+ "root passwd: ",
54
+ React.createElement(Text, { color: "cyan" }, settings.config.root_passwd)))));
55
+ /**
56
+ * getOsRelease
57
+ */
58
+ const osInfo = Utils.getOsRelease();
59
+ const codenameId = osInfo.VERSION_CODENAME;
60
+ const releaseId = osInfo.VERSION_ID;
61
+ const distroId = osInfo.ID;
62
+ const Distro = () => (React.createElement(Box, { flexDirection: 'column' },
63
+ React.createElement(Box, { borderStyle: "round", marginRight: 2, flexDirection: 'row' },
64
+ React.createElement(Box, { marginRight: 2 },
65
+ React.createElement(Text, null,
66
+ "distro: ",
67
+ React.createElement(Text, { color: "cyan" },
68
+ distroId,
69
+ " ",
70
+ releaseId,
71
+ " ",
72
+ codenameId))),
73
+ React.createElement(Box, { marginRight: 2 },
74
+ React.createElement(Text, null,
75
+ "compatible: ",
76
+ React.createElement(Text, { color: "cyan" },
77
+ settings.distro.distroLike,
78
+ " ",
79
+ settings.distro.codenameLikeId))))));
80
+ const configurations = Pacman.configurationCheck();
81
+ let uefi = Pacman.isUefi();
82
+ let installer = false;
83
+ if (Pacman.isInstalledGui()) {
84
+ installer = Pacman.calamaresExists();
85
+ }
86
+ const Ok = () => (React.createElement(Text, { backgroundColor: "green" }, "OK"));
87
+ const Ko = () => (React.createElement(Text, { backgroundColor: "red", color: "white" }, "KO"));
88
+ const CLI = () => (React.createElement(Text, { color: "cyan" }, "krill"));
89
+ const GUI = () => (React.createElement(Text, { color: "cyan" }, "calamares"));
90
+ const Host = () => (React.createElement(Text, { color: "cyan" }, "host"));
91
+ const Container = () => (React.createElement(Text, { color: "cyan" }, "container"));
92
+ let initType = '';
93
+ if (Utils.isSystemd()) {
94
+ initType = 'systemd';
95
+ }
96
+ else if (Utils.isOpenRc()) {
97
+ initType = 'openrc';
98
+ }
99
+ else if (Utils.isSysvinit()) {
100
+ initType = 'sysvinit';
101
+ }
102
+ const RunningOn = () => (React.createElement(Box, { borderStyle: "round", marginRight: 2, flexDirection: "row" },
103
+ React.createElement(Box, { marginRight: 2 },
104
+ React.createElement(Text, null,
105
+ "configuration: ",
106
+ configurations ? React.createElement(Ok, null) : React.createElement(Ko, null))),
107
+ React.createElement(Box, { marginRight: 2 },
108
+ React.createElement(Text, null,
109
+ "uefi: ",
110
+ uefi ? React.createElement(Ok, null) : React.createElement(Ko, null))),
111
+ React.createElement(Box, { marginRight: 2 },
112
+ React.createElement(Text, null,
113
+ "running on: ",
114
+ Utils.isContainer() ? React.createElement(Container, null) : React.createElement(Host, null))),
115
+ React.createElement(Box, { marginRight: 2 },
116
+ React.createElement(Text, null,
117
+ "init: ",
118
+ React.createElement(Text, { color: "cyan" }, initType))),
119
+ React.createElement(Box, { marginRight: 2 },
120
+ React.createElement(Text, null,
121
+ "installer: ",
122
+ installer ? React.createElement(GUI, null) : React.createElement(CLI, null)))));
123
+ const Presentation = () => (React.createElement(React.Fragment, null,
124
+ React.createElement(Box, null,
125
+ React.createElement(Text, null, " ")),
126
+ React.createElement(Box, { borderStyle: "round", marginRight: 2, flexDirection: "column" },
127
+ React.createElement(Box, null,
128
+ React.createElement(Text, { color: "cyan" }, "eggs install"),
129
+ React.createElement(Text, null, " install your CLI iso with TUI installer krill, on GUI prefere calamares")),
130
+ React.createElement(Box, null,
131
+ React.createElement(Text, { color: "cyan" }, "eggs wardrobe"),
132
+ React.createElement(Text, null, " build your personal system starting from cli")),
133
+ React.createElement(Box, null,
134
+ React.createElement(Text, null, " ")),
135
+ React.createElement(Box, { flexDirection: "row" },
136
+ React.createElement(Box, { marginRight: 1 },
137
+ React.createElement(Text, null, "Info: ")),
138
+ React.createElement(Box, { flexDirection: "column" },
139
+ React.createElement(Box, { marginRight: 2 },
140
+ React.createElement(Text, null, "blog "),
141
+ React.createElement(Text, { color: "cyan" }, "https://penguins-eggs.net")),
142
+ React.createElement(Box, { marginRight: 2 },
143
+ React.createElement(Text, null, "sources "),
144
+ React.createElement(Text, { color: "cyan" }, "https://github.com/pieroproietti/penguins-eggs")),
145
+ React.createElement(Box, { marginRight: 2 },
146
+ React.createElement(Text, null, "wardrobe "),
147
+ React.createElement(Text, { color: "cyan" }, "https://github.com/pieroproietti/penguins-wardrobe")))))));
148
+ /**
149
+ *
150
+ */
151
+ const Main = () => (React.createElement(React.Fragment, null,
152
+ React.createElement(Title, null),
153
+ React.createElement(Box, null,
154
+ React.createElement(Live, null),
155
+ React.createElement(Nest, null),
156
+ React.createElement(Boot, null)),
157
+ React.createElement(Box, null,
158
+ React.createElement(Distro, null),
159
+ React.createElement(RunningOn, null)),
160
+ React.createElement(Presentation, null)));
161
+ render(React.createElement(Main, null));
162
+ }
@@ -0,0 +1,15 @@
1
+ /**
2
+ * ./src/components/install.tsx
3
+ * penguins-eggs v.10.0.0 / ecmascript 2020
4
+ * author: Piero Proietti
5
+ * email: piero.proietti@gmail.com
6
+ * license: MIT
7
+ */
8
+ import React from 'react';
9
+ type InstallProps = {
10
+ message?: string;
11
+ percent?: number;
12
+ spinner?: boolean;
13
+ };
14
+ export default function Install({ message, percent, spinner }: InstallProps): React.JSX.Element;
15
+ export {};