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
@@ -1549,5 +1549,5 @@
1549
1549
  ]
1550
1550
  }
1551
1551
  },
1552
- "version": "25.10.28"
1552
+ "version": "25.10.30"
1553
1553
  }
@@ -1,12 +1,14 @@
1
1
  [Desktop Entry]
2
2
  Type=Application
3
3
  Version=1.0
4
- Name=Install system
5
- GenericName=Live Installer
6
- Comment=Install the operating system to disk
7
- Exec=/usr/bin/calamares_polkit %f
4
+ Name=Install System
5
+ GenericName=System Installer
6
+ Keywords=calamares;system;installer;
7
+ TryExec=calamares
8
+ Exec=sh -c "pkexec calamares"
9
+ Comment=Calamares — System Installer
10
+ Icon=install-system.png
8
11
  Terminal=false
9
12
  StartupNotify=true
10
- Type=Application
11
13
  Categories=Qt;System;
12
- Icon=install-system.png
14
+ X-AppStream-Ignore=true
@@ -0,0 +1,25 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!-- SPDX-FileCopyrightText: no
3
+ SPDX-License-Identifier: CC0-1.0
4
+ -->
5
+ <!DOCTYPE policyconfig PUBLIC
6
+ "-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
7
+ "http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd">
8
+ <policyconfig>
9
+
10
+ <vendor>Calamares</vendor>
11
+ <vendor_url>https://calamares.io/</vendor_url>
12
+
13
+ <action id="io.calamares.calamares.pkexec.run">
14
+ <description>Run Installer</description>
15
+ <message>Authentication is required to run the installation program</message>
16
+ <icon_name>drive-harddisk</icon_name>
17
+ <defaults>
18
+ <allow_any>no</allow_any>
19
+ <allow_inactive>no</allow_inactive>
20
+ <allow_active>auth_admin</allow_active>
21
+ </defaults>
22
+ <annotate key="org.freedesktop.policykit.exec.path">/usr/bin/calamares</annotate>
23
+ <annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate>
24
+ </action>
25
+ </policyconfig>
@@ -0,0 +1,37 @@
1
+ /**
2
+ * ./src/classes/bleach.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
+ * Bleach:
10
+ */
11
+ export default class Bleach {
12
+ /**
13
+ * clean
14
+ * @param verbose
15
+ */
16
+ clean(verbose?: boolean): Promise<void>;
17
+ /**
18
+ *
19
+ * @param verbose
20
+ */
21
+ private cleanFastpack;
22
+ /**
23
+ * cleanHistory
24
+ * @param verbose
25
+ */
26
+ private cleanHistory;
27
+ /**
28
+ * cleanJournal
29
+ * @param verbose
30
+ */
31
+ private cleanJournal;
32
+ /**
33
+ * cleanSystemCache
34
+ * @param verbose
35
+ */
36
+ private cleanSystemCache;
37
+ }
@@ -0,0 +1,148 @@
1
+ /**
2
+ * ./src/classes/bleach.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 fs from 'node:fs';
9
+ // libraries
10
+ import { exec } from '../lib/utils.js';
11
+ import Distro from './distro.js';
12
+ import Utils from './utils.js';
13
+ /**
14
+ * Bleach:
15
+ */
16
+ export default class Bleach {
17
+ /**
18
+ * clean
19
+ * @param verbose
20
+ */
21
+ async clean(verbose = false) {
22
+ let echo = { capture: false, echo: false, ignore: true };
23
+ if (verbose) {
24
+ echo = { capture: false, echo: true, ignore: true };
25
+ Utils.warning('cleaning the system');
26
+ }
27
+ const distro = new Distro();
28
+ if (distro.familyId === 'alpine') {
29
+ await exec('apk cache clean', echo);
30
+ await exec('apk cache purge', echo);
31
+ }
32
+ else if (distro.familyId === 'archlinux') {
33
+ await exec('yes | sudo pacman -Scc', Utils.setEcho(true));
34
+ }
35
+ else if (distro.familyId === 'debian') {
36
+ await exec('apt-get clean', echo);
37
+ await exec('apt-get autoclean', echo);
38
+ await exec(`rm /var/lib/apt/lists/lock -rf`, echo);
39
+ }
40
+ else if (distro.familyId === 'fedora' || distro.familyId === 'openmamba') {
41
+ await exec(`dnf remove $(dnf repoquery --installonly --latest-limit=-1 -q)`);
42
+ await exec(`dnf clean all`, echo);
43
+ }
44
+ else if (distro.familyId === 'opensuse') {
45
+ await exec(`zypper clean`, echo);
46
+ }
47
+ else if (distro.familyId === 'voidlinux') {
48
+ await exec(`xbps-remove -O`, echo);
49
+ }
50
+ await this.cleanFastpack(verbose);
51
+ await this.cleanHistory(verbose);
52
+ await this.cleanJournal(verbose);
53
+ await this.cleanSystemCache(verbose);
54
+ }
55
+ /**
56
+ *
57
+ * @param verbose
58
+ */
59
+ async cleanFastpack(verbose = false) {
60
+ let echo = { capture: false, echo: false, ignore: true };
61
+ if (verbose) {
62
+ echo = { capture: false, echo: true, ignore: true };
63
+ Utils.warning('cleaning fastpack');
64
+ }
65
+ await exec(`rm /var/tmp/flatpak-cache-* -rf`, echo);
66
+ }
67
+ /**
68
+ * cleanHistory
69
+ * @param verbose
70
+ */
71
+ async cleanHistory(verbose = false) {
72
+ if (verbose) {
73
+ Utils.warning('cleaning bash history');
74
+ }
75
+ const dest = '/root/.bash_history';
76
+ if (fs.existsSync(dest)) {
77
+ await rm(dest, verbose);
78
+ }
79
+ }
80
+ /**
81
+ * cleanJournal
82
+ * @param verbose
83
+ */
84
+ async cleanJournal(verbose = false) {
85
+ let echo = { capture: false, echo: false, ignore: true };
86
+ if (verbose) {
87
+ echo = { capture: false, echo: true, ignore: true };
88
+ Utils.warning('cleaning journald');
89
+ }
90
+ if (Utils.isSystemd()) {
91
+ try {
92
+ await exec('journalctl --rotate', echo);
93
+ await exec('journalctl --vacuum-time=1s', echo);
94
+ }
95
+ catch (error) {
96
+ Utils.error(error);
97
+ }
98
+ }
99
+ else {
100
+ // Truncate logs, remove archived logs.
101
+ await exec('find /var/log -name "*gz" -print0 | xargs -0r rm -f', echo);
102
+ await exec('find /var/log/ -type f -exec truncate -s 0 {} \\;', echo);
103
+ }
104
+ }
105
+ /**
106
+ * cleanSystemCache
107
+ * @param verbose
108
+ */
109
+ async cleanSystemCache(verbose = false) {
110
+ let echo = { capture: false, echo: false, ignore: true };
111
+ if (verbose) {
112
+ echo = { capture: false, echo: true, ignore: true };
113
+ Utils.warning('cleaning system cache');
114
+ }
115
+ // Clear PageCache only.
116
+ await exec('sync; echo 1 > /proc/sys/vm/drop_caches', echo);
117
+ // Clear dentries and inodes.
118
+ await exec('sync; echo 2 > /proc/sys/vm/drop_caches', echo);
119
+ // Clear PageCache, dentries and inodes.
120
+ await exec('sync; echo 3 > /proc/sys/vm/drop_caches', echo);
121
+ }
122
+ }
123
+ /**
124
+ *
125
+ * @param dest
126
+ */
127
+ async function rm(dest = '', verbose = false) {
128
+ let echo = { capture: false, echo: false, ignore: true };
129
+ if (verbose) {
130
+ echo = { capture: false, echo: true, ignore: true };
131
+ }
132
+ if (fs.existsSync(dest)) {
133
+ await exec(`rm ${dest} -rf`, echo);
134
+ }
135
+ else {
136
+ console.log(`non esiste ${dest}`);
137
+ }
138
+ }
139
+ async function rmdir(dest = '', verbose = false) {
140
+ let echo = { capture: false, echo: false, ignore: true };
141
+ if (verbose) {
142
+ echo = { capture: false, echo: true, ignore: true };
143
+ }
144
+ const result = fs.readdirSync(dest);
145
+ if (result.length > 0) {
146
+ await exec(`rm ${dest} -rf`, echo);
147
+ }
148
+ }
@@ -0,0 +1,52 @@
1
+ /**
2
+ * ./src/lib/cli-autologin.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
+ * CliAutologin
10
+ */
11
+ export default class CliAutologin {
12
+ /**
13
+ * add
14
+ * @param distro
15
+ * @param version
16
+ * @param user
17
+ * @param userPasswd
18
+ * @param rootPasswd
19
+ * @param chroot
20
+ */
21
+ add(distro: string, version: string, user: string, userPasswd: string, rootPasswd: string, chroot?: string): Promise<void>;
22
+ /**
23
+ *
24
+ * @param distro
25
+ * @param version
26
+ * @param user
27
+ * @param userPasswd
28
+ * @param rootPasswd
29
+ * @param chroot
30
+ */
31
+ addIssue(distro: string, version: string, user: string, userPasswd: string, rootPasswd: string, chroot?: string): Promise<void>;
32
+ /**
33
+ *
34
+ * @param distro
35
+ * @param version
36
+ * @param user
37
+ * @param userPasswd
38
+ * @param rootPasswd
39
+ * @param chroot
40
+ */
41
+ addMotd(distro: string, version: string, user: string, userPasswd: string, rootPasswd: string, chroot?: string): Promise<void>;
42
+ /**
43
+ * remove
44
+ * @param chroot
45
+ */
46
+ remove(chroot?: string): Promise<void>;
47
+ /**
48
+ *
49
+ * @param path
50
+ */
51
+ private msgRemove;
52
+ }
@@ -0,0 +1,252 @@
1
+ /**
2
+ * ./src/lib/cli-autologin.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 chalk from 'chalk';
9
+ import { execSync } from 'node:child_process';
10
+ import fs from 'node:fs';
11
+ import path from 'node:path';
12
+ import shx from 'shelljs';
13
+ // libraries
14
+ import { exec } from '../lib/utils.js';
15
+ import Pacman from './pacman.js';
16
+ import Utils from './utils.js';
17
+ const startMessage = 'eggs-start-message';
18
+ const stopMessage = 'eggs-stop-message';
19
+ /*
20
+ * Comando per avviare ubiquity:
21
+ * sudo --preserve-env DBUS_SESSION_BUS_ADDRESS, XDG_RUNTIME sh -c 'calamares'
22
+ */
23
+ /**
24
+ * CliAutologin
25
+ */
26
+ export default class CliAutologin {
27
+ /**
28
+ * add
29
+ * @param distro
30
+ * @param version
31
+ * @param user
32
+ * @param userPasswd
33
+ * @param rootPasswd
34
+ * @param chroot
35
+ */
36
+ async add(distro, version, user, userPasswd, rootPasswd, chroot = '/') {
37
+ if (Utils.isSystemd()) {
38
+ /**
39
+ * systemd
40
+ */
41
+ Utils.warning("systemd: creating CLI autologin");
42
+ const fileOverride = `${chroot}/etc/systemd/system/getty@.service.d/override.conf`;
43
+ const dirOverride = path.dirname(fileOverride);
44
+ if (fs.existsSync(dirOverride)) {
45
+ shx.exec(`rm ${dirOverride} -rf`);
46
+ }
47
+ // ecludo Opensuse ha un'altro sistema
48
+ if (distro !== 'Opensuse') {
49
+ shx.exec(`mkdir ${dirOverride}`);
50
+ let content = '';
51
+ content += '[Service]' + '\n';
52
+ content += 'ExecStart=' + '\n';
53
+ content += 'ExecStart=-/sbin/agetty --noclear --autologin ' + user + ' %I $TERM' + '\n';
54
+ fs.writeFileSync(fileOverride, content);
55
+ }
56
+ shx.exec(`chmod +x ${fileOverride}`);
57
+ await this.addIssue(distro, version, user, userPasswd, rootPasswd, chroot);
58
+ await this.addMotd(distro, version, user, userPasswd, rootPasswd, chroot);
59
+ }
60
+ else if (Utils.isOpenRc()) {
61
+ /**
62
+ * openrc
63
+ */
64
+ Utils.warning("openrc: creating CLI autologin");
65
+ const inittab = chroot + '/etc/inittab';
66
+ let content = '';
67
+ const search = `tty1::respawn:/sbin/getty 38400 tty1`;
68
+ const replace = `tty1::respawn:/sbin/getty -L 38400 tty1 -n -l /bin/autologin`;
69
+ const lines = fs.readFileSync(inittab, 'utf8').split('\n');
70
+ for (let i = 0; i < lines.length; i++) {
71
+ if (lines[i].includes(search)) {
72
+ lines[i] = replace;
73
+ }
74
+ content += lines[i] + '\n';
75
+ }
76
+ console.log(`Writing ${inittab}`);
77
+ fs.writeFileSync(inittab, content, 'utf-8');
78
+ const autologin = chroot + '/bin/autologin';
79
+ content = '#!/bin/sh' + '\n';
80
+ content += `/bin/login -f ${user}` + '\n';
81
+ fs.writeFileSync(autologin, content, 'utf-8');
82
+ execSync(`chmod +x ${autologin}`);
83
+ await this.addIssue(distro, version, user, userPasswd, rootPasswd, chroot);
84
+ await this.addMotd(distro, version, user, userPasswd, rootPasswd, chroot);
85
+ }
86
+ else if (Utils.isSysvinit()) {
87
+ /**
88
+ * sysvinit
89
+ */
90
+ Utils.warning("sysvinit: creating CLI autologin");
91
+ const inittab = chroot + '/etc/inittab';
92
+ const search = '1:2345:respawn:/sbin/getty';
93
+ const replace = `1:2345:respawn:/sbin/getty --autologin ${user} 38400 tty1`;
94
+ let content = '';
95
+ const lines = fs.readFileSync(inittab, 'utf8').split('\n');
96
+ for (let i = 0; i < lines.length; i++) {
97
+ if (lines[i].includes(search)) {
98
+ lines[i] = replace;
99
+ }
100
+ content += lines[i] + '\n';
101
+ }
102
+ console.log(`Writing ${inittab}`);
103
+ fs.writeFileSync(inittab, content, 'utf-8');
104
+ await this.addMotd(distro, version, user, userPasswd, rootPasswd, chroot);
105
+ await this.addIssue(distro, version, user, userPasswd, rootPasswd, chroot);
106
+ }
107
+ }
108
+ /**
109
+ *
110
+ * @param distro
111
+ * @param version
112
+ * @param user
113
+ * @param userPasswd
114
+ * @param rootPasswd
115
+ * @param chroot
116
+ */
117
+ async addIssue(distro, version, user, userPasswd, rootPasswd, chroot = '/') {
118
+ const fileIssue = `${chroot}/etc/issue`;
119
+ if (fs.existsSync(fileIssue)) {
120
+ if (!fs.lstatSync(fileIssue).isSymbolicLink()) {
121
+ this.msgRemove(fileIssue);
122
+ let content = fs.readFileSync(fileIssue, 'utf8');
123
+ content += startMessage + '\n';
124
+ content += `This is a ${distro}/${version} system created by Penguins' eggs.\n`;
125
+ content += 'You can login with user: ' + chalk.bold(user) + ' and password: ' + chalk.bold(userPasswd) + ', root password: ' + chalk.bold(rootPasswd) + '\n';
126
+ content += stopMessage + '\n';
127
+ fs.writeFileSync(fileIssue, content);
128
+ }
129
+ }
130
+ }
131
+ /**
132
+ *
133
+ * @param distro
134
+ * @param version
135
+ * @param user
136
+ * @param userPasswd
137
+ * @param rootPasswd
138
+ * @param chroot
139
+ */
140
+ async addMotd(distro, version, user, userPasswd, rootPasswd, chroot = '/') {
141
+ const fileMotd = `${chroot}/etc/motd`;
142
+ let installer = 'sudo eggs install';
143
+ if (Pacman.calamaresExists()) {
144
+ if (Pacman.packageIsInstalled('plasma-desktop')) {
145
+ installer = 'startplasma-wayland to run GUI and launch calamares';
146
+ }
147
+ else if (Pacman.packageIsInstalled('xfce4')) {
148
+ installer = 'startxfce4 to run GUI and launch calamares installer';
149
+ }
150
+ }
151
+ if (!fs.existsSync(fileMotd)) {
152
+ await exec(`touch ${fileMotd}`);
153
+ }
154
+ this.msgRemove(fileMotd);
155
+ let eggsMotd = fs.readFileSync(fileMotd, 'utf8');
156
+ eggsMotd += startMessage + '\n';
157
+ eggsMotd += Utils.flag() + '\n';
158
+ eggsMotd += 'You are logged as: ' + chalk.bold(user) + ' your password is: ' + chalk.bold(userPasswd) + ', root password: ' + chalk.bold(rootPasswd) + '\n\n';
159
+ eggsMotd += 'install : ' + chalk.bold(installer) + '\n';
160
+ eggsMotd += ' --unattended : ' + chalk.bold('sudo eggs install --unattended') + '\n';
161
+ eggsMotd += ' --chroot : ' + chalk.bold('sudo eggs install --chroot') + '\n';
162
+ eggsMotd += ' --help : ' + chalk.bold('sudo eggs install --help') + '\n';
163
+ eggsMotd += '\n';
164
+ eggsMotd += stopMessage + '\n';
165
+ fs.writeFileSync(fileMotd, eggsMotd);
166
+ }
167
+ /**
168
+ * remove
169
+ * @param chroot
170
+ */
171
+ async remove(chroot = '/') {
172
+ if (Utils.isSystemd()) {
173
+ /**
174
+ * Systemd
175
+ */
176
+ const fileOverride = `${chroot}/etc/systemd/system/getty@.service.d/override.conf`;
177
+ const dirOverride = path.dirname(fileOverride);
178
+ if (fs.existsSync(dirOverride)) {
179
+ shx.exec(`rm ${dirOverride} -rf`);
180
+ }
181
+ this.msgRemove(`${chroot}/etc/motd`);
182
+ this.msgRemove(`${chroot}/etc/issue`);
183
+ }
184
+ else if (Utils.isOpenRc()) {
185
+ /**
186
+ * openrc
187
+ */
188
+ const inittab = chroot + '/etc/inittab';
189
+ const search = 'autologin';
190
+ const replace = `tty1::respawn:/sbin/getty 38400 tty1`;
191
+ let content = '';
192
+ const lines = fs.readFileSync(inittab, 'utf8').split('\n');
193
+ for (let i = 0; i < lines.length; i++) {
194
+ if (lines[i].includes(search)) {
195
+ lines[i] = replace;
196
+ }
197
+ content += lines[i] + '\n';
198
+ }
199
+ fs.writeFileSync(inittab, content, 'utf-8');
200
+ this.msgRemove(`${chroot}/etc/motd`);
201
+ this.msgRemove(`${chroot}/etc/issue`);
202
+ const autologin = `${chroot}/bin/autologin`;
203
+ execSync(`rm -f ${autologin}`);
204
+ }
205
+ else if (Utils.isSysvinit()) {
206
+ /**
207
+ * sysvinit
208
+ */
209
+ const inittab = chroot + '/etc/inittab';
210
+ const search = '--autologin';
211
+ const replace = '1:2345:respawn:/sbin/getty 38400 tty1 ';
212
+ let content = '';
213
+ const lines = fs.readFileSync(inittab, 'utf8').split('\n');
214
+ for (let i = 0; i < lines.length; i++) {
215
+ if (lines[i].includes(search)) {
216
+ lines[i] = replace;
217
+ }
218
+ content += lines[i] + '\n';
219
+ }
220
+ // motd
221
+ fs.writeFileSync(inittab, content, 'utf-8');
222
+ this.msgRemove(`${chroot}/etc/motd`);
223
+ // issue
224
+ this.msgRemove(`${chroot}/etc/issue`);
225
+ } // to add: openrc and runit for Devuan
226
+ }
227
+ /**
228
+ *
229
+ * @param path
230
+ */
231
+ async msgRemove(path) {
232
+ if (fs.existsSync(path)) {
233
+ if (!fs.lstatSync(path).isSymbolicLink()) {
234
+ const rows = fs.readFileSync(path, 'utf8').split('\n');
235
+ let cleaned = '';
236
+ let remove = false;
237
+ for (const row of rows) {
238
+ if (row.includes(startMessage)) {
239
+ remove = true;
240
+ }
241
+ if (!remove && row !== '') {
242
+ cleaned += row + '\n';
243
+ }
244
+ if (row.includes(stopMessage)) {
245
+ remove = false;
246
+ }
247
+ }
248
+ fs.writeFileSync(path, cleaned, 'utf-8');
249
+ }
250
+ }
251
+ }
252
+ }
@@ -0,0 +1,54 @@
1
+ /**
2
+ * ./src/classes/compressors.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
+ export default class Compressors {
9
+ dest: string;
10
+ isEnabled: {
11
+ error: boolean;
12
+ gzip: boolean;
13
+ lz4: boolean;
14
+ lzma: boolean;
15
+ lzo: boolean;
16
+ xz: boolean;
17
+ zstd: boolean;
18
+ };
19
+ source: string;
20
+ /**
21
+ * fast compression
22
+ * @returns
23
+ */
24
+ fast(): string;
25
+ /**
26
+ * max
27
+ * @returns
28
+ */
29
+ max(): string;
30
+ pendrive(level?: string): string;
31
+ /**
32
+ * populate
33
+ */
34
+ populate(): Promise<void>;
35
+ /**
36
+ * standard
37
+ * @returns
38
+ */
39
+ standard(): string;
40
+ /**
41
+ * check mksquashfs exists
42
+ * @param compressor
43
+ * @returns
44
+ */
45
+ private check;
46
+ /**
47
+ * prepareCheck
48
+ */
49
+ private prepareCheck;
50
+ /**
51
+ * removeCheck
52
+ */
53
+ private removeCheck;
54
+ }