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,263 @@
1
+ /**
2
+ * ./src/classes/incubation/fisherman.ts
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 chalk from 'chalk';
9
+ import mustache from 'mustache';
10
+ import fs from 'node:fs';
11
+ import path from 'node:path';
12
+ import shx from 'shelljs';
13
+ import yaml from 'js-yaml';
14
+ import { exec } from '../../lib/utils.js';
15
+ import { settings } from './fisherman-helper/settings.js';
16
+ // _dirname
17
+ const __dirname = path.dirname(new URL(import.meta.url).pathname);
18
+ // pjson
19
+ import { createRequire } from 'node:module';
20
+ const require = createRequire(import.meta.url);
21
+ const pjson = require('../../../package.json');
22
+ import { displaymanager } from './fisherman-helper/displaymanager.js';
23
+ import { remove as removePackages, tryInstall } from './fisherman-helper/packages.js';
24
+ export default class Fisherman {
25
+ distro;
26
+ installer = {};
27
+ verbose = false;
28
+ constructor(distro, installer, verbose = false) {
29
+ this.distro = distro;
30
+ this.installer = installer;
31
+ this.verbose = verbose;
32
+ }
33
+ /**
34
+ *
35
+ * @param name
36
+ * @param isScript
37
+ */
38
+ async buildCalamaresModule(name, isScript = true, theme = 'eggs') {
39
+ let moduleTemplate = path.resolve(__dirname, this.installer.templateMultiarch + name);
40
+ if (theme !== 'eggs') {
41
+ moduleTemplate = theme + '/theme/calamares/calamares-modules/' + name;
42
+ }
43
+ const moduleDest = this.installer.multiarchModules + name;
44
+ const moduleScript = `/usr/sbin/${name}.sh`;
45
+ if (this.verbose)
46
+ this.show(name, 'module', moduleDest);
47
+ if (!fs.existsSync(moduleDest)) {
48
+ fs.mkdirSync(moduleDest);
49
+ }
50
+ shx.cp(`${moduleTemplate}/module.yml`, `${moduleDest}/module.desc`);
51
+ if (isScript) {
52
+ shx.cp(`${moduleTemplate}/${name}.sh`, moduleScript);
53
+ await exec(`chmod +x ${moduleScript}`);
54
+ }
55
+ return moduleScript;
56
+ }
57
+ /**
58
+ *
59
+ * @param name
60
+ */
61
+ async buildCalamaresPy(name) {
62
+ const moduleSource = path.resolve(__dirname, this.installer.templateMultiarch + '/' + name);
63
+ const moduleDest = this.installer.multiarchModules + name;
64
+ if (this.verbose)
65
+ this.show(name, 'python', moduleDest);
66
+ if (!fs.existsSync(moduleDest)) {
67
+ fs.mkdirSync(moduleDest);
68
+ }
69
+ shx.cp(`${moduleSource}/module.yml`, `${moduleDest}/module.desc`);
70
+ shx.cp(`${moduleSource}/${name}.yml`, `${moduleDest}/${name}.conf`);
71
+ shx.cp(`${moduleSource}/main.py`, moduleDest);
72
+ await exec(`chmod +x ${moduleSource}/main.py`);
73
+ }
74
+ /**
75
+ *
76
+ * @param name
77
+ * @param replaces [['search','replace']]
78
+ */
79
+ async buildModule(name, vendor = 'eggs') {
80
+ let moduleSource = path.resolve(__dirname, this.installer.templateModules + name + '.yml');
81
+ /**
82
+ * We need vendor here to have possibility to load custom modules for calamares
83
+ * the custom modules live in: /addons/vendor/theme/calamares/modules
84
+ * and - if exist - take priority on distro modules on /conf/distros/calamares/modules
85
+ *
86
+ * example:
87
+ *
88
+ * ./addons/openos/theme/calamares/modules/partition.yml
89
+ * take place of:
90
+ * ./conf/distros/bullseye/calamares/modules/partition.yml
91
+ * and end in:
92
+ * /etc/calamares/modules/partition.conf
93
+ *
94
+ * And we solve the issue of Sebastien who need btrfs
95
+ *
96
+ */
97
+ if (vendor !== 'eggs') {
98
+ let customModuleSource = path.resolve(__dirname, `../../../addons/${vendor}/theme/calamares/modules/${name}.yml`);
99
+ if (vendor.includes('/')) {
100
+ customModuleSource = `${vendor}/theme/calamares/modules/${name}.yml`;
101
+ }
102
+ if (fs.existsSync(customModuleSource)) {
103
+ moduleSource = customModuleSource;
104
+ }
105
+ }
106
+ const moduleDest = this.installer.modules + name + '.conf';
107
+ if (fs.existsSync(moduleSource)) {
108
+ if (this.verbose) {
109
+ this.show(name, 'module', moduleDest);
110
+ }
111
+ // We need to adapt just mount.conf
112
+ if (name === 'mount') {
113
+ const calamaresVersion = (await exec('calamares --version', { capture: true, echo: false, ignore: false })).data.trim().slice(10, 13);
114
+ let options = '[ bind ]';
115
+ if (calamaresVersion === '3.2') {
116
+ options = 'bind';
117
+ }
118
+ const view = { options };
119
+ const moduleSourceTemplate = fs.readFileSync(moduleSource, 'utf8');
120
+ fs.writeFileSync(moduleDest, mustache.render(moduleSourceTemplate, view));
121
+ }
122
+ else {
123
+ shx.cp(moduleSource, moduleDest);
124
+ }
125
+ }
126
+ else if (this.verbose) {
127
+ console.log('unchanged: ' + chalk.greenBright(name));
128
+ }
129
+ }
130
+ /**
131
+ *
132
+ * @param name
133
+ */
134
+ async contextualprocess(name) {
135
+ const moduleSource = path.resolve(__dirname, this.installer.templateModules + name + '_context.yml');
136
+ const moduleDest = this.installer.modules + name + '_context.conf';
137
+ if (fs.existsSync(moduleSource)) {
138
+ if (this.verbose)
139
+ this.show(name, 'contextualprocess', moduleDest);
140
+ shx.cp(moduleSource, moduleDest);
141
+ }
142
+ else if (this.verbose) {
143
+ console.log(`calamares: ${name} contextualprocess, nothing to do!`);
144
+ }
145
+ }
146
+ /**
147
+ * write settings
148
+ */
149
+ async createCalamaresSettings(theme = 'eggs', isClone = false) {
150
+ await settings(this.installer.template, this.installer.configRoot, theme, isClone);
151
+ }
152
+ /**
153
+ *
154
+ * @param name
155
+ */
156
+ async shellprocess(name) {
157
+ const moduleSource = path.resolve(__dirname, this.installer.templateModules + 'shellprocess_' + name + '.yml');
158
+ const moduleDest = this.installer.modules + 'shellprocess_' + name + '.conf';
159
+ if (fs.existsSync(moduleSource)) {
160
+ if (this.verbose)
161
+ this.show(name, 'shellprocess', moduleDest);
162
+ shx.cp(moduleSource, moduleDest);
163
+ }
164
+ else if (this.verbose) {
165
+ console.log(`calamares: ${name} shellprocess, nothing to do`);
166
+ }
167
+ }
168
+ /**
169
+ *
170
+ * @param module
171
+ * @param type
172
+ * @param path
173
+ */
174
+ show(name, type, path) {
175
+ switch (type) {
176
+ case 'module': {
177
+ console.log('fisherman: ' + chalk.yellow(name) + ' module in ' + chalk.yellow(path));
178
+ break;
179
+ }
180
+ case 'calamares_module': {
181
+ console.log('fisherman: ' + chalk.cyanBright(name) + ' calamares_module in ' + chalk.cyanBright(path));
182
+ break;
183
+ }
184
+ case 'shellprocess': {
185
+ console.log('fisherman: ' + chalk.green(name) + ' shellprocess in ' + chalk.green(path));
186
+ break;
187
+ }
188
+ case 'contextualprocess': {
189
+ console.log('fisherman: ' + chalk.cyanBright(name) + ' shellprocess in ' + chalk.cyanBright(path));
190
+ break;
191
+ }
192
+ // No default
193
+ }
194
+ }
195
+ /**
196
+ * ====================================================================================
197
+ * M O D U L E S
198
+ * ====================================================================================
199
+ */
200
+ /**
201
+ * Al momento rimane con la vecchia configurazione
202
+ */
203
+ async moduleDisplaymanager() {
204
+ const name = 'displaymanager';
205
+ this.buildModule(name);
206
+ let file = this.installer.modules + name + '.conf';
207
+ let fileContent = fs.readFileSync(file, 'utf8');
208
+ let values = yaml.load(fileContent);
209
+ values.displaymanagers = displaymanager();
210
+ let destContent = `# ${name}.conf, created by penguins-eggs ${pjson.version}\n`;
211
+ destContent += '---\n';
212
+ destContent += yaml.dump(values);
213
+ fs.writeFileSync(file, destContent, 'utf8');
214
+ }
215
+ /**
216
+ * Al momento rimane con la vecchia configurazione
217
+ */
218
+ async moduleFinished() {
219
+ const name = 'finished';
220
+ await this.buildModule(name);
221
+ let file = this.installer.modules + name + '.conf';
222
+ let fileContent = fs.readFileSync(file, 'utf8');
223
+ let values = yaml.load(fileContent);
224
+ values.restartNowCommand = 'reboot';
225
+ let destContent = `# ${name}.conf, created by penguins-eggs ${pjson.version}\n`;
226
+ destContent += '---\n';
227
+ destContent += yaml.dump(values);
228
+ fs.writeFileSync(file, destContent, 'utf8');
229
+ }
230
+ /**
231
+ * packages
232
+ */
233
+ async modulePackages(distro, release = false) {
234
+ const name = 'packages';
235
+ this.buildModule(name);
236
+ const yamlInstall = tryInstall(distro);
237
+ let yamlRemove = '';
238
+ if (release) {
239
+ yamlRemove = removePackages(distro);
240
+ }
241
+ let operations = '';
242
+ if (yamlRemove !== '' || yamlInstall !== '') {
243
+ operations = 'operations:\n' + yamlRemove + yamlInstall;
244
+ }
245
+ shx.sed('-i', '{{operations}}', operations, this.installer.modules + name + '.conf');
246
+ }
247
+ /**
248
+ * Al momento rimane con la vecchia configurazione
249
+ */
250
+ async moduleRemoveuser(username) {
251
+ const name = 'removeuser';
252
+ this.buildModule(name);
253
+ shx.sed('-i', '{{username}}', username, this.installer.modules + name + '.conf');
254
+ }
255
+ /**
256
+ * unpackFs
257
+ */
258
+ async moduleUnpackfs() {
259
+ const name = 'unpackfs';
260
+ this.buildModule(name);
261
+ shx.sed('-i', '{{source}}', this.distro.liveMediumPath + this.distro.squashfs, this.installer.modules + name + '.conf');
262
+ }
263
+ }
@@ -0,0 +1,32 @@
1
+ /**
2
+ * ./src/classes/incubation/distros/buster.ts
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 { IDistro, IInstaller, IRemix } from '../../../interfaces/index.js';
9
+ /**
10
+ *
11
+ */
12
+ export declare class Alpine {
13
+ distro: IDistro;
14
+ installer: IInstaller;
15
+ isClone: boolean;
16
+ release: boolean;
17
+ remix: IRemix;
18
+ theme: string;
19
+ user_opt: string;
20
+ verbose: boolean;
21
+ /**
22
+ * @param remix
23
+ * @param distro
24
+ * @param displaymanager
25
+ * @param verbose
26
+ */
27
+ constructor(installer: IInstaller, remix: IRemix, distro: IDistro, user_opt: string, release?: boolean, theme?: string, isClone?: boolean, verbose?: boolean);
28
+ /**
29
+ * locale, partitions, users can come from themes
30
+ */
31
+ create(): Promise<void>;
32
+ }
@@ -0,0 +1,78 @@
1
+ /**
2
+ * ./src/classes/incubation/distros/buster.ts
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 CFS from '../../../krill/classes/cfs.js';
9
+ import Fisherman from '../fisherman.js';
10
+ /**
11
+ *
12
+ */
13
+ export class Alpine {
14
+ distro;
15
+ installer = {};
16
+ isClone;
17
+ release = false;
18
+ remix;
19
+ theme;
20
+ user_opt; // theme comprende il path
21
+ verbose = false;
22
+ /**
23
+ * @param remix
24
+ * @param distro
25
+ * @param displaymanager
26
+ * @param verbose
27
+ */
28
+ constructor(installer, remix, distro, user_opt, release = false, theme = 'eggs', isClone = false, verbose = false) {
29
+ this.installer = installer;
30
+ this.remix = remix;
31
+ this.distro = distro;
32
+ this.user_opt = user_opt;
33
+ this.verbose = verbose;
34
+ this.release = release;
35
+ this.theme = theme;
36
+ this.isClone = isClone;
37
+ }
38
+ /**
39
+ * locale, partitions, users can come from themes
40
+ */
41
+ async create() {
42
+ const fisherman = new Fisherman(this.distro, this.installer, this.verbose);
43
+ await fisherman.createCalamaresSettings(this.theme, this.isClone);
44
+ await fisherman.buildModule('welcome');
45
+ await fisherman.buildModule('partition', this.theme);
46
+ await fisherman.buildModule('mount');
47
+ await fisherman.moduleUnpackfs();
48
+ await fisherman.buildModule('machineid');
49
+ await fisherman.buildModule('fstab');
50
+ await fisherman.buildModule('locale', this.theme);
51
+ await fisherman.buildModule('keyboard');
52
+ await fisherman.buildModule('localecfg');
53
+ await fisherman.buildModule('users', this.theme);
54
+ await fisherman.moduleDisplaymanager();
55
+ await fisherman.buildModule('networkcfg');
56
+ await fisherman.buildModule('hwclock');
57
+ await fisherman.buildModule('services-openrc');
58
+ await fisherman.buildModule('grubcf');
59
+ await fisherman.buildModule('bootloader');
60
+ await fisherman.modulePackages(this.distro, this.release);
61
+ await fisherman.buildModule('luksbootkeyfile');
62
+ await fisherman.buildModule('plymouthcfg');
63
+ await fisherman.buildModule('mkinitfs');
64
+ await fisherman.moduleRemoveuser(this.user_opt);
65
+ /**
66
+ * cfs: custom final steps
67
+ */
68
+ const cfs = new CFS();
69
+ const steps = await cfs.steps();
70
+ if (steps.length > 0) {
71
+ for (const step of steps) {
72
+ await fisherman.buildCalamaresModule(step, true, this.theme);
73
+ }
74
+ }
75
+ await fisherman.buildModule('umount');
76
+ await fisherman.moduleFinished();
77
+ }
78
+ }
@@ -0,0 +1,32 @@
1
+ /**
2
+ * ./src/classes/incubation/distros/bionic.ts
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 { IDistro, IInstaller, IRemix } from '../../../interfaces/index.js';
9
+ /**
10
+ *
11
+ */
12
+ export declare class Bionic {
13
+ distro: IDistro;
14
+ installer: IInstaller;
15
+ isClone: boolean;
16
+ release: boolean;
17
+ remix: IRemix;
18
+ theme: string;
19
+ user_opt: string;
20
+ verbose: boolean;
21
+ /**
22
+ * @param remix
23
+ * @param distro
24
+ * @param release
25
+ * @param verbose
26
+ */
27
+ constructor(installer: IInstaller, remix: IRemix, distro: IDistro, user_opt: string, release?: boolean, theme?: string, isClone?: boolean, verbose?: boolean);
28
+ /**
29
+ * locale, partitions, users can come from themes
30
+ */
31
+ create(): Promise<void>;
32
+ }
@@ -0,0 +1,83 @@
1
+ /**
2
+ * ./src/classes/incubation/distros/bionic.ts
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 CFS from '../../../krill/classes/cfs.js';
9
+ import Fisherman from '../fisherman.js';
10
+ /**
11
+ *
12
+ */
13
+ export class Bionic {
14
+ distro;
15
+ installer = {};
16
+ isClone;
17
+ release = false;
18
+ remix;
19
+ theme; // theme comprende il path
20
+ user_opt;
21
+ verbose = false;
22
+ /**
23
+ * @param remix
24
+ * @param distro
25
+ * @param release
26
+ * @param verbose
27
+ */
28
+ constructor(installer, remix, distro, user_opt, release = false, theme = 'eggs', isClone = false, verbose = false) {
29
+ this.installer = installer;
30
+ this.remix = remix;
31
+ this.distro = distro;
32
+ this.user_opt = user_opt;
33
+ this.verbose = verbose;
34
+ this.release = release;
35
+ this.theme = theme;
36
+ this.isClone = isClone;
37
+ }
38
+ /**
39
+ * locale, partitions, users can come from themes
40
+ */
41
+ async create() {
42
+ const fisherman = new Fisherman(this.distro, this.installer, this.verbose);
43
+ await fisherman.createCalamaresSettings(this.theme, this.isClone);
44
+ await fisherman.buildModule('welcome');
45
+ await fisherman.buildModule('partition', this.remix.branding);
46
+ await fisherman.buildModule('mount');
47
+ await fisherman.moduleUnpackfs(); //
48
+ await fisherman.buildModule('machineid');
49
+ await fisherman.buildModule('fstab');
50
+ await fisherman.buildModule('locale', this.remix.branding);
51
+ await fisherman.buildModule('keyboard');
52
+ await fisherman.buildModule('localecfg');
53
+ await fisherman.buildModule('luksbootkeyfile');
54
+ await fisherman.buildModule('users', this.remix.branding);
55
+ await fisherman.moduleDisplaymanager(); //
56
+ await fisherman.buildModule('networkcfg');
57
+ await fisherman.buildModule('hwclock');
58
+ await fisherman.buildCalamaresModule('sources-yolk', true);
59
+ await fisherman.buildCalamaresModule('bug');
60
+ await fisherman.buildModule('initramfscfg');
61
+ await fisherman.buildModule('initramfs');
62
+ await fisherman.buildCalamaresPy('grubcfg');
63
+ await fisherman.buildModule('bootloader');
64
+ await fisherman.buildCalamaresModule('after-bootloader');
65
+ await fisherman.buildCalamaresModule('add386arch', false);
66
+ await fisherman.modulePackages(this.distro, this.release); //
67
+ await fisherman.moduleRemoveuser(this.user_opt); //
68
+ await fisherman.buildCalamaresModule('sources-yolk-undo', false);
69
+ await fisherman.buildCalamaresModule('cleanup', true);
70
+ /**
71
+ * cfs: custom final steps
72
+ */
73
+ const cfs = new CFS();
74
+ const steps = await cfs.steps();
75
+ if (steps.length > 0) {
76
+ for (const step of steps) {
77
+ await fisherman.buildCalamaresModule(step, true, this.theme);
78
+ }
79
+ }
80
+ await fisherman.buildModule('umount');
81
+ await fisherman.buildModule('finished');
82
+ }
83
+ }
@@ -0,0 +1,32 @@
1
+ /**
2
+ * ./src/classes/incubation/distros/buster.ts
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 { IDistro, IInstaller, IRemix } from '../../../interfaces/index.js';
9
+ /**
10
+ *
11
+ */
12
+ export declare class Buster {
13
+ distro: IDistro;
14
+ installer: IInstaller;
15
+ isClone: boolean;
16
+ release: boolean;
17
+ remix: IRemix;
18
+ theme: string;
19
+ user_opt: string;
20
+ verbose: boolean;
21
+ /**
22
+ * @param remix
23
+ * @param distro
24
+ * @param displaymanager
25
+ * @param verbose
26
+ */
27
+ constructor(installer: IInstaller, remix: IRemix, distro: IDistro, user_opt: string, release?: boolean, theme?: string, isClone?: boolean, verbose?: boolean);
28
+ /**
29
+ * locale, partitions, users can come from themes
30
+ */
31
+ create(): Promise<void>;
32
+ }
@@ -0,0 +1,85 @@
1
+ /**
2
+ * ./src/classes/incubation/distros/buster.ts
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 CFS from '../../../krill/classes/cfs.js';
9
+ import Fisherman from '../fisherman.js';
10
+ /**
11
+ *
12
+ */
13
+ export class Buster {
14
+ distro;
15
+ installer = {};
16
+ isClone;
17
+ release = false;
18
+ remix;
19
+ theme;
20
+ user_opt; // theme comprende il path
21
+ verbose = false;
22
+ /**
23
+ * @param remix
24
+ * @param distro
25
+ * @param displaymanager
26
+ * @param verbose
27
+ */
28
+ constructor(installer, remix, distro, user_opt, release = false, theme = 'eggs', isClone = false, verbose = false) {
29
+ this.installer = installer;
30
+ this.remix = remix;
31
+ this.distro = distro;
32
+ this.user_opt = user_opt;
33
+ this.verbose = verbose;
34
+ this.release = release;
35
+ this.theme = theme;
36
+ this.isClone = isClone;
37
+ }
38
+ /**
39
+ * locale, partitions, users can come from themes
40
+ */
41
+ async create() {
42
+ const fisherman = new Fisherman(this.distro, this.installer, this.verbose);
43
+ await fisherman.createCalamaresSettings(this.theme, this.isClone);
44
+ await fisherman.buildModule('welcome');
45
+ await fisherman.buildModule('partition', this.theme);
46
+ await fisherman.buildModule('mount');
47
+ await fisherman.moduleUnpackfs();
48
+ await fisherman.buildCalamaresModule('dpkg-unsafe-io', true);
49
+ await fisherman.buildCalamaresModule('sources-yolk', true);
50
+ await fisherman.buildModule('machineid');
51
+ await fisherman.buildModule('fstab');
52
+ await fisherman.buildModule('locale', this.theme);
53
+ await fisherman.buildModule('keyboard');
54
+ await fisherman.buildModule('localecfg');
55
+ await fisherman.buildModule('users', this.theme);
56
+ await fisherman.moduleDisplaymanager();
57
+ await fisherman.buildModule('networkcfg');
58
+ await fisherman.buildModule('hwclock');
59
+ await fisherman.buildModule('services-systemd');
60
+ await fisherman.buildCalamaresModule('bootloader-config', true);
61
+ await fisherman.buildModule('grubcf');
62
+ await fisherman.buildModule('bootloader');
63
+ await fisherman.modulePackages(this.distro, this.release);
64
+ await fisherman.buildModule('luksbootkeyfile');
65
+ await fisherman.buildModule('plymouthcfg');
66
+ await fisherman.buildModule('initramfscfg');
67
+ await fisherman.buildModule('initramfs');
68
+ await fisherman.buildCalamaresModule('dpkg-unsafe-io-undo', false);
69
+ await fisherman.moduleRemoveuser(this.user_opt);
70
+ await fisherman.buildCalamaresModule('sources-yolk-undo', false);
71
+ await fisherman.buildCalamaresModule('cleanup', true);
72
+ /**
73
+ * cfs: custom final steps
74
+ */
75
+ const cfs = new CFS();
76
+ const steps = await cfs.steps();
77
+ if (steps.length > 0) {
78
+ for (const step of steps) {
79
+ await fisherman.buildCalamaresModule(step, true, this.theme);
80
+ }
81
+ }
82
+ await fisherman.buildModule('umount');
83
+ await fisherman.moduleFinished();
84
+ }
85
+ }
@@ -0,0 +1,31 @@
1
+ /**
2
+ * ./src/classes/incubation/distros/jessie.ts
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 { IInstaller } from '../../../interfaces/i-installer.js';
9
+ import { IDistro, IRemix } from '../../../interfaces/index.js';
10
+ /**
11
+ *
12
+ */
13
+ export declare class Jessie {
14
+ distro: IDistro;
15
+ installer: IInstaller;
16
+ release: boolean;
17
+ remix: IRemix;
18
+ user_opt: string;
19
+ verbose: boolean;
20
+ /**
21
+ * @param remix
22
+ * @param distro
23
+ * @param displaymanager
24
+ * @param verbose
25
+ */
26
+ constructor(installer: IInstaller, remix: IRemix, distro: IDistro, user_opt: string, release?: boolean, verbose?: boolean);
27
+ /**
28
+ * partitions can come from themes
29
+ */
30
+ create(): Promise<void>;
31
+ }
@@ -0,0 +1,44 @@
1
+ /**
2
+ * ./src/classes/incubation/distros/jessie.ts
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 Fisherman from '../fisherman.js';
9
+ /**
10
+ *
11
+ */
12
+ export class Jessie {
13
+ distro;
14
+ installer = {};
15
+ release = false;
16
+ remix;
17
+ user_opt;
18
+ verbose = false;
19
+ /**
20
+ * @param remix
21
+ * @param distro
22
+ * @param displaymanager
23
+ * @param verbose
24
+ */
25
+ constructor(installer, remix, distro, user_opt, release = false, verbose = false) {
26
+ this.installer = installer;
27
+ this.remix = remix;
28
+ this.distro = distro;
29
+ this.user_opt = user_opt;
30
+ this.verbose = verbose;
31
+ this.release = release; // nel senso di --final
32
+ }
33
+ /**
34
+ * partitions can come from themes
35
+ */
36
+ async create() {
37
+ const fisherman = new Fisherman(this.distro, this.installer, this.verbose);
38
+ await fisherman.createCalamaresSettings(this.remix.branding);
39
+ await fisherman.buildModule('partition', this.remix.branding);
40
+ await fisherman.buildCalamaresModule('sources-yolk', true);
41
+ await fisherman.moduleRemoveuser(this.user_opt);
42
+ await fisherman.buildCalamaresModule('sources-yolk-undo', false);
43
+ }
44
+ }