penguins-eggs 25.10.28 → 25.10.30

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 (452) hide show
  1. package/.oclif.manifest.json +1 -1
  2. package/addons/eggs/theme/applications/install-system.desktop +8 -6
  3. package/assets/calamares/io.calamares.calamares.policy +25 -0
  4. package/dist/classes/bleach.d.ts +37 -0
  5. package/dist/classes/bleach.js +148 -0
  6. package/dist/classes/cli-autologin.d.ts +52 -0
  7. package/dist/classes/cli-autologin.js +252 -0
  8. package/dist/classes/compressors.d.ts +54 -0
  9. package/dist/classes/compressors.js +109 -0
  10. package/dist/classes/daddy.d.ts +26 -0
  11. package/dist/classes/daddy.js +179 -0
  12. package/dist/classes/distro.d.ts +32 -0
  13. package/dist/classes/distro.js +363 -0
  14. package/dist/classes/diversions.d.ts +53 -0
  15. package/dist/classes/diversions.js +131 -0
  16. package/dist/classes/incubation/branding.d.ts +17 -0
  17. package/dist/classes/incubation/branding.js +85 -0
  18. package/dist/classes/incubation/customize/customize-partitions.d.ts +12 -0
  19. package/dist/classes/incubation/customize/customize-partitions.js +37 -0
  20. package/dist/classes/incubation/fisherman-helper/initcpio.d.ts +1 -0
  21. package/dist/classes/incubation/fisherman-helper/initcpio.js +69 -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 +116 -0
  26. package/dist/classes/incubation/fisherman.d.ts +71 -0
  27. package/dist/classes/incubation/fisherman.js +281 -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/archlinux.d.ts +32 -0
  31. package/dist/classes/incubation/incubator.d/archlinux.js +82 -0
  32. package/dist/classes/incubation/incubator.d/bionic.d.ts +32 -0
  33. package/dist/classes/incubation/incubator.d/bionic.js +83 -0
  34. package/dist/classes/incubation/incubator.d/buster.d.ts +32 -0
  35. package/dist/classes/incubation/incubator.d/buster.js +101 -0
  36. package/dist/classes/incubation/incubator.d/fedora.d.ts +32 -0
  37. package/dist/classes/incubation/incubator.d/fedora.js +81 -0
  38. package/dist/classes/incubation/incubator.d/focal.d.ts +32 -0
  39. package/dist/classes/incubation/incubator.d/focal.js +85 -0
  40. package/dist/classes/incubation/incubator.d/manjaro.d.ts +32 -0
  41. package/dist/classes/incubation/incubator.d/manjaro.js +82 -0
  42. package/dist/classes/incubation/incubator.d/noble.d.ts +32 -0
  43. package/dist/classes/incubation/incubator.d/noble.js +102 -0
  44. package/dist/classes/incubation/incubator.d/openmamba.d.ts +32 -0
  45. package/dist/classes/incubation/incubator.d/openmamba.js +81 -0
  46. package/dist/classes/incubation/incubator.d/opensuse.d.ts +32 -0
  47. package/dist/classes/incubation/incubator.d/opensuse.js +81 -0
  48. package/dist/classes/incubation/incubator.d/trixie.d.ts +32 -0
  49. package/dist/classes/incubation/incubator.d/trixie.js +98 -0
  50. package/dist/classes/incubation/incubator.d.ts +49 -0
  51. package/dist/classes/incubation/incubator.js +383 -0
  52. package/dist/classes/incubation/installer.d.ts +13 -0
  53. package/dist/classes/incubation/installer.js +52 -0
  54. package/dist/classes/keyboards.d.ts +50 -0
  55. package/dist/classes/keyboards.js +287 -0
  56. package/dist/classes/locales.d.ts +21 -0
  57. package/dist/classes/locales.js +77 -0
  58. package/dist/classes/network.d.ts +37 -0
  59. package/dist/classes/network.js +98 -0
  60. package/dist/classes/ovary.d/bind-live-fs.d.ts +18 -0
  61. package/dist/classes/ovary.d/bind-live-fs.js +185 -0
  62. package/dist/classes/ovary.d/bind-vfs.d.ts +17 -0
  63. package/dist/classes/ovary.d/bind-vfs.js +37 -0
  64. package/dist/classes/ovary.d/create-xdg-autostart.d.ts +13 -0
  65. package/dist/classes/ovary.d/create-xdg-autostart.js +193 -0
  66. package/dist/classes/ovary.d/edit-live-fs.d.ts +20 -0
  67. package/dist/classes/ovary.d/edit-live-fs.js +239 -0
  68. package/dist/classes/ovary.d/fertilization.d.ts +12 -0
  69. package/dist/classes/ovary.d/fertilization.js +53 -0
  70. package/dist/classes/ovary.d/finished.d.ts +13 -0
  71. package/dist/classes/ovary.d/finished.js +40 -0
  72. package/dist/classes/ovary.d/initrd.d.ts +21 -0
  73. package/dist/classes/ovary.d/initrd.js +96 -0
  74. package/dist/classes/ovary.d/kernel-copy.d.ts +12 -0
  75. package/dist/classes/ovary.d/kernel-copy.js +22 -0
  76. package/dist/classes/ovary.d/live-create-structure.d.ts +12 -0
  77. package/dist/classes/ovary.d/live-create-structure.js +70 -0
  78. package/dist/classes/ovary.d/luks-get-password.d.ts +12 -0
  79. package/dist/classes/ovary.d/luks-get-password.js +58 -0
  80. package/dist/classes/ovary.d/luks-helpers.d.ts +19 -0
  81. package/dist/classes/ovary.d/luks-helpers.js +73 -0
  82. package/dist/classes/ovary.d/luks-home-support.d.ts +12 -0
  83. package/dist/classes/ovary.d/luks-home-support.js +70 -0
  84. package/dist/classes/ovary.d/luks-home.d.ts +15 -0
  85. package/dist/classes/ovary.d/luks-home.js +132 -0
  86. package/dist/classes/ovary.d/luks-interactive-crypto-config.d.ts +47 -0
  87. package/dist/classes/ovary.d/luks-interactive-crypto-config.js +139 -0
  88. package/dist/classes/ovary.d/luks-root-initrd.d.ts +17 -0
  89. package/dist/classes/ovary.d/luks-root-initrd.js +213 -0
  90. package/dist/classes/ovary.d/luks-root.d.ts +15 -0
  91. package/dist/classes/ovary.d/luks-root.js +123 -0
  92. package/dist/classes/ovary.d/make-dot-disk.d.ts +12 -0
  93. package/dist/classes/ovary.d/make-dot-disk.js +71 -0
  94. package/dist/classes/ovary.d/make-efi.d.ts +14 -0
  95. package/dist/classes/ovary.d/make-efi.js +296 -0
  96. package/dist/classes/ovary.d/make-iso.d.ts +13 -0
  97. package/dist/classes/ovary.d/make-iso.js +45 -0
  98. package/dist/classes/ovary.d/make-squashfs.d.ts +18 -0
  99. package/dist/classes/ovary.d/make-squashfs.js +111 -0
  100. package/dist/classes/ovary.d/merged.d.ts +27 -0
  101. package/dist/classes/ovary.d/merged.js +78 -0
  102. package/dist/classes/ovary.d/produce.d.ts +23 -0
  103. package/dist/classes/ovary.d/produce.js +349 -0
  104. package/dist/classes/ovary.d/rexec.d.ts +13 -0
  105. package/dist/classes/ovary.d/rexec.js +34 -0
  106. package/dist/classes/ovary.d/syslinux.d.ts +12 -0
  107. package/dist/classes/ovary.d/syslinux.js +99 -0
  108. package/dist/classes/ovary.d/user-create-live.d.ts +14 -0
  109. package/dist/classes/ovary.d/user-create-live.js +97 -0
  110. package/dist/classes/ovary.d/users-remove.d.ts +9 -0
  111. package/dist/classes/ovary.d/users-remove.js +38 -0
  112. package/dist/classes/ovary.d/xorriso-command.d.ts +14 -0
  113. package/dist/classes/ovary.d/xorriso-command.js +125 -0
  114. package/dist/classes/ovary.d.ts +111 -0
  115. package/dist/classes/ovary.js +122 -0
  116. package/dist/classes/pacman.d/alpine.d.ts +56 -0
  117. package/dist/classes/pacman.d/alpine.js +167 -0
  118. package/dist/classes/pacman.d/archlinux.d.ts +62 -0
  119. package/dist/classes/pacman.d/archlinux.js +128 -0
  120. package/dist/classes/pacman.d/debian.d.ts +65 -0
  121. package/dist/classes/pacman.d/debian.js +143 -0
  122. package/dist/classes/pacman.d/fedora.d.ts +53 -0
  123. package/dist/classes/pacman.d/fedora.js +107 -0
  124. package/dist/classes/pacman.d/openmamba.d.ts +52 -0
  125. package/dist/classes/pacman.d/openmamba.js +106 -0
  126. package/dist/classes/pacman.d/opensuse.d.ts +53 -0
  127. package/dist/classes/pacman.d/opensuse.js +109 -0
  128. package/dist/classes/pacman.d.ts +139 -0
  129. package/dist/classes/pacman.js +683 -0
  130. package/dist/classes/pve-live.d.ts +17 -0
  131. package/dist/classes/pve-live.js +52 -0
  132. package/dist/classes/pxe.d.ts +76 -0
  133. package/dist/classes/pxe.js +353 -0
  134. package/dist/classes/settings.d.ts +52 -0
  135. package/dist/classes/settings.js +185 -0
  136. package/dist/classes/sources_list.d.ts +28 -0
  137. package/dist/classes/sources_list.js +89 -0
  138. package/dist/classes/systemctl.d.ts +47 -0
  139. package/dist/classes/systemctl.js +86 -0
  140. package/dist/classes/tailor.d.ts +50 -0
  141. package/dist/classes/tailor.js +563 -0
  142. package/dist/classes/tools.d.ts +26 -0
  143. package/dist/classes/tools.js +50 -0
  144. package/dist/classes/users.d.ts +28 -0
  145. package/dist/classes/users.js +143 -0
  146. package/dist/classes/utils.d/kernel.d.ts +39 -0
  147. package/dist/classes/utils.d/kernel.js +206 -0
  148. package/dist/classes/utils.d.ts +330 -0
  149. package/dist/classes/utils.js +968 -0
  150. package/dist/classes/xdg.d.ts +45 -0
  151. package/dist/classes/xdg.js +337 -0
  152. package/dist/classes/yolk.d.ts +33 -0
  153. package/dist/classes/yolk.js +114 -0
  154. package/dist/commands/adapt.d.ts +17 -0
  155. package/dist/commands/adapt.js +33 -0
  156. package/dist/commands/analyze.d.ts +26 -0
  157. package/dist/commands/analyze.js +95 -0
  158. package/dist/commands/calamares.d.ts +29 -0
  159. package/dist/commands/calamares.js +112 -0
  160. package/dist/commands/config.d.ts +35 -0
  161. package/dist/commands/config.js +120 -0
  162. package/dist/commands/cuckoo.d.ts +17 -0
  163. package/dist/commands/cuckoo.js +61 -0
  164. package/dist/commands/dad.d.ts +21 -0
  165. package/dist/commands/dad.js +47 -0
  166. package/dist/commands/export/iso.d.ts +19 -0
  167. package/dist/commands/export/iso.js +55 -0
  168. package/dist/commands/export/pkg.d.ts +29 -0
  169. package/dist/commands/export/pkg.js +173 -0
  170. package/dist/commands/export/tarballs.d.ts +27 -0
  171. package/dist/commands/export/tarballs.js +79 -0
  172. package/dist/commands/install.d.ts +39 -0
  173. package/dist/commands/install.js +113 -0
  174. package/dist/commands/kill.d.ts +24 -0
  175. package/dist/commands/kill.js +50 -0
  176. package/dist/commands/love.d.ts +25 -0
  177. package/dist/commands/love.js +118 -0
  178. package/dist/commands/mom.d.ts +16 -0
  179. package/dist/commands/mom.js +30 -0
  180. package/dist/commands/pods.d.ts +22 -0
  181. package/dist/commands/pods.js +92 -0
  182. package/dist/commands/produce.d.ts +37 -0
  183. package/dist/commands/produce.js +232 -0
  184. package/dist/commands/status.d.ts +23 -0
  185. package/dist/commands/status.js +31 -0
  186. package/dist/commands/tools/clean.d.ts +18 -0
  187. package/dist/commands/tools/clean.js +37 -0
  188. package/dist/commands/tools/repo.d.ts +31 -0
  189. package/dist/commands/tools/repo.js +246 -0
  190. package/dist/commands/tools/skel.d.ts +18 -0
  191. package/dist/commands/tools/skel.js +44 -0
  192. package/dist/commands/tools/stat.d.ts +31 -0
  193. package/dist/commands/tools/stat.js +70 -0
  194. package/dist/commands/tools/yolk.d.ts +24 -0
  195. package/dist/commands/tools/yolk.js +45 -0
  196. package/dist/commands/update.d.ts +46 -0
  197. package/dist/commands/update.js +238 -0
  198. package/dist/commands/wardrobe/get.d.ts +23 -0
  199. package/dist/commands/wardrobe/get.js +52 -0
  200. package/dist/commands/wardrobe/list.d.ts +24 -0
  201. package/dist/commands/wardrobe/list.js +125 -0
  202. package/dist/commands/wardrobe/show.d.ts +25 -0
  203. package/dist/commands/wardrobe/show.js +97 -0
  204. package/dist/commands/wardrobe/wear.d.ts +26 -0
  205. package/dist/commands/wardrobe/wear.js +84 -0
  206. package/dist/dhcpd-proxy/classes/packet.d.ts +36 -0
  207. package/dist/dhcpd-proxy/classes/packet.js +124 -0
  208. package/dist/dhcpd-proxy/index.d.ts +4 -0
  209. package/dist/dhcpd-proxy/index.js +4 -0
  210. package/dist/dhcpd-proxy/interfaces/i-pxe.d.ts +45 -0
  211. package/dist/dhcpd-proxy/interfaces/i-pxe.js +1 -0
  212. package/dist/dhcpd-proxy/lib/packet/converters.d.ts +11 -0
  213. package/dist/dhcpd-proxy/lib/packet/converters.js +395 -0
  214. package/dist/dhcpd-proxy/lib/packet/message-types.d.ts +10 -0
  215. package/dist/dhcpd-proxy/lib/packet/message-types.js +12 -0
  216. package/dist/dhcpd-proxy/lib/packet/options.d.ts +8 -0
  217. package/dist/dhcpd-proxy/lib/packet/options.js +264 -0
  218. package/dist/dhcpd-proxy/lib/sprintf.d.ts +6 -0
  219. package/dist/dhcpd-proxy/lib/sprintf.js +130 -0
  220. package/dist/dhcpd-proxy/lib/utils.d.ts +126 -0
  221. package/dist/dhcpd-proxy/lib/utils.js +255 -0
  222. package/dist/dhcpd-proxy/simple-proxy.d.ts +11 -0
  223. package/dist/dhcpd-proxy/simple-proxy.js +118 -0
  224. package/dist/index.d.ts +8 -0
  225. package/dist/index.js +8 -0
  226. package/dist/interfaces/calamares/i-calamares-bootloader.d.ts +23 -0
  227. package/dist/interfaces/calamares/i-calamares-bootloader.js +7 -0
  228. package/dist/interfaces/calamares/i-calamares-branding.d.ts +46 -0
  229. package/dist/interfaces/calamares/i-calamares-branding.js +1 -0
  230. package/dist/interfaces/calamares/i-calamares-displaymanager.d.ts +34 -0
  231. package/dist/interfaces/calamares/i-calamares-displaymanager.js +1 -0
  232. package/dist/interfaces/calamares/i-calamares-finished.d.ts +14 -0
  233. package/dist/interfaces/calamares/i-calamares-finished.js +1 -0
  234. package/dist/interfaces/calamares/i-calamares-packages.d.ts +26 -0
  235. package/dist/interfaces/calamares/i-calamares-packages.js +1 -0
  236. package/dist/interfaces/calamares/i-calamares-partitions.d.ts +39 -0
  237. package/dist/interfaces/calamares/i-calamares-partitions.js +1 -0
  238. package/dist/interfaces/calamares/i-calamares-settings.d.ts +36 -0
  239. package/dist/interfaces/calamares/i-calamares-settings.js +1 -0
  240. package/dist/interfaces/i-addons.d.ts +12 -0
  241. package/dist/interfaces/i-addons.js +8 -0
  242. package/dist/interfaces/i-analyze.d.ts +17 -0
  243. package/dist/interfaces/i-analyze.js +17 -0
  244. package/dist/interfaces/i-app.d.ts +14 -0
  245. package/dist/interfaces/i-app.js +8 -0
  246. package/dist/interfaces/i-config-tools.d.ts +15 -0
  247. package/dist/interfaces/i-config-tools.js +8 -0
  248. package/dist/interfaces/i-devices.d.ts +20 -0
  249. package/dist/interfaces/i-devices.js +8 -0
  250. package/dist/interfaces/i-distro.d.ts +23 -0
  251. package/dist/interfaces/i-distro.js +8 -0
  252. package/dist/interfaces/i-drive-list.d.ts +33 -0
  253. package/dist/interfaces/i-drive-list.js +8 -0
  254. package/dist/interfaces/i-eggs-config.d.ts +32 -0
  255. package/dist/interfaces/i-eggs-config.js +8 -0
  256. package/dist/interfaces/i-excludes.d.ts +14 -0
  257. package/dist/interfaces/i-excludes.js +8 -0
  258. package/dist/interfaces/i-exec.d.ts +11 -0
  259. package/dist/interfaces/i-exec.js +8 -0
  260. package/dist/interfaces/i-initrd.d.ts +13 -0
  261. package/dist/interfaces/i-initrd.js +8 -0
  262. package/dist/interfaces/i-install.d.ts +16 -0
  263. package/dist/interfaces/i-install.js +8 -0
  264. package/dist/interfaces/i-installer.d.ts +17 -0
  265. package/dist/interfaces/i-installer.js +8 -0
  266. package/dist/interfaces/i-luks-passphrase.d.ts +11 -0
  267. package/dist/interfaces/i-luks-passphrase.js +8 -0
  268. package/dist/interfaces/i-materia.d.ts +36 -0
  269. package/dist/interfaces/i-materia.js +8 -0
  270. package/dist/interfaces/i-net.d.ts +16 -0
  271. package/dist/interfaces/i-net.js +8 -0
  272. package/dist/interfaces/i-os-release.d.ts +5 -0
  273. package/dist/interfaces/i-os-release.js +1 -0
  274. package/dist/interfaces/i-packages.d.ts +16 -0
  275. package/dist/interfaces/i-packages.js +8 -0
  276. package/dist/interfaces/i-partitions.d.ts +16 -0
  277. package/dist/interfaces/i-partitions.js +8 -0
  278. package/dist/interfaces/i-pxe.d.ts +45 -0
  279. package/dist/interfaces/i-pxe.js +1 -0
  280. package/dist/interfaces/i-remix.d.ts +21 -0
  281. package/dist/interfaces/i-remix.js +8 -0
  282. package/dist/interfaces/i-settings.d.ts +33 -0
  283. package/dist/interfaces/i-settings.js +8 -0
  284. package/dist/interfaces/i-user.d.ts +14 -0
  285. package/dist/interfaces/i-user.js +8 -0
  286. package/dist/interfaces/i-workdir.d.ts +14 -0
  287. package/dist/interfaces/i-workdir.js +8 -0
  288. package/dist/interfaces/i-xkb-model.d.ts +24 -0
  289. package/dist/interfaces/i-xkb-model.js +8 -0
  290. package/dist/interfaces/index.d.ts +26 -0
  291. package/dist/interfaces/index.js +8 -0
  292. package/dist/krill/classes/cfs.d.ts +17 -0
  293. package/dist/krill/classes/cfs.js +39 -0
  294. package/dist/krill/classes/krill_enums.d.ts +37 -0
  295. package/dist/krill/classes/krill_enums.js +41 -0
  296. package/dist/krill/classes/prepare.d/confirm.d.ts +5 -0
  297. package/dist/krill/classes/prepare.d/confirm.js +30 -0
  298. package/dist/krill/classes/prepare.d/keyboard.d.ts +14 -0
  299. package/dist/krill/classes/prepare.d/keyboard.js +62 -0
  300. package/dist/krill/classes/prepare.d/location.d.ts +17 -0
  301. package/dist/krill/classes/prepare.d/location.js +59 -0
  302. package/dist/krill/classes/prepare.d/network.d.ts +14 -0
  303. package/dist/krill/classes/prepare.d/network.js +68 -0
  304. package/dist/krill/classes/prepare.d/partitions.d.ts +14 -0
  305. package/dist/krill/classes/prepare.d/partitions.js +86 -0
  306. package/dist/krill/classes/prepare.d/summary.d.ts +15 -0
  307. package/dist/krill/classes/prepare.d/summary.js +72 -0
  308. package/dist/krill/classes/prepare.d/users.d.ts +6 -0
  309. package/dist/krill/classes/prepare.d/users.js +63 -0
  310. package/dist/krill/classes/prepare.d/welcome.d.ts +6 -0
  311. package/dist/krill/classes/prepare.d/welcome.js +30 -0
  312. package/dist/krill/classes/prepare.d.ts +89 -0
  313. package/dist/krill/classes/prepare.js +319 -0
  314. package/dist/krill/classes/sequence.d/add_user.d.ts +20 -0
  315. package/dist/krill/classes/sequence.d/add_user.js +77 -0
  316. package/dist/krill/classes/sequence.d/bootloader.d.ts +14 -0
  317. package/dist/krill/classes/sequence.d/bootloader.js +117 -0
  318. package/dist/krill/classes/sequence.d/bootloader_config.d.ts +14 -0
  319. package/dist/krill/classes/sequence.d/bootloader_config.js +192 -0
  320. package/dist/krill/classes/sequence.d/change_password.d.ts +15 -0
  321. package/dist/krill/classes/sequence.d/change_password.js +18 -0
  322. package/dist/krill/classes/sequence.d/del_live_user.d.ts +14 -0
  323. package/dist/krill/classes/sequence.d/del_live_user.js +39 -0
  324. package/dist/krill/classes/sequence.d/fstab.d.ts +14 -0
  325. package/dist/krill/classes/sequence.d/fstab.js +177 -0
  326. package/dist/krill/classes/sequence.d/grubcfg.d.ts +17 -0
  327. package/dist/krill/classes/sequence.d/grubcfg.js +35 -0
  328. package/dist/krill/classes/sequence.d/hostname.d.ts +13 -0
  329. package/dist/krill/classes/sequence.d/hostname.js +50 -0
  330. package/dist/krill/classes/sequence.d/initramfs.d.ts +13 -0
  331. package/dist/krill/classes/sequence.d/initramfs.js +54 -0
  332. package/dist/krill/classes/sequence.d/initramfs_cfg.d.ts +14 -0
  333. package/dist/krill/classes/sequence.d/initramfs_cfg.js +35 -0
  334. package/dist/krill/classes/sequence.d/locale.d.ts +13 -0
  335. package/dist/krill/classes/sequence.d/locale.js +91 -0
  336. package/dist/krill/classes/sequence.d/locale_cfg.d.ts +10 -0
  337. package/dist/krill/classes/sequence.d/locale_cfg.js +58 -0
  338. package/dist/krill/classes/sequence.d/m_keyboard.d.ts +14 -0
  339. package/dist/krill/classes/sequence.d/m_keyboard.js +58 -0
  340. package/dist/krill/classes/sequence.d/machine_id.d.ts +15 -0
  341. package/dist/krill/classes/sequence.d/machine_id.js +33 -0
  342. package/dist/krill/classes/sequence.d/mkfs.d.ts +15 -0
  343. package/dist/krill/classes/sequence.d/mkfs.js +88 -0
  344. package/dist/krill/classes/sequence.d/mount_fs.d.ts +17 -0
  345. package/dist/krill/classes/sequence.d/mount_fs.js +68 -0
  346. package/dist/krill/classes/sequence.d/mount_vfs.d.ts +17 -0
  347. package/dist/krill/classes/sequence.d/mount_vfs.js +59 -0
  348. package/dist/krill/classes/sequence.d/network_cfg.d.ts +19 -0
  349. package/dist/krill/classes/sequence.d/network_cfg.js +73 -0
  350. package/dist/krill/classes/sequence.d/packages.d.ts +14 -0
  351. package/dist/krill/classes/sequence.d/packages.js +111 -0
  352. package/dist/krill/classes/sequence.d/partition.d/bios_luks.d.ts +17 -0
  353. package/dist/krill/classes/sequence.d/partition.d/bios_luks.js +73 -0
  354. package/dist/krill/classes/sequence.d/partition.d/bios_standard.d.ts +16 -0
  355. package/dist/krill/classes/sequence.d/partition.d/bios_standard.js +51 -0
  356. package/dist/krill/classes/sequence.d/partition.d/uefi_luks.d.ts +17 -0
  357. package/dist/krill/classes/sequence.d/partition.d/uefi_luks.js +77 -0
  358. package/dist/krill/classes/sequence.d/partition.d/uefi_standard.d.ts +10 -0
  359. package/dist/krill/classes/sequence.d/partition.d/uefi_standard.js +33 -0
  360. package/dist/krill/classes/sequence.d/partition.d.ts +14 -0
  361. package/dist/krill/classes/sequence.d/partition.js +84 -0
  362. package/dist/krill/classes/sequence.d/remove_installer_link.d.ts +13 -0
  363. package/dist/krill/classes/sequence.d/remove_installer_link.js +35 -0
  364. package/dist/krill/classes/sequence.d/umount.d.ts +14 -0
  365. package/dist/krill/classes/sequence.d/umount.js +28 -0
  366. package/dist/krill/classes/sequence.d/unpackfs.d.ts +13 -0
  367. package/dist/krill/classes/sequence.d/unpackfs.js +20 -0
  368. package/dist/krill/classes/sequence.d.ts +134 -0
  369. package/dist/krill/classes/sequence.js +400 -0
  370. package/dist/krill/components/finished.d.ts +16 -0
  371. package/dist/krill/components/finished.js +56 -0
  372. package/dist/krill/components/information.d.ts +8 -0
  373. package/dist/krill/components/information.js +162 -0
  374. package/dist/krill/components/install.d.ts +15 -0
  375. package/dist/krill/components/install.js +60 -0
  376. package/dist/krill/components/keyboard.d.ts +16 -0
  377. package/dist/krill/components/keyboard.js +54 -0
  378. package/dist/krill/components/location.d.ts +16 -0
  379. package/dist/krill/components/location.js +59 -0
  380. package/dist/krill/components/network.d.ts +19 -0
  381. package/dist/krill/components/network.js +65 -0
  382. package/dist/krill/components/partitions.d.ts +18 -0
  383. package/dist/krill/components/partitions.js +89 -0
  384. package/dist/krill/components/steps.d.ts +13 -0
  385. package/dist/krill/components/steps.js +148 -0
  386. package/dist/krill/components/summary.d.ts +25 -0
  387. package/dist/krill/components/summary.js +77 -0
  388. package/dist/krill/components/title.d.ts +11 -0
  389. package/dist/krill/components/title.js +35 -0
  390. package/dist/krill/components/users.d.ts +24 -0
  391. package/dist/krill/components/users.js +80 -0
  392. package/dist/krill/components/welcome.d.ts +13 -0
  393. package/dist/krill/components/welcome.js +63 -0
  394. package/dist/krill/interfaces/i_krill.d.ts +44 -0
  395. package/dist/krill/interfaces/i_krill.js +8 -0
  396. package/dist/krill/interfaces/i_krill_config.d.ts +35 -0
  397. package/dist/krill/interfaces/i_krill_config.js +8 -0
  398. package/dist/krill/lib/get_address.d.ts +8 -0
  399. package/dist/krill/lib/get_address.js +23 -0
  400. package/dist/krill/lib/get_dns.d.ts +8 -0
  401. package/dist/krill/lib/get_dns.js +23 -0
  402. package/dist/krill/lib/get_domain.d.ts +8 -0
  403. package/dist/krill/lib/get_domain.js +23 -0
  404. package/dist/krill/lib/get_gateway.d.ts +8 -0
  405. package/dist/krill/lib/get_gateway.js +23 -0
  406. package/dist/krill/lib/get_hostname.d.ts +8 -0
  407. package/dist/krill/lib/get_hostname.js +23 -0
  408. package/dist/krill/lib/get_luks_passphrase.d.ts +8 -0
  409. package/dist/krill/lib/get_luks_passphrase.js +32 -0
  410. package/dist/krill/lib/get_netmask.d.ts +8 -0
  411. package/dist/krill/lib/get_netmask.js +23 -0
  412. package/dist/krill/lib/get_password.d.ts +8 -0
  413. package/dist/krill/lib/get_password.js +36 -0
  414. package/dist/krill/lib/get_userfullname.d.ts +8 -0
  415. package/dist/krill/lib/get_userfullname.js +23 -0
  416. package/dist/krill/lib/get_username.d.ts +8 -0
  417. package/dist/krill/lib/get_username.js +23 -0
  418. package/dist/krill/lib/select_address_type.d.ts +8 -0
  419. package/dist/krill/lib/select_address_type.js +24 -0
  420. package/dist/krill/lib/select_filesystem_type.d.ts +8 -0
  421. package/dist/krill/lib/select_filesystem_type.js +40 -0
  422. package/dist/krill/lib/select_installation_device.d.ts +8 -0
  423. package/dist/krill/lib/select_installation_device.js +40 -0
  424. package/dist/krill/lib/select_installation_mode.d.ts +9 -0
  425. package/dist/krill/lib/select_installation_mode.js +25 -0
  426. package/dist/krill/lib/select_interface.d.ts +8 -0
  427. package/dist/krill/lib/select_interface.js +24 -0
  428. package/dist/krill/lib/select_keyboard_layout.d.ts +11 -0
  429. package/dist/krill/lib/select_keyboard_layout.js +36 -0
  430. package/dist/krill/lib/select_keyboard_model.d.ts +11 -0
  431. package/dist/krill/lib/select_keyboard_model.js +34 -0
  432. package/dist/krill/lib/select_keyboard_option.d.ts +11 -0
  433. package/dist/krill/lib/select_keyboard_option.js +34 -0
  434. package/dist/krill/lib/select_keyboard_variant.d.ts +11 -0
  435. package/dist/krill/lib/select_keyboard_variant.js +35 -0
  436. package/dist/krill/lib/select_languages.d.ts +8 -0
  437. package/dist/krill/lib/select_languages.js +28 -0
  438. package/dist/krill/lib/select_regions.d.ts +8 -0
  439. package/dist/krill/lib/select_regions.js +24 -0
  440. package/dist/krill/lib/select_replaced_partition.d.ts +8 -0
  441. package/dist/krill/lib/select_replaced_partition.js +31 -0
  442. package/dist/krill/lib/select_user_swap_choice.d.ts +9 -0
  443. package/dist/krill/lib/select_user_swap_choice.js +35 -0
  444. package/dist/krill/lib/select_zones.d.ts +8 -0
  445. package/dist/krill/lib/select_zones.js +518 -0
  446. package/dist/lib/kill_me_softly.d.ts +11 -0
  447. package/dist/lib/kill_me_softly.js +61 -0
  448. package/dist/lib/utils.d.ts +19 -0
  449. package/dist/lib/utils.js +65 -0
  450. package/dracut/dracut.conf.d/50-live.conf +12 -13
  451. package/package.json +1 -1
  452. package/perrisbrewery/template/dependencies.yaml +1 -0
@@ -0,0 +1,14 @@
1
+ /**
2
+ * ./src/classes/xorriso-command.ts
3
+ * penguins-eggs v.25.7.x / ecmascript 2020
4
+ * author: Piero Proietti
5
+ * email: piero.proietti@gmail.com
6
+ * license: MIT
7
+ */
8
+ import Ovary from '../ovary.js';
9
+ /**
10
+ *
11
+ * @param fullcrypt
12
+ * @returns cmd 4 mkiso
13
+ */
14
+ export declare function xorrisoCommand(this: Ovary, clone?: boolean, homecrypt?: boolean, fullcrypt?: boolean): Promise<string>;
@@ -0,0 +1,125 @@
1
+ /**
2
+ * ./src/classes/xorriso-command.ts
3
+ * penguins-eggs v.25.7.x / ecmascript 2020
4
+ * author: Piero Proietti
5
+ * email: piero.proietti@gmail.com
6
+ * license: MIT
7
+ */
8
+ // packages
9
+ import fs from 'node:fs';
10
+ import path from 'node:path';
11
+ import Pacman from '../pacman.js';
12
+ import Utils from '../utils.js';
13
+ import Diversions from '../diversions.js';
14
+ // _dirname
15
+ const __dirname = path.dirname(new URL(import.meta.url).pathname);
16
+ /**
17
+ *
18
+ * @param fullcrypt
19
+ * @returns cmd 4 mkiso
20
+ */
21
+ export async function xorrisoCommand(clone = false, homecrypt = false, fullcrypt = false) {
22
+ const prefix = this.settings.config.snapshot_prefix;
23
+ // typology is applied only with standard egg-of
24
+ let typology = '';
25
+ if (prefix.slice(0, 7) === 'egg-of_') {
26
+ if (clone) {
27
+ typology = '_clone';
28
+ }
29
+ else if (homecrypt) {
30
+ typology = '_clone-home-crypted';
31
+ }
32
+ else if (fullcrypt) {
33
+ typology = '_clone-full-crypted';
34
+ }
35
+ if (fs.existsSync('/usr/bin/eui-start.sh')) {
36
+ typology += '_EUI';
37
+ }
38
+ }
39
+ // postfix (data)
40
+ const postfix = Utils.getPostfix();
41
+ console.log('prefix:', prefix);
42
+ console.log('prefix:', this.volid);
43
+ console.log('arch:', Utils.uefiArch());
44
+ console.log('typology:', typology);
45
+ console.log('postfix:', postfix);
46
+ this.settings.isoFilename = prefix + this.volid + '_' + Utils.uefiArch() + typology + postfix;
47
+ // node della ISO
48
+ const output = this.settings.config.snapshot_mnt + this.settings.isoFilename;
49
+ let command = '';
50
+ // const appid = `-appid "${this.settings.distro.distroId}" `
51
+ // const publisher = `-publisher "${this.settings.distro.distroId}/${this.settings.distro.codenameId}" `
52
+ // const preparer = '-preparer "prepared by eggs <https://penguins-eggs.net>" '
53
+ let isoHybridMbr = '';
54
+ if (this.settings.config.make_isohybrid) {
55
+ const bootloaders = Diversions.bootloaders(this.familyId);
56
+ const isohybridFile = path.resolve(bootloaders, `ISOLINUX/isohdpfx.bin`);
57
+ if (fs.existsSync(isohybridFile)) {
58
+ isoHybridMbr = `-isohybrid-mbr ${isohybridFile}`;
59
+ }
60
+ else {
61
+ Utils.warning(`Can't create isohybrid image, file: ${isohybridFile} not found!`);
62
+ process.exit();
63
+ }
64
+ }
65
+ // su arm no isolinux
66
+ let isolinuxBin = '';
67
+ let isolinuxCat = '';
68
+ let noemulboot = '';
69
+ let bootloadsize = '';
70
+ let bootinfotable = '';
71
+ if (process.arch !== 'arm64') {
72
+ isolinuxBin = `-b isolinux/isolinux.bin`;
73
+ isolinuxCat = `-c isolinux/boot.cat`;
74
+ noemulboot = '-no-emul-boot';
75
+ bootloadsize = '-boot-load-size 4';
76
+ bootinfotable = '-boot-info-table';
77
+ }
78
+ if (Pacman.packageIsInstalled('xorriso')) {
79
+ let uefi_elToritoAltBoot = '';
80
+ let uefi_e = '';
81
+ let uefi_isohybridGptBasdat = '';
82
+ let uefi_noEmulBoot = '';
83
+ if (this.settings.config.make_efi) {
84
+ uefi_elToritoAltBoot = '-eltorito-alt-boot';
85
+ uefi_e = '-e boot/grub/efi.img';
86
+ uefi_isohybridGptBasdat = '-isohybrid-gpt-basdat';
87
+ uefi_noEmulBoot = '-no-emul-boot';
88
+ }
89
+ // <<< INIZIO BLOCCO AGGIUNTO >>>
90
+ let luksPartitionParam = ''; // Inizializziamo la variabile per il parametro LUKS
91
+ if (fullcrypt) {
92
+ // Costruiamo il percorso del file luks.img all'interno della directory di build
93
+ const luksImagePath = path.join(this.settings.iso_work, 'live', this.luksMappedName);
94
+ // Verifichiamo che il file esista prima di aggiungerlo
95
+ if (fs.existsSync(luksImagePath)) {
96
+ // Costruiamo il parametro per aggiungere la partizione 3
97
+ luksPartitionParam = `-append_partition 3 0x80 ${luksImagePath}`;
98
+ }
99
+ else {
100
+ Utils.warning(`Errore: impossibile creare l'ISO criptata, file non trovato: ${luksImagePath}`);
101
+ process.exit();
102
+ }
103
+ }
104
+ // <<< FINE BLOCCO AGGIUNTO >>>
105
+ command = `xorriso -as mkisofs \
106
+ -J \
107
+ -joliet-long \
108
+ -l \
109
+ -iso-level 3 \
110
+ ${isoHybridMbr} \
111
+ -partition_offset 16 \
112
+ -V ${this.volid} \
113
+ ${isolinuxBin} \
114
+ ${isolinuxCat} \
115
+ -no-emul-boot \
116
+ -boot-load-size 4 \
117
+ -boot-info-table \
118
+ ${uefi_elToritoAltBoot} \
119
+ ${uefi_e} \
120
+ ${uefi_isohybridGptBasdat} \
121
+ ${uefi_noEmulBoot} \
122
+ -o ${output} ${this.settings.iso_work}`;
123
+ }
124
+ return command;
125
+ }
@@ -0,0 +1,111 @@
1
+ /**
2
+ * ./src/classes/ovary.ts
3
+ * penguins-eggs v.25.7.x / ecmascript 2020
4
+ * author: Piero Proietti
5
+ * email: piero.proietti@gmail.com
6
+ * license: MIT
7
+ */
8
+ import { IWorkDir } from '../interfaces/index.js';
9
+ import CliAutologin from './cli-autologin.js';
10
+ import Incubator from './incubation/incubator.js';
11
+ import Settings from './settings.js';
12
+ import { fertilization } from './ovary.d/fertilization.js';
13
+ import { produce } from './ovary.d/produce.js';
14
+ import { bindLiveFs, uBindLiveFs } from './ovary.d/bind-live-fs.js';
15
+ import { bindVfs, ubindVfs } from './ovary.d/bind-vfs.js';
16
+ import { editLiveFs } from './ovary.d/edit-live-fs.js';
17
+ import { makeSquashfs, addExclusion } from './ovary.d/make-squashfs.js';
18
+ import { makeEfi } from './ovary.d/make-efi.js';
19
+ import { xorrisoCommand } from './ovary.d/xorriso-command.js';
20
+ import { createXdgAutostart } from './ovary.d/create-xdg-autostart.js';
21
+ import { copied, merged, mergedAndOverlay } from './ovary.d/merged.js';
22
+ import { makeIso } from './ovary.d/make-iso.js';
23
+ import { initrdAlpine, initrdArch, initrdDebian, initrdDracut } from './ovary.d/initrd.js';
24
+ import { userCreateLive } from './ovary.d/user-create-live.js';
25
+ import { syslinux } from './ovary.d/syslinux.js';
26
+ import { usersRemove } from './ovary.d/users-remove.js';
27
+ import { makeDotDisk } from './ovary.d/make-dot-disk.js';
28
+ import { kernelCopy } from './ovary.d/kernel-copy.js';
29
+ import { liveCreateStructure } from './ovary.d/live-create-structure.js';
30
+ import { finished } from './ovary.d/finished.js';
31
+ import { luksExecuteCommand, buildLuksFormatArgs } from './ovary.d/luks-helpers.js';
32
+ import { luksGetPassword } from './ovary.d/luks-get-password.js';
33
+ import { interactiveCryptoConfig, CryptoConfig } from './ovary.d/luks-interactive-crypto-config.js';
34
+ import { luksHome } from './ovary.d/luks-home.js';
35
+ import { installHomecryptSupport } from './ovary.d/luks-home-support.js';
36
+ import { luksRootInitrd } from './ovary.d/luks-root-initrd.js';
37
+ import { luksRoot } from './ovary.d/luks-root.js';
38
+ /**
39
+ * Ovary:
40
+ */
41
+ export default class Ovary {
42
+ cliAutologin: CliAutologin;
43
+ compression: string;
44
+ clone: boolean;
45
+ homecrypt: boolean;
46
+ fullcrypt: boolean;
47
+ hidden: boolean;
48
+ echo: {};
49
+ familyId: string;
50
+ distroId: string;
51
+ distroLike: string;
52
+ distroLliveMediumPath: string;
53
+ genisoimage: boolean;
54
+ incubator: Incubator;
55
+ settings: Settings;
56
+ snapshot_basename: string;
57
+ snapshot_prefix: string;
58
+ theme: string;
59
+ toNull: string;
60
+ verbose: boolean;
61
+ volid: string;
62
+ uuid: string;
63
+ kernel: string;
64
+ initrd: string;
65
+ vmlinuz: string;
66
+ nest: string;
67
+ dotMnt: string;
68
+ dotOverlay: IWorkDir;
69
+ dotLivefs: string;
70
+ luksMappedName: string;
71
+ luksMountpoint: string;
72
+ luksFile: string;
73
+ luksDevice: string;
74
+ luksPassword: string;
75
+ luksConfig: CryptoConfig;
76
+ fertilization: typeof fertilization;
77
+ produce: typeof produce;
78
+ addExclusion: typeof addExclusion;
79
+ bindLiveFs: typeof bindLiveFs;
80
+ bindVfs: typeof bindVfs;
81
+ copied: typeof copied;
82
+ createXdgAutostart: typeof createXdgAutostart;
83
+ editLiveFs: typeof editLiveFs;
84
+ luksExecuteCommand: typeof luksExecuteCommand;
85
+ buildLuksFormatArgs: typeof buildLuksFormatArgs;
86
+ luksGetPassword: typeof luksGetPassword;
87
+ interactiveCryptoConfig: typeof interactiveCryptoConfig;
88
+ luksHome: typeof luksHome;
89
+ installHomecryptSupport: typeof installHomecryptSupport;
90
+ luksRoot: typeof luksRoot;
91
+ finished: typeof finished;
92
+ initrdAlpine: typeof initrdAlpine;
93
+ initrdArch: typeof initrdArch;
94
+ initrdDebian: typeof initrdDebian;
95
+ luksRootInitrd: typeof luksRootInitrd;
96
+ initrdDracut: typeof initrdDracut;
97
+ kernelCopy: typeof kernelCopy;
98
+ liveCreateStructure: typeof liveCreateStructure;
99
+ makeDotDisk: typeof makeDotDisk;
100
+ makeEfi: typeof makeEfi;
101
+ makeIso: typeof makeIso;
102
+ makeSquashfs: typeof makeSquashfs;
103
+ merged: typeof merged;
104
+ mergedAndOverlay: typeof mergedAndOverlay;
105
+ syslinux: typeof syslinux;
106
+ uBindLiveFs: typeof uBindLiveFs;
107
+ ubindVfs: typeof ubindVfs;
108
+ userCreateLive: typeof userCreateLive;
109
+ usersRemove: typeof usersRemove;
110
+ xorrisoCommand: typeof xorrisoCommand;
111
+ }
@@ -0,0 +1,122 @@
1
+ /**
2
+ * ./src/classes/ovary.ts
3
+ * penguins-eggs v.25.7.x / ecmascript 2020
4
+ * author: Piero Proietti
5
+ * email: piero.proietti@gmail.com
6
+ * license: MIT
7
+ */
8
+ // backup
9
+ import path from 'node:path';
10
+ // libraries
11
+ import CliAutologin from './cli-autologin.js';
12
+ // Methods
13
+ import { fertilization } from './ovary.d/fertilization.js';
14
+ import { produce } from './ovary.d/produce.js';
15
+ import { bindLiveFs, uBindLiveFs } from './ovary.d/bind-live-fs.js';
16
+ import { bindVfs, ubindVfs } from './ovary.d/bind-vfs.js';
17
+ import { editLiveFs } from './ovary.d/edit-live-fs.js';
18
+ import { makeSquashfs, addExclusion } from './ovary.d/make-squashfs.js';
19
+ import { makeEfi } from './ovary.d/make-efi.js';
20
+ import { xorrisoCommand } from './ovary.d/xorriso-command.js';
21
+ import { createXdgAutostart } from './ovary.d/create-xdg-autostart.js';
22
+ import { copied, merged, mergedAndOverlay } from './ovary.d/merged.js';
23
+ import { makeIso } from './ovary.d/make-iso.js';
24
+ import { initrdAlpine, initrdArch, initrdDebian, initrdDracut } from './ovary.d/initrd.js';
25
+ import { userCreateLive } from './ovary.d/user-create-live.js';
26
+ import { syslinux } from './ovary.d/syslinux.js';
27
+ import { usersRemove } from './ovary.d/users-remove.js';
28
+ import { makeDotDisk } from './ovary.d/make-dot-disk.js';
29
+ import { kernelCopy } from './ovary.d/kernel-copy.js';
30
+ import { liveCreateStructure } from './ovary.d/live-create-structure.js';
31
+ import { finished } from './ovary.d/finished.js';
32
+ // crypt
33
+ import { luksExecuteCommand, buildLuksFormatArgs } from './ovary.d/luks-helpers.js';
34
+ import { luksGetPassword } from './ovary.d/luks-get-password.js';
35
+ import { interactiveCryptoConfig } from './ovary.d/luks-interactive-crypto-config.js';
36
+ // homecrypt
37
+ import { luksHome } from './ovary.d/luks-home.js';
38
+ import { installHomecryptSupport } from './ovary.d/luks-home-support.js';
39
+ // fullcrypt
40
+ import { luksRootInitrd } from './ovary.d/luks-root-initrd.js';
41
+ import { luksRoot } from './ovary.d/luks-root.js';
42
+ // _dirname
43
+ const __dirname = path.dirname(new URL(import.meta.url).pathname);
44
+ /**
45
+ * Ovary:
46
+ */
47
+ export default class Ovary {
48
+ cliAutologin = new CliAutologin();
49
+ compression = '';
50
+ clone = false;
51
+ homecrypt = false;
52
+ fullcrypt = false;
53
+ hidden = false;
54
+ echo = {};
55
+ familyId = '';
56
+ distroId = '';
57
+ distroLike = '';
58
+ distroLliveMediumPath = '';
59
+ genisoimage = false;
60
+ incubator = {};
61
+ settings = {};
62
+ snapshot_basename = '';
63
+ snapshot_prefix = '';
64
+ theme = '';
65
+ toNull = '';
66
+ verbose = false;
67
+ volid = '';
68
+ uuid = '';
69
+ kernel = '';
70
+ initrd = '';
71
+ vmlinuz = '';
72
+ nest = '';
73
+ dotMnt = '';
74
+ dotOverlay = {};
75
+ dotLivefs = '';
76
+ luksMappedName = '';
77
+ luksMountpoint = '';
78
+ luksFile = '';
79
+ luksDevice = '';
80
+ luksPassword = '';
81
+ luksConfig = {};
82
+ // I put all methods on ovary.d
83
+ fertilization = fertilization;
84
+ produce = produce;
85
+ // called only inside Ovary
86
+ addExclusion = addExclusion;
87
+ bindLiveFs = bindLiveFs;
88
+ bindVfs = bindVfs;
89
+ copied = copied;
90
+ createXdgAutostart = createXdgAutostart;
91
+ editLiveFs = editLiveFs;
92
+ // luks
93
+ luksExecuteCommand = luksExecuteCommand;
94
+ buildLuksFormatArgs = buildLuksFormatArgs;
95
+ luksGetPassword = luksGetPassword;
96
+ interactiveCryptoConfig = interactiveCryptoConfig;
97
+ // luksHome
98
+ luksHome = luksHome;
99
+ installHomecryptSupport = installHomecryptSupport;
100
+ // luksRoot
101
+ luksRoot = luksRoot;
102
+ finished = finished;
103
+ initrdAlpine = initrdAlpine;
104
+ initrdArch = initrdArch;
105
+ initrdDebian = initrdDebian;
106
+ luksRootInitrd = luksRootInitrd;
107
+ initrdDracut = initrdDracut;
108
+ kernelCopy = kernelCopy;
109
+ liveCreateStructure = liveCreateStructure;
110
+ makeDotDisk = makeDotDisk;
111
+ makeEfi = makeEfi;
112
+ makeIso = makeIso;
113
+ makeSquashfs = makeSquashfs;
114
+ merged = merged;
115
+ mergedAndOverlay = mergedAndOverlay;
116
+ syslinux = syslinux;
117
+ uBindLiveFs = uBindLiveFs;
118
+ ubindVfs = ubindVfs;
119
+ userCreateLive = userCreateLive;
120
+ usersRemove = usersRemove;
121
+ xorrisoCommand = xorrisoCommand;
122
+ }
@@ -0,0 +1,56 @@
1
+ /**
2
+ * ./src/classes/families/alpine.ts
3
+ * penguins-eggs v.25.7.x / ecmascript 2020
4
+ * author: Piero Proietti
5
+ * email: piero.proietti@gmail.com
6
+ * license: MIT
7
+ */
8
+ /**
9
+ * Alpine
10
+ * @remarks all the utilities
11
+ */
12
+ export default class Alpine {
13
+ static packs4calamares: string[];
14
+ /**
15
+ * Alpine: calamaresInstall
16
+ */
17
+ static calamaresInstall(verbose?: boolean): Promise<void>;
18
+ /**
19
+ *
20
+ * calamaresPolicies
21
+ */
22
+ static calamaresPolicies(verbose?: boolean): Promise<void>;
23
+ /**
24
+ * Alpine: calamaresRemove
25
+ */
26
+ static calamaresRemove(verbose?: boolean): Promise<boolean>;
27
+ /**
28
+ * Alpine: isInstalledWayland
29
+ * @returns true if wayland is installed
30
+ */
31
+ static isInstalledWayland(): boolean;
32
+ /**
33
+ * Alpine: isInstalledXorg
34
+ * @returns true if xorg is installed
35
+ */
36
+ static isInstalledXorg(): boolean;
37
+ /**
38
+ * Alpine: packageInstall
39
+ * Install the package packageName
40
+ * @param packageName {string} Pacchetto Debian da installare
41
+ * @returns {boolean} True if success
42
+ */
43
+ static packageInstall(packageName: string): Promise<boolean>;
44
+ /**
45
+ * Alpine: packageIsInstalled OK
46
+ * restuisce VERO se il pacchetto è installato
47
+ * @param packageName
48
+ */
49
+ static packageIsInstalled(packageName: string): boolean;
50
+ /**
51
+ * Alpine: packagePacmanAvailable
52
+ * restuisce VERO se il pacchetto è installato
53
+ * @param packageName
54
+ */
55
+ static packagePacmanAvailable(packageName: string): Promise<boolean>;
56
+ }
@@ -0,0 +1,167 @@
1
+ /**
2
+ * ./src/classes/families/alpine.ts
3
+ * penguins-eggs v.25.7.x / ecmascript 2020
4
+ * author: Piero Proietti
5
+ * email: piero.proietti@gmail.com
6
+ * license: MIT
7
+ */
8
+ import shx from 'shelljs';
9
+ import { exec } from '../../lib/utils.js';
10
+ import Utils from '../utils.js';
11
+ /**
12
+ * Alpine
13
+ * @remarks all the utilities
14
+ */
15
+ export default class Alpine {
16
+ static packs4calamares = [
17
+ 'calamares',
18
+ 'calamares-dev',
19
+ 'calamares-doc',
20
+ 'calamares-lang',
21
+ 'calamares-mod-bootloader',
22
+ 'calamares-mod-displaymanager',
23
+ 'calamares-mod-finished',
24
+ 'calamares-mod-fsresizer',
25
+ 'calamares-mod-fstab',
26
+ 'calamares-mod-grubcfg',
27
+ 'calamares-mod-hostinfo',
28
+ 'calamares-mod-hwclock',
29
+ 'calamares-mod-keyboard',
30
+ 'calamares-mod-keyboardq',
31
+ 'calamares-mod-locale',
32
+ 'calamares-mod-localeq',
33
+ 'calamares-mod-luksbootkeyfile',
34
+ 'calamares-mod-luksopenswaphookcfg-',
35
+ 'calamares-mod-machineid',
36
+ 'calamares-mod-mkinitfs',
37
+ 'calamares-mod-mount',
38
+ 'calamares-mod-netinstall',
39
+ 'calamares-mod-networkcfg',
40
+ 'calamares-mod-notesqml',
41
+ 'calamares-mod-oemid',
42
+ 'calamares-mod-packagechooser',
43
+ 'calamares-mod-packages',
44
+ 'calamares-mod-partition',
45
+ 'calamares-mod-plymouthcfg',
46
+ 'calamares-mod-preservefiles',
47
+ 'calamares-mod-rawfs',
48
+ 'calamares-mod-removeuser',
49
+ 'calamares-mod-services-openrc',
50
+ 'calamares-mod-shellprocess',
51
+ 'calamares-mod-summary',
52
+ 'calamares-mod-umount',
53
+ 'calamares-mod-unpackfs',
54
+ 'calamares-mod-users',
55
+ 'calamares-mod-welcome',
56
+ 'calamares-mod-welcomeq',
57
+ ];
58
+ /**
59
+ * Alpine: calamaresInstall
60
+ */
61
+ static async calamaresInstall(verbose = false) {
62
+ const echo = Utils.setEcho(verbose);
63
+ let installed = false;
64
+ try {
65
+ const cmd = 'apk update';
66
+ await exec(cmd, echo);
67
+ installed = true;
68
+ }
69
+ catch {
70
+ Utils.error(`Alpine.calamaresInstall(): apk update `);
71
+ }
72
+ try {
73
+ const cmd = `apk add ${this.packs4calamares.join(' ')}`;
74
+ await exec(cmd, echo);
75
+ }
76
+ catch {
77
+ Utils.error(`Alpine.calamaresInstall(): apk add calamares ...`);
78
+ }
79
+ }
80
+ /**
81
+ *
82
+ * calamaresPolicies
83
+ */
84
+ static async calamaresPolicies(verbose = false) {
85
+ const echo = Utils.setEcho(verbose);
86
+ const policyFile = '/usr/share/polkit-1/actions/io.calamares.calamares.policy';
87
+ await exec(`sed -i 's/auth_admin/yes/' ${policyFile}`, echo);
88
+ }
89
+ /**
90
+ * Alpine: calamaresRemove
91
+ */
92
+ static async calamaresRemove(verbose = true) {
93
+ const echo = Utils.setEcho(verbose);
94
+ let removed = false;
95
+ try {
96
+ const cmd = `apk del ${this.packs4calamares.join(' ')}`;
97
+ await exec(cmd, echo);
98
+ removed = true;
99
+ }
100
+ catch {
101
+ Utils.error(`Alpine.calamaresRemove(): apk del calamares ...`);
102
+ }
103
+ try {
104
+ const cmd = `rm /etc/calamares -rf`;
105
+ await exec(cmd, echo);
106
+ }
107
+ catch {
108
+ Utils.error(`Alpine.calamaresRemove(): rm /etc/calamares -rf`);
109
+ }
110
+ return removed;
111
+ }
112
+ /**
113
+ * Alpine: isInstalledWayland
114
+ * @returns true if wayland is installed
115
+ */
116
+ static isInstalledWayland() {
117
+ return this.packageIsInstalled('xwayland');
118
+ }
119
+ /**
120
+ * Alpine: isInstalledXorg
121
+ * @returns true if xorg is installed
122
+ */
123
+ static isInstalledXorg() {
124
+ return this.packageIsInstalled('xorg-server-common');
125
+ }
126
+ /**
127
+ * Alpine: packageInstall
128
+ * Install the package packageName
129
+ * @param packageName {string} Pacchetto Debian da installare
130
+ * @returns {boolean} True if success
131
+ */
132
+ static async packageInstall(packageName) {
133
+ let retVal = false;
134
+ if (shx.exec(`/sbin/apk add ${packageName}`, { silent: true }) === '0') {
135
+ retVal = true;
136
+ }
137
+ return retVal;
138
+ }
139
+ /**
140
+ * Alpine: packageIsInstalled OK
141
+ * restuisce VERO se il pacchetto è installato
142
+ * @param packageName
143
+ */
144
+ static packageIsInstalled(packageName) {
145
+ let installed = false;
146
+ const cmd = `/sbin/apk info -e ${packageName}`;
147
+ const stdout = shx.exec(cmd, { silent: true }).stdout.trim();
148
+ if (stdout.includes(packageName)) {
149
+ installed = true;
150
+ }
151
+ return installed;
152
+ }
153
+ /**
154
+ * Alpine: packagePacmanAvailable
155
+ * restuisce VERO se il pacchetto è installato
156
+ * @param packageName
157
+ */
158
+ static async packagePacmanAvailable(packageName) {
159
+ let available = false;
160
+ const cmd = `/sbin/apk search ${packageName} | awk '{ print $1 }'`;
161
+ const stdout = shx.exec(cmd, { silent: true }).stdout.trim();
162
+ if (stdout == packageName) {
163
+ available = true;
164
+ }
165
+ return available;
166
+ }
167
+ }
@@ -0,0 +1,62 @@
1
+ /**
2
+ * ./src/classes/families/archlinux.ts
3
+ * penguins-eggs v.25.7.x / ecmascript 2020
4
+ * author: Piero Proietti
5
+ * email: piero.proietti@gmail.com
6
+ * license: MIT
7
+ */
8
+ /**
9
+ * Archlinux
10
+ * @remarks all the utilities
11
+ */
12
+ export default class Archlinux {
13
+ static packs4calamares: string[];
14
+ /**
15
+ * Archlinux: calamaresInstall
16
+ */
17
+ static calamaresInstall(verbose?: boolean): Promise<void>;
18
+ /**
19
+ *
20
+ * calamaresPolicies
21
+ */
22
+ static calamaresPolicies(verbose?: boolean): Promise<void>;
23
+ /**
24
+ * Archlinux: calamaresRemove
25
+ */
26
+ static calamaresRemove(verbose?: boolean): Promise<boolean>;
27
+ /**
28
+ * Archlinux: isInstalledWayland
29
+ * @returns true if wayland is installed
30
+ */
31
+ static isInstalledWayland(): boolean;
32
+ /**
33
+ * Archlinux: isInstalledXorg
34
+ * @returns true if xorg is installed
35
+ */
36
+ static isInstalledXorg(): boolean;
37
+ /**
38
+ * Archlinux: packageInstall
39
+ * Install the package packageName
40
+ * @param packageName {string} Pacchetto Debian da installare
41
+ * @returns {boolean} True if success
42
+ */
43
+ static packageInstall(packageName: string): Promise<boolean>;
44
+ /**
45
+ * Archlinux: packageIsInstalled
46
+ * restuisce VERO se il pacchetto è installato
47
+ * @param packageName
48
+ */
49
+ static packageIsInstalled(packageName: string): boolean;
50
+ /**
51
+ * Archlinux: packagePacmanAvailable
52
+ * restuisce VERO se il pacchetto è installato
53
+ * @param packageName
54
+ */
55
+ static packagePacmanAvailable(packageName: string): Promise<boolean>;
56
+ /**
57
+ * Archlinux: packagePacmanLast
58
+ * @param packageName
59
+ * @returns
60
+ */
61
+ static packagePacmanLast(packageName: string): Promise<string>;
62
+ }