penguins-eggs 25.10.28 → 25.11.8

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 (551) hide show
  1. package/.oclif.manifest.json +4 -4
  2. package/README.md +770 -3
  3. package/addons/eggs/adapt/applications/eggs-adapt.desktop +0 -0
  4. package/addons/eggs/pve/applications/eggs-pve.desktop +0 -0
  5. package/addons/eggs/rsupport/applications/eggs-rsupport.desktop +0 -0
  6. package/addons/eggs/theme/applications/install-system.desktop +8 -6
  7. package/assets/calamares/install-system.sh +0 -0
  8. package/assets/calamares/io.calamares.calamares.policy +25 -0
  9. package/assets/penguins-eggs.desktop +0 -0
  10. package/assets/penguins-krill.desktop +0 -0
  11. package/assets/penguins-links-add.desktop +0 -0
  12. package/assets/penguins-live-installer.desktop +0 -0
  13. package/bin/dev.js +0 -0
  14. package/conf/distros/alpine/calamares/calamares-modules/machineid-openrc/machineid-openrc.sh +0 -0
  15. package/conf/distros/alpine/calamares/modules/packages.mustache +1 -0
  16. package/conf/distros/alpine/calamares/modules/removeuser.mustache +2 -14
  17. package/conf/distros/alpine/calamares/modules/unpackfs.mustache +2 -2
  18. package/conf/distros/buster/calamares/calamares-modules/cleanup/cleanup.sh +0 -0
  19. package/conf/distros/buster/calamares/calamares-modules/dpkg-unsafe-io/dpkg-unsafe-io.sh +0 -0
  20. package/conf/distros/buster/calamares/calamares-modules/sources-yolk/sources-yolk.sh +0 -0
  21. package/conf/distros/buster/calamares/modules/shellprocess@boot_deploy.yml +1 -16
  22. package/conf/distros/fedora/calamares/calamares-modules/bootloaderspecification/bootloaderspecification.sh +0 -0
  23. package/conf/distros/noble/calamares/calamares-modules/cleanup/cleanup.sh +0 -0
  24. package/conf/distros/noble/calamares/calamares-modules/sources-yolk/sources-yolk.sh +0 -0
  25. package/conf/distros/noble/calamares/libexec/calamares-aptsources.sh +0 -0
  26. package/conf/distros/noble/calamares/libexec/calamares-l10n-helper.sh +0 -0
  27. package/conf/distros/noble/calamares/libexec/calamares-logs-helper.sh +1 -1
  28. package/conf/distros/noble/calamares/libexec/calamares-nomodeset.sh +0 -0
  29. package/conf/distros/noble/calamares/modules/shellprocess@boot_deploy.yml +1 -11
  30. package/conf/distros/noble/calamares/modules/shellprocess@logs.yml +1 -1
  31. package/conf/distros/opensuse/calamares/calamares-modules/bootloaderspecification/bootloaderspecification.sh +0 -0
  32. package/conf/distros/opensuse/calamares/settings.yml +0 -0
  33. package/conf/distros/opensuse/calamares/zstd2lzo.sh +0 -0
  34. package/conf/distros/trixie/calamares/calamares-modules/cleanup/cleanup.sh +0 -0
  35. package/conf/distros/trixie/calamares/calamares-modules/dpkg-unsafe-io/dpkg-unsafe-io.sh +0 -0
  36. package/conf/distros/trixie/calamares/calamares-modules/sources-yolk/sources-yolk.sh +0 -0
  37. package/conf/distros/trixie/calamares/modules/shellprocess@boot_deploy.yml +2 -10
  38. package/conf/init/unattended.sh +0 -0
  39. package/dist/classes/bleach.d.ts +37 -0
  40. package/dist/classes/bleach.js +148 -0
  41. package/dist/classes/cli-autologin.d.ts +14 -0
  42. package/dist/classes/cli-autologin.js +227 -0
  43. package/dist/classes/compressors.d.ts +54 -0
  44. package/dist/classes/compressors.js +109 -0
  45. package/dist/classes/daddy.d.ts +44 -0
  46. package/dist/classes/daddy.js +208 -0
  47. package/dist/classes/distro-hossein.d.ts +52 -0
  48. package/dist/classes/distro-hossein.js +239 -0
  49. package/dist/classes/distro.d.ts +32 -0
  50. package/dist/classes/distro.js +363 -0
  51. package/dist/classes/diversions.d.ts +19 -0
  52. package/dist/classes/diversions.js +100 -0
  53. package/dist/classes/incubation/branding.d.ts +17 -0
  54. package/dist/classes/incubation/branding.js +85 -0
  55. package/dist/classes/incubation/customize/customize-partitions.d.ts +12 -0
  56. package/dist/classes/incubation/customize/customize-partitions.js +37 -0
  57. package/dist/classes/incubation/fisherman-helper/initcpio.d.ts +1 -0
  58. package/dist/classes/incubation/fisherman-helper/initcpio.js +69 -0
  59. package/dist/classes/incubation/fisherman-helper/packages.d.ts +20 -0
  60. package/dist/classes/incubation/fisherman-helper/packages.js +72 -0
  61. package/dist/classes/incubation/fisherman-helper/settings.d.ts +15 -0
  62. package/dist/classes/incubation/fisherman-helper/settings.js +116 -0
  63. package/dist/classes/incubation/fisherman.d.ts +76 -0
  64. package/dist/classes/incubation/fisherman.js +301 -0
  65. package/dist/classes/incubation/incubator.d/alpine.d.ts +32 -0
  66. package/dist/classes/incubation/incubator.d/alpine.js +78 -0
  67. package/dist/classes/incubation/incubator.d/archlinux.d.ts +32 -0
  68. package/dist/classes/incubation/incubator.d/archlinux.js +82 -0
  69. package/dist/classes/incubation/incubator.d/bionic.d.ts +32 -0
  70. package/dist/classes/incubation/incubator.d/bionic.js +83 -0
  71. package/dist/classes/incubation/incubator.d/buster.d.ts +32 -0
  72. package/dist/classes/incubation/incubator.d/buster.js +101 -0
  73. package/dist/classes/incubation/incubator.d/fedora.d.ts +32 -0
  74. package/dist/classes/incubation/incubator.d/fedora.js +81 -0
  75. package/dist/classes/incubation/incubator.d/manjaro.d.ts +32 -0
  76. package/dist/classes/incubation/incubator.d/manjaro.js +82 -0
  77. package/dist/classes/incubation/incubator.d/noble.d.ts +32 -0
  78. package/dist/classes/incubation/incubator.d/noble.js +106 -0
  79. package/dist/classes/incubation/incubator.d/openmamba.d.ts +32 -0
  80. package/dist/classes/incubation/incubator.d/openmamba.js +81 -0
  81. package/dist/classes/incubation/incubator.d/opensuse.d.ts +32 -0
  82. package/dist/classes/incubation/incubator.d/opensuse.js +81 -0
  83. package/dist/classes/incubation/incubator.d/trixie.d.ts +32 -0
  84. package/dist/classes/incubation/incubator.d/trixie.js +98 -0
  85. package/dist/classes/incubation/incubator.d.ts +49 -0
  86. package/dist/classes/incubation/incubator.js +382 -0
  87. package/dist/classes/incubation/installer.d.ts +13 -0
  88. package/dist/classes/incubation/installer.js +52 -0
  89. package/dist/classes/keyboards.d.ts +31 -0
  90. package/dist/classes/keyboards.js +136 -0
  91. package/dist/classes/locales.d.ts +21 -0
  92. package/dist/classes/locales.js +77 -0
  93. package/dist/classes/network.d.ts +37 -0
  94. package/dist/classes/network.js +98 -0
  95. package/dist/classes/ovary.d/bind-live-fs.d.ts +18 -0
  96. package/dist/classes/ovary.d/bind-live-fs.js +185 -0
  97. package/dist/classes/ovary.d/bind-vfs.d.ts +17 -0
  98. package/dist/classes/ovary.d/bind-vfs.js +37 -0
  99. package/dist/classes/ovary.d/create-xdg-autostart.d.ts +13 -0
  100. package/dist/classes/ovary.d/create-xdg-autostart.js +193 -0
  101. package/dist/classes/ovary.d/edit-live-fs.d.ts +20 -0
  102. package/dist/classes/ovary.d/edit-live-fs.js +239 -0
  103. package/dist/classes/ovary.d/fertilization.d.ts +12 -0
  104. package/dist/classes/ovary.d/fertilization.js +53 -0
  105. package/dist/classes/ovary.d/finished.d.ts +13 -0
  106. package/dist/classes/ovary.d/finished.js +40 -0
  107. package/dist/classes/ovary.d/initrd.d.ts +21 -0
  108. package/dist/classes/ovary.d/initrd.js +91 -0
  109. package/dist/classes/ovary.d/kernel-copy.d.ts +12 -0
  110. package/dist/classes/ovary.d/kernel-copy.js +22 -0
  111. package/dist/classes/ovary.d/live-create-structure.d.ts +12 -0
  112. package/dist/classes/ovary.d/live-create-structure.js +70 -0
  113. package/dist/classes/ovary.d/luks-get-password.d.ts +12 -0
  114. package/dist/classes/ovary.d/luks-get-password.js +58 -0
  115. package/dist/classes/ovary.d/luks-helpers.d.ts +19 -0
  116. package/dist/classes/ovary.d/luks-helpers.js +73 -0
  117. package/dist/classes/ovary.d/luks-home-support.d.ts +12 -0
  118. package/dist/classes/ovary.d/luks-home-support.js +70 -0
  119. package/dist/classes/ovary.d/luks-home.d.ts +15 -0
  120. package/dist/classes/ovary.d/luks-home.js +132 -0
  121. package/dist/classes/ovary.d/luks-interactive-crypto-config.d.ts +47 -0
  122. package/dist/classes/ovary.d/luks-interactive-crypto-config.js +139 -0
  123. package/dist/classes/ovary.d/luks-root-initrd.d.ts +17 -0
  124. package/dist/classes/ovary.d/luks-root-initrd.js +213 -0
  125. package/dist/classes/ovary.d/luks-root.d.ts +15 -0
  126. package/dist/classes/ovary.d/luks-root.js +123 -0
  127. package/dist/classes/ovary.d/make-dot-disk.d.ts +12 -0
  128. package/dist/classes/ovary.d/make-dot-disk.js +71 -0
  129. package/dist/classes/ovary.d/make-efi.d.ts +14 -0
  130. package/dist/classes/ovary.d/make-efi.js +296 -0
  131. package/dist/classes/ovary.d/make-iso.d.ts +13 -0
  132. package/dist/classes/ovary.d/make-iso.js +45 -0
  133. package/dist/classes/ovary.d/make-squashfs.d.ts +18 -0
  134. package/dist/classes/ovary.d/make-squashfs.js +111 -0
  135. package/dist/classes/ovary.d/merged.d.ts +27 -0
  136. package/dist/classes/ovary.d/merged.js +78 -0
  137. package/dist/classes/ovary.d/produce.d.ts +23 -0
  138. package/dist/classes/ovary.d/produce.js +349 -0
  139. package/dist/classes/ovary.d/rexec.d.ts +13 -0
  140. package/dist/classes/ovary.d/rexec.js +34 -0
  141. package/dist/classes/ovary.d/syslinux.d.ts +12 -0
  142. package/dist/classes/ovary.d/syslinux.js +99 -0
  143. package/dist/classes/ovary.d/user-create-live.d.ts +14 -0
  144. package/dist/classes/ovary.d/user-create-live.js +97 -0
  145. package/dist/classes/ovary.d/users-remove.d.ts +9 -0
  146. package/dist/classes/ovary.d/users-remove.js +38 -0
  147. package/dist/classes/ovary.d/xorriso-command.d.ts +14 -0
  148. package/dist/classes/ovary.d/xorriso-command.js +125 -0
  149. package/dist/classes/ovary.d.ts +111 -0
  150. package/dist/classes/ovary.js +122 -0
  151. package/dist/classes/pacman.d/alpine.d.ts +56 -0
  152. package/dist/classes/pacman.d/alpine.js +167 -0
  153. package/dist/classes/pacman.d/archlinux.d.ts +62 -0
  154. package/dist/classes/pacman.d/archlinux.js +128 -0
  155. package/dist/classes/pacman.d/debian.d.ts +65 -0
  156. package/dist/classes/pacman.d/debian.js +143 -0
  157. package/dist/classes/pacman.d/fedora.d.ts +53 -0
  158. package/dist/classes/pacman.d/fedora.js +107 -0
  159. package/dist/classes/pacman.d/openmamba.d.ts +52 -0
  160. package/dist/classes/pacman.d/openmamba.js +106 -0
  161. package/dist/classes/pacman.d/opensuse.d.ts +53 -0
  162. package/dist/classes/pacman.d/opensuse.js +109 -0
  163. package/dist/classes/pacman.d.ts +139 -0
  164. package/dist/classes/pacman.js +681 -0
  165. package/dist/classes/pve-live.d.ts +17 -0
  166. package/dist/classes/pve-live.js +52 -0
  167. package/dist/classes/pxe.d.ts +76 -0
  168. package/dist/classes/pxe.js +353 -0
  169. package/dist/classes/settings.d.ts +52 -0
  170. package/dist/classes/settings.js +185 -0
  171. package/dist/classes/sources_list.d.ts +28 -0
  172. package/dist/classes/sources_list.js +89 -0
  173. package/dist/classes/systemctl.d.ts +47 -0
  174. package/dist/classes/systemctl.js +86 -0
  175. package/dist/classes/tailor.d.ts +50 -0
  176. package/dist/classes/tailor.js +563 -0
  177. package/dist/classes/tools.d.ts +26 -0
  178. package/dist/classes/tools.js +50 -0
  179. package/dist/classes/users.d.ts +28 -0
  180. package/dist/classes/users.js +143 -0
  181. package/dist/classes/utils.d/kernel.d.ts +39 -0
  182. package/dist/classes/utils.d/kernel.js +206 -0
  183. package/dist/classes/utils.d.ts +330 -0
  184. package/dist/classes/utils.js +968 -0
  185. package/dist/classes/xdg.d.ts +45 -0
  186. package/dist/classes/xdg.js +337 -0
  187. package/dist/classes/yolk.d.ts +33 -0
  188. package/dist/classes/yolk.js +114 -0
  189. package/dist/commands/adapt.d.ts +17 -0
  190. package/dist/commands/adapt.js +33 -0
  191. package/dist/commands/analyze.d.ts +26 -0
  192. package/dist/commands/analyze.js +95 -0
  193. package/dist/commands/calamares.d.ts +29 -0
  194. package/dist/commands/calamares.js +112 -0
  195. package/dist/commands/config.d.ts +35 -0
  196. package/dist/commands/config.js +120 -0
  197. package/dist/commands/cuckoo.d.ts +17 -0
  198. package/dist/commands/cuckoo.js +61 -0
  199. package/dist/commands/dad.d.ts +21 -0
  200. package/dist/commands/dad.js +47 -0
  201. package/dist/commands/export/iso.d.ts +19 -0
  202. package/dist/commands/export/iso.js +55 -0
  203. package/dist/commands/export/pkg.d.ts +29 -0
  204. package/dist/commands/export/pkg.js +173 -0
  205. package/dist/commands/export/tarballs.d.ts +27 -0
  206. package/dist/commands/export/tarballs.js +79 -0
  207. package/dist/commands/install.d.ts +39 -0
  208. package/dist/commands/install.js +113 -0
  209. package/dist/commands/kill.d.ts +24 -0
  210. package/dist/commands/kill.js +50 -0
  211. package/dist/commands/love.d.ts +25 -0
  212. package/dist/commands/love.js +118 -0
  213. package/dist/commands/mom.d.ts +16 -0
  214. package/dist/commands/mom.js +30 -0
  215. package/dist/commands/pods.d.ts +22 -0
  216. package/dist/commands/pods.js +92 -0
  217. package/dist/commands/produce.d.ts +37 -0
  218. package/dist/commands/produce.js +232 -0
  219. package/dist/commands/status.d.ts +23 -0
  220. package/dist/commands/status.js +31 -0
  221. package/dist/commands/tools/clean.d.ts +18 -0
  222. package/dist/commands/tools/clean.js +37 -0
  223. package/dist/commands/tools/repo.d.ts +31 -0
  224. package/dist/commands/tools/repo.js +413 -0
  225. package/dist/commands/tools/skel.d.ts +18 -0
  226. package/dist/commands/tools/skel.js +44 -0
  227. package/dist/commands/tools/stat.d.ts +31 -0
  228. package/dist/commands/tools/stat.js +70 -0
  229. package/dist/commands/tools/yolk.d.ts +24 -0
  230. package/dist/commands/tools/yolk.js +45 -0
  231. package/dist/commands/update.d.ts +46 -0
  232. package/dist/commands/update.js +238 -0
  233. package/dist/commands/wardrobe/get.d.ts +23 -0
  234. package/dist/commands/wardrobe/get.js +52 -0
  235. package/dist/commands/wardrobe/list.d.ts +24 -0
  236. package/dist/commands/wardrobe/list.js +125 -0
  237. package/dist/commands/wardrobe/show.d.ts +25 -0
  238. package/dist/commands/wardrobe/show.js +97 -0
  239. package/dist/commands/wardrobe/wear.d.ts +26 -0
  240. package/dist/commands/wardrobe/wear.js +84 -0
  241. package/dist/dhcpd-proxy/classes/packet.d.ts +36 -0
  242. package/dist/dhcpd-proxy/classes/packet.js +124 -0
  243. package/dist/dhcpd-proxy/index.d.ts +4 -0
  244. package/dist/dhcpd-proxy/index.js +4 -0
  245. package/dist/dhcpd-proxy/interfaces/i-pxe.d.ts +45 -0
  246. package/dist/dhcpd-proxy/interfaces/i-pxe.js +1 -0
  247. package/dist/dhcpd-proxy/lib/packet/converters.d.ts +11 -0
  248. package/dist/dhcpd-proxy/lib/packet/converters.js +395 -0
  249. package/dist/dhcpd-proxy/lib/packet/message-types.d.ts +10 -0
  250. package/dist/dhcpd-proxy/lib/packet/message-types.js +12 -0
  251. package/dist/dhcpd-proxy/lib/packet/options.d.ts +8 -0
  252. package/dist/dhcpd-proxy/lib/packet/options.js +264 -0
  253. package/dist/dhcpd-proxy/lib/sprintf.d.ts +6 -0
  254. package/dist/dhcpd-proxy/lib/sprintf.js +130 -0
  255. package/dist/dhcpd-proxy/lib/utils.d.ts +126 -0
  256. package/dist/dhcpd-proxy/lib/utils.js +255 -0
  257. package/dist/dhcpd-proxy/simple-proxy.d.ts +11 -0
  258. package/dist/dhcpd-proxy/simple-proxy.js +118 -0
  259. package/dist/index.d.ts +8 -0
  260. package/dist/index.js +8 -0
  261. package/dist/interfaces/calamares/i-calamares-bootloader.d.ts +23 -0
  262. package/dist/interfaces/calamares/i-calamares-bootloader.js +7 -0
  263. package/dist/interfaces/calamares/i-calamares-branding.d.ts +46 -0
  264. package/dist/interfaces/calamares/i-calamares-branding.js +1 -0
  265. package/dist/interfaces/calamares/i-calamares-displaymanager.d.ts +34 -0
  266. package/dist/interfaces/calamares/i-calamares-displaymanager.js +1 -0
  267. package/dist/interfaces/calamares/i-calamares-finished.d.ts +14 -0
  268. package/dist/interfaces/calamares/i-calamares-finished.js +1 -0
  269. package/dist/interfaces/calamares/i-calamares-packages.d.ts +26 -0
  270. package/dist/interfaces/calamares/i-calamares-packages.js +1 -0
  271. package/dist/interfaces/calamares/i-calamares-partitions.d.ts +39 -0
  272. package/dist/interfaces/calamares/i-calamares-partitions.js +1 -0
  273. package/dist/interfaces/calamares/i-calamares-settings.d.ts +36 -0
  274. package/dist/interfaces/calamares/i-calamares-settings.js +1 -0
  275. package/dist/interfaces/i-addons.d.ts +12 -0
  276. package/dist/interfaces/i-addons.js +8 -0
  277. package/dist/interfaces/i-analyze.d.ts +17 -0
  278. package/dist/interfaces/i-analyze.js +17 -0
  279. package/dist/interfaces/i-app.d.ts +14 -0
  280. package/dist/interfaces/i-app.js +8 -0
  281. package/dist/interfaces/i-config-tools.d.ts +15 -0
  282. package/dist/interfaces/i-config-tools.js +8 -0
  283. package/dist/interfaces/i-devices.d.ts +20 -0
  284. package/dist/interfaces/i-devices.js +8 -0
  285. package/dist/interfaces/i-distro.d.ts +23 -0
  286. package/dist/interfaces/i-distro.js +8 -0
  287. package/dist/interfaces/i-drive-list.d.ts +33 -0
  288. package/dist/interfaces/i-drive-list.js +8 -0
  289. package/dist/interfaces/i-eggs-config.d.ts +32 -0
  290. package/dist/interfaces/i-eggs-config.js +8 -0
  291. package/dist/interfaces/i-excludes.d.ts +14 -0
  292. package/dist/interfaces/i-excludes.js +8 -0
  293. package/dist/interfaces/i-exec.d.ts +11 -0
  294. package/dist/interfaces/i-exec.js +8 -0
  295. package/dist/interfaces/i-initrd.d.ts +13 -0
  296. package/dist/interfaces/i-initrd.js +8 -0
  297. package/dist/interfaces/i-install.d.ts +16 -0
  298. package/dist/interfaces/i-install.js +8 -0
  299. package/dist/interfaces/i-installer.d.ts +17 -0
  300. package/dist/interfaces/i-installer.js +8 -0
  301. package/dist/interfaces/i-luks-passphrase.d.ts +11 -0
  302. package/dist/interfaces/i-luks-passphrase.js +8 -0
  303. package/dist/interfaces/i-materia.d.ts +36 -0
  304. package/dist/interfaces/i-materia.js +8 -0
  305. package/dist/interfaces/i-net.d.ts +16 -0
  306. package/dist/interfaces/i-net.js +8 -0
  307. package/dist/interfaces/i-os-release.d.ts +5 -0
  308. package/dist/interfaces/i-os-release.js +1 -0
  309. package/dist/interfaces/i-packages.d.ts +16 -0
  310. package/dist/interfaces/i-packages.js +8 -0
  311. package/dist/interfaces/i-partitions.d.ts +16 -0
  312. package/dist/interfaces/i-partitions.js +8 -0
  313. package/dist/interfaces/i-pxe.d.ts +45 -0
  314. package/dist/interfaces/i-pxe.js +1 -0
  315. package/dist/interfaces/i-remix.d.ts +21 -0
  316. package/dist/interfaces/i-remix.js +8 -0
  317. package/dist/interfaces/i-settings.d.ts +33 -0
  318. package/dist/interfaces/i-settings.js +8 -0
  319. package/dist/interfaces/i-user.d.ts +14 -0
  320. package/dist/interfaces/i-user.js +8 -0
  321. package/dist/interfaces/i-workdir.d.ts +14 -0
  322. package/dist/interfaces/i-workdir.js +8 -0
  323. package/dist/interfaces/i-xkb-model.d.ts +24 -0
  324. package/dist/interfaces/i-xkb-model.js +8 -0
  325. package/dist/interfaces/index.d.ts +26 -0
  326. package/dist/interfaces/index.js +8 -0
  327. package/dist/krill/classes/cfs.d.ts +17 -0
  328. package/dist/krill/classes/cfs.js +39 -0
  329. package/dist/krill/classes/krill_enums.d.ts +37 -0
  330. package/dist/krill/classes/krill_enums.js +41 -0
  331. package/dist/krill/classes/prepare.d/confirm.d.ts +5 -0
  332. package/dist/krill/classes/prepare.d/confirm.js +30 -0
  333. package/dist/krill/classes/prepare.d/keyboard.d.ts +14 -0
  334. package/dist/krill/classes/prepare.d/keyboard.js +62 -0
  335. package/dist/krill/classes/prepare.d/location.d.ts +17 -0
  336. package/dist/krill/classes/prepare.d/location.js +59 -0
  337. package/dist/krill/classes/prepare.d/network.d.ts +14 -0
  338. package/dist/krill/classes/prepare.d/network.js +68 -0
  339. package/dist/krill/classes/prepare.d/partitions.d.ts +14 -0
  340. package/dist/krill/classes/prepare.d/partitions.js +86 -0
  341. package/dist/krill/classes/prepare.d/summary.d.ts +15 -0
  342. package/dist/krill/classes/prepare.d/summary.js +72 -0
  343. package/dist/krill/classes/prepare.d/users.d.ts +6 -0
  344. package/dist/krill/classes/prepare.d/users.js +63 -0
  345. package/dist/krill/classes/prepare.d/welcome.d.ts +6 -0
  346. package/dist/krill/classes/prepare.d/welcome.js +30 -0
  347. package/dist/krill/classes/prepare.d.ts +89 -0
  348. package/dist/krill/classes/prepare.js +319 -0
  349. package/dist/krill/classes/sequence.d/add_user.d.ts +20 -0
  350. package/dist/krill/classes/sequence.d/add_user.js +77 -0
  351. package/dist/krill/classes/sequence.d/bootloader.d.ts +14 -0
  352. package/dist/krill/classes/sequence.d/bootloader.js +117 -0
  353. package/dist/krill/classes/sequence.d/bootloader_config.d.ts +14 -0
  354. package/dist/krill/classes/sequence.d/bootloader_config.js +192 -0
  355. package/dist/krill/classes/sequence.d/change_password.d.ts +15 -0
  356. package/dist/krill/classes/sequence.d/change_password.js +18 -0
  357. package/dist/krill/classes/sequence.d/del_live_user.d.ts +14 -0
  358. package/dist/krill/classes/sequence.d/del_live_user.js +39 -0
  359. package/dist/krill/classes/sequence.d/fstab.d.ts +14 -0
  360. package/dist/krill/classes/sequence.d/fstab.js +177 -0
  361. package/dist/krill/classes/sequence.d/grubcfg.d.ts +17 -0
  362. package/dist/krill/classes/sequence.d/grubcfg.js +35 -0
  363. package/dist/krill/classes/sequence.d/hostname.d.ts +13 -0
  364. package/dist/krill/classes/sequence.d/hostname.js +50 -0
  365. package/dist/krill/classes/sequence.d/initramfs.d.ts +13 -0
  366. package/dist/krill/classes/sequence.d/initramfs.js +54 -0
  367. package/dist/krill/classes/sequence.d/initramfs_cfg.d.ts +14 -0
  368. package/dist/krill/classes/sequence.d/initramfs_cfg.js +35 -0
  369. package/dist/krill/classes/sequence.d/locale.d.ts +13 -0
  370. package/dist/krill/classes/sequence.d/locale.js +91 -0
  371. package/dist/krill/classes/sequence.d/locale_cfg.d.ts +10 -0
  372. package/dist/krill/classes/sequence.d/locale_cfg.js +58 -0
  373. package/dist/krill/classes/sequence.d/m_keyboard.d.ts +14 -0
  374. package/dist/krill/classes/sequence.d/m_keyboard.js +58 -0
  375. package/dist/krill/classes/sequence.d/machine_id.d.ts +15 -0
  376. package/dist/krill/classes/sequence.d/machine_id.js +33 -0
  377. package/dist/krill/classes/sequence.d/mkfs.d.ts +15 -0
  378. package/dist/krill/classes/sequence.d/mkfs.js +88 -0
  379. package/dist/krill/classes/sequence.d/mount_fs.d.ts +17 -0
  380. package/dist/krill/classes/sequence.d/mount_fs.js +68 -0
  381. package/dist/krill/classes/sequence.d/mount_vfs.d.ts +17 -0
  382. package/dist/krill/classes/sequence.d/mount_vfs.js +59 -0
  383. package/dist/krill/classes/sequence.d/network_cfg.d.ts +19 -0
  384. package/dist/krill/classes/sequence.d/network_cfg.js +73 -0
  385. package/dist/krill/classes/sequence.d/packages.d.ts +14 -0
  386. package/dist/krill/classes/sequence.d/packages.js +111 -0
  387. package/dist/krill/classes/sequence.d/partition.d/bios_luks.d.ts +17 -0
  388. package/dist/krill/classes/sequence.d/partition.d/bios_luks.js +73 -0
  389. package/dist/krill/classes/sequence.d/partition.d/bios_standard.d.ts +16 -0
  390. package/dist/krill/classes/sequence.d/partition.d/bios_standard.js +51 -0
  391. package/dist/krill/classes/sequence.d/partition.d/uefi_luks.d.ts +17 -0
  392. package/dist/krill/classes/sequence.d/partition.d/uefi_luks.js +77 -0
  393. package/dist/krill/classes/sequence.d/partition.d/uefi_standard.d.ts +10 -0
  394. package/dist/krill/classes/sequence.d/partition.d/uefi_standard.js +33 -0
  395. package/dist/krill/classes/sequence.d/partition.d.ts +14 -0
  396. package/dist/krill/classes/sequence.d/partition.js +84 -0
  397. package/dist/krill/classes/sequence.d/remove_installer_link.d.ts +13 -0
  398. package/dist/krill/classes/sequence.d/remove_installer_link.js +35 -0
  399. package/dist/krill/classes/sequence.d/umount.d.ts +14 -0
  400. package/dist/krill/classes/sequence.d/umount.js +28 -0
  401. package/dist/krill/classes/sequence.d/unpackfs.d.ts +13 -0
  402. package/dist/krill/classes/sequence.d/unpackfs.js +21 -0
  403. package/dist/krill/classes/sequence.d.ts +134 -0
  404. package/dist/krill/classes/sequence.js +400 -0
  405. package/dist/krill/components/finished.d.ts +16 -0
  406. package/dist/krill/components/finished.js +56 -0
  407. package/dist/krill/components/information.d.ts +8 -0
  408. package/dist/krill/components/information.js +162 -0
  409. package/dist/krill/components/install.d.ts +15 -0
  410. package/dist/krill/components/install.js +60 -0
  411. package/dist/krill/components/keyboard.d.ts +16 -0
  412. package/dist/krill/components/keyboard.js +54 -0
  413. package/dist/krill/components/location.d.ts +16 -0
  414. package/dist/krill/components/location.js +59 -0
  415. package/dist/krill/components/network.d.ts +19 -0
  416. package/dist/krill/components/network.js +65 -0
  417. package/dist/krill/components/partitions.d.ts +18 -0
  418. package/dist/krill/components/partitions.js +89 -0
  419. package/dist/krill/components/steps.d.ts +13 -0
  420. package/dist/krill/components/steps.js +148 -0
  421. package/dist/krill/components/summary.d.ts +25 -0
  422. package/dist/krill/components/summary.js +77 -0
  423. package/dist/krill/components/title.d.ts +11 -0
  424. package/dist/krill/components/title.js +35 -0
  425. package/dist/krill/components/users.d.ts +24 -0
  426. package/dist/krill/components/users.js +80 -0
  427. package/dist/krill/components/welcome.d.ts +13 -0
  428. package/dist/krill/components/welcome.js +63 -0
  429. package/dist/krill/interfaces/i_krill.d.ts +44 -0
  430. package/dist/krill/interfaces/i_krill.js +8 -0
  431. package/dist/krill/interfaces/i_krill_config.d.ts +35 -0
  432. package/dist/krill/interfaces/i_krill_config.js +8 -0
  433. package/dist/krill/lib/get_address.d.ts +8 -0
  434. package/dist/krill/lib/get_address.js +23 -0
  435. package/dist/krill/lib/get_dns.d.ts +8 -0
  436. package/dist/krill/lib/get_dns.js +23 -0
  437. package/dist/krill/lib/get_domain.d.ts +8 -0
  438. package/dist/krill/lib/get_domain.js +23 -0
  439. package/dist/krill/lib/get_gateway.d.ts +8 -0
  440. package/dist/krill/lib/get_gateway.js +23 -0
  441. package/dist/krill/lib/get_hostname.d.ts +8 -0
  442. package/dist/krill/lib/get_hostname.js +23 -0
  443. package/dist/krill/lib/get_luks_passphrase.d.ts +8 -0
  444. package/dist/krill/lib/get_luks_passphrase.js +32 -0
  445. package/dist/krill/lib/get_netmask.d.ts +8 -0
  446. package/dist/krill/lib/get_netmask.js +23 -0
  447. package/dist/krill/lib/get_password.d.ts +8 -0
  448. package/dist/krill/lib/get_password.js +36 -0
  449. package/dist/krill/lib/get_userfullname.d.ts +8 -0
  450. package/dist/krill/lib/get_userfullname.js +23 -0
  451. package/dist/krill/lib/get_username.d.ts +8 -0
  452. package/dist/krill/lib/get_username.js +23 -0
  453. package/dist/krill/lib/select_address_type.d.ts +8 -0
  454. package/dist/krill/lib/select_address_type.js +24 -0
  455. package/dist/krill/lib/select_filesystem_type.d.ts +8 -0
  456. package/dist/krill/lib/select_filesystem_type.js +40 -0
  457. package/dist/krill/lib/select_installation_device.d.ts +8 -0
  458. package/dist/krill/lib/select_installation_device.js +40 -0
  459. package/dist/krill/lib/select_installation_mode.d.ts +9 -0
  460. package/dist/krill/lib/select_installation_mode.js +25 -0
  461. package/dist/krill/lib/select_interface.d.ts +8 -0
  462. package/dist/krill/lib/select_interface.js +24 -0
  463. package/dist/krill/lib/select_keyboard_layout.d.ts +11 -0
  464. package/dist/krill/lib/select_keyboard_layout.js +36 -0
  465. package/dist/krill/lib/select_keyboard_model.d.ts +11 -0
  466. package/dist/krill/lib/select_keyboard_model.js +34 -0
  467. package/dist/krill/lib/select_keyboard_option.d.ts +11 -0
  468. package/dist/krill/lib/select_keyboard_option.js +34 -0
  469. package/dist/krill/lib/select_keyboard_variant.d.ts +11 -0
  470. package/dist/krill/lib/select_keyboard_variant.js +35 -0
  471. package/dist/krill/lib/select_languages.d.ts +8 -0
  472. package/dist/krill/lib/select_languages.js +28 -0
  473. package/dist/krill/lib/select_regions.d.ts +8 -0
  474. package/dist/krill/lib/select_regions.js +24 -0
  475. package/dist/krill/lib/select_replaced_partition.d.ts +8 -0
  476. package/dist/krill/lib/select_replaced_partition.js +31 -0
  477. package/dist/krill/lib/select_user_swap_choice.d.ts +9 -0
  478. package/dist/krill/lib/select_user_swap_choice.js +35 -0
  479. package/dist/krill/lib/select_zones.d.ts +8 -0
  480. package/dist/krill/lib/select_zones.js +518 -0
  481. package/dist/lib/kill_me_softly.d.ts +11 -0
  482. package/dist/lib/kill_me_softly.js +61 -0
  483. package/dist/lib/utils.d.ts +19 -0
  484. package/dist/lib/utils.js +65 -0
  485. package/dracut/create-symlink +0 -0
  486. package/dracut/dracut.conf.d/50-live.conf +12 -13
  487. package/dracut/export +0 -0
  488. package/dracut/export-dracut-analysis +0 -0
  489. package/dracut/export-dracut-log +0 -0
  490. package/dracut/mkisofs +0 -0
  491. package/dracut/modules.d/00debug-shell/debug-hook.sh +0 -0
  492. package/dracut/modules.d/00debug-shell/module-setup.sh +0 -0
  493. package/dracut/modules.d/90block/block-cmdline.sh +0 -0
  494. package/dracut/modules.d/90block/module-setup.sh +0 -0
  495. package/dracut/modules.d/95iso-scan/iso-scan-fallback.sh +0 -0
  496. package/dracut/modules.d/95iso-scan/iso-scan.sh +0 -0
  497. package/dracut/modules.d/95iso-scan/module-setup.sh +0 -0
  498. package/dracut/modules.d/95luks-loop/luks-loop.sh +0 -0
  499. package/dracut/modules.d/95luks-loop/module-setup.sh +0 -0
  500. package/dracut/renew-initramfs +0 -0
  501. package/dracut/sbin2bin +0 -0
  502. package/dracut/update-dracut-conf-d +0 -0
  503. package/dracut/update-dracut-modules +0 -0
  504. package/eui/eui-autostart-cinnamon.desktop +0 -0
  505. package/eui/eui-autostart-xfce.desktop +0 -0
  506. package/eui/eui-create-image.sh +0 -0
  507. package/eui/eui-start.sh +0 -0
  508. package/package.json +130 -124
  509. package/perrisbrewery/scripts/postinst +0 -0
  510. package/perrisbrewery/scripts/postrm +0 -0
  511. package/perrisbrewery/scripts/preinst +0 -0
  512. package/perrisbrewery/scripts/prerm +0 -0
  513. package/perrisbrewery/template/dependencies.yaml +7 -5
  514. package/scripts/99clean +0 -0
  515. package/scripts/adapt.sh +0 -0
  516. package/scripts/boot-encrypted-root.sh +0 -0
  517. package/scripts/bros/waydroid-helper.sh +0 -0
  518. package/scripts/lsb_release +0 -0
  519. package/scripts/mom.sh +0 -0
  520. package/scripts/mount-encrypted-home.sh +0 -0
  521. package/scripts/pve-live.service +0 -0
  522. package/scripts/pve-live.sh +0 -0
  523. package/scripts/resy +0 -0
  524. package/conf/distros/focal/calamares/calamares-modules/.keepit +0 -0
  525. package/conf/distros/focal/calamares/calamares-modules/cleanup/cleanup.sh +0 -20
  526. package/conf/distros/focal/calamares/calamares-modules/cleanup/module.yml +0 -9
  527. package/conf/distros/focal/calamares/calamares-modules/sources-yolk/module.yml +0 -8
  528. package/conf/distros/focal/calamares/calamares-modules/sources-yolk/sources-yolk.sh +0 -50
  529. package/conf/distros/focal/calamares/calamares-modules/sources-yolk-undo/module.yml +0 -8
  530. package/conf/distros/focal/calamares/modules/after_bootloader_context.yml +0 -19
  531. package/conf/distros/focal/calamares/modules/automirror.yml +0 -6
  532. package/conf/distros/focal/calamares/modules/before_bootloader_context.yml +0 -19
  533. package/conf/distros/focal/calamares/modules/before_bootloader_mkdirs_context.yml +0 -11
  534. package/conf/distros/focal/calamares/modules/bootloader.yml +0 -34
  535. package/conf/distros/focal/calamares/modules/displaymanager.yml +0 -12
  536. package/conf/distros/focal/calamares/modules/finished.yml +0 -4
  537. package/conf/distros/focal/calamares/modules/fstab.yml +0 -13
  538. package/conf/distros/focal/calamares/modules/grubcfg.yml +0 -5
  539. package/conf/distros/focal/calamares/modules/locale.yml +0 -9
  540. package/conf/distros/focal/calamares/modules/machineid.yml +0 -9
  541. package/conf/distros/focal/calamares/modules/mount.yml +0 -41
  542. package/conf/distros/focal/calamares/modules/packages.mustache +0 -5
  543. package/conf/distros/focal/calamares/modules/partition.yml +0 -10
  544. package/conf/distros/focal/calamares/modules/removeuser.mustache +0 -3
  545. package/conf/distros/focal/calamares/modules/shellprocess_add386arch.yml +0 -6
  546. package/conf/distros/focal/calamares/modules/shellprocess_bug-LP#1829805.yml +0 -5
  547. package/conf/distros/focal/calamares/modules/shellprocess_logs.yml +0 -6
  548. package/conf/distros/focal/calamares/modules/unpackfs.mustache +0 -6
  549. package/conf/distros/focal/calamares/modules/users.yml +0 -19
  550. package/conf/distros/focal/calamares/modules/welcome.yml +0 -26
  551. package/conf/distros/focal/calamares/settings.yml +0 -72
@@ -0,0 +1,100 @@
1
+ /**
2
+ * ./src/classes/diversions.ts
3
+ * penguins-eggs v.25.7.x / ecmascript 2020
4
+ * author: Piero Proietti (modified by Hossein Seilani)
5
+ * license: MIT
6
+ *
7
+ * NEW VERSION: Improved and cleaned with detailed comments and new changes
8
+ */
9
+ import Distro from './distro.js';
10
+ export default class Diversions {
11
+ // NEW CHANGE [1]
12
+ // Made isSystemDBoot more readable by using direct return without extra variable.
13
+ // Simplified logic for clarity.
14
+ static isSystemDBoot(familyId, isEfi) {
15
+ return familyId === 'fedora' && isEfi;
16
+ }
17
+ // NEW CHANGE [2]
18
+ // Simplified deluser function using array.includes and default value.
19
+ // This makes adding new families easier and avoids long OR chains.
20
+ static deluser(familyId) {
21
+ const userdelFamilies = ['aldos', 'archlinux', 'fedora', 'openmamba', 'opensuse', 'voidlinux'];
22
+ return userdelFamilies.includes(familyId) ? 'userdel' : 'deluser';
23
+ }
24
+ // NEW CHANGE [3]
25
+ // Improved grubName using array.includes and direct return
26
+ // Cleaner, easier to maintain if new families are added
27
+ static grubName(familyId) {
28
+ const grub2Families = ['aldos', 'fedora', 'opensuse'];
29
+ return grub2Families.includes(familyId) ? 'grub2' : 'grub';
30
+ }
31
+ // NEW CHANGE [4]
32
+ // Simplified grubForce function with array.includes
33
+ // Provides explicit "--force" only for specific families
34
+ static grubForce(familyId) {
35
+ const forceFamilies = ['aldos', 'fedora'];
36
+ return forceFamilies.includes(familyId) ? '--force' : '';
37
+ }
38
+ // NEW CHANGE [5]
39
+ // Improved kernelParameters function:
40
+ // - Use template literals consistently
41
+ // - Reduce redundant code
42
+ // - Added optional `fullCrypt` handling for debian
43
+ static kernelParameters(familyId, volid, fullCrypt = false) {
44
+ let kp = '';
45
+ switch (familyId) {
46
+ case 'alpine':
47
+ kp += `alpinelivelabel=${volid} alpinelivesquashfs=/mnt/live/filesystem.squashfs`;
48
+ break;
49
+ case 'archlinux': {
50
+ const distroId = this.distro().distroId;
51
+ kp += `boot=live components locales=${process.env.LANG}`;
52
+ if (this.isManjaroBased(distroId)) {
53
+ kp += ` misobasedir=manjaro misolabel=${volid}`;
54
+ }
55
+ else {
56
+ kp += ` archisobasedir=arch archisolabel=${volid}`;
57
+ }
58
+ break;
59
+ }
60
+ case 'debian':
61
+ kp += `boot=live components locales=${process.env.LANG} cow_spacesize=2G`;
62
+ if (fullCrypt)
63
+ kp += ` live-media=/run/live/medium`;
64
+ break;
65
+ case 'fedora':
66
+ case 'openmamba':
67
+ kp += `root=live:CDLABEL=${volid} rd.live.image rd.live.dir=/live rd.live.squashimg=filesystem.squashfs selinux=0`;
68
+ break;
69
+ case 'opensuse':
70
+ kp += `root=live:CDLABEL=${volid} rd.live.image rd.live.dir=/live rd.live.squashimg=filesystem.squashfs apparmor=0`;
71
+ break;
72
+ case 'voidlinux':
73
+ kp += `root=live:CDLABEL=${volid} rd.live.image rd.live.dir=/live rd.live.squashimg=filesystem.squashfs rd.debug`;
74
+ break;
75
+ default:
76
+ kp += '';
77
+ break;
78
+ }
79
+ return kp;
80
+ }
81
+ // NEW CHANGE [6]
82
+ // Centralized creation of Distro instance
83
+ // Ensures only one point of modification for Distro
84
+ static distro() {
85
+ return new Distro();
86
+ }
87
+ // NEW CHANGE [7]
88
+ // Simplified isManjaroBased function using array.includes
89
+ // Makes it easier to maintain and extend to new derivatives
90
+ static isManjaroBased(distro) {
91
+ const manjaroFamilies = ['Manjaro', 'Biglinux', 'Bigcommunity'];
92
+ return manjaroFamilies.includes(distro);
93
+ }
94
+ // NEW CHANGE [8]
95
+ // bootloaders path handling improved
96
+ // Default path for debian, custom path for all other families
97
+ static bootloaders(familyId) {
98
+ return familyId === 'debian' ? '/usr/lib/' : '/usr/lib/penguins-eggs/bootloaders/';
99
+ }
100
+ }
@@ -0,0 +1,17 @@
1
+ /**
2
+ * ./src/classes/incubation/branding.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 { IDistro, IRemix } from '../../interfaces/index.js';
9
+ /**
10
+ *
11
+ * @param remix
12
+ * @param distro
13
+ * @param theme
14
+ * @param verbose
15
+ * @returns
16
+ */
17
+ export declare function branding(remix: IRemix, distro: IDistro, theme?: string, verbose?: boolean): string;
@@ -0,0 +1,85 @@
1
+ /**
2
+ * ./src/classes/incubation/branding.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 yaml from 'js-yaml';
9
+ /**
10
+ *
11
+ * @param remix
12
+ * @param distro
13
+ * @param theme
14
+ * @param verbose
15
+ * @returns
16
+ */
17
+ export function branding(remix, distro, theme = '', verbose = false) {
18
+ const { bugReportUrl, homeUrl, supportUrl } = distro;
19
+ // Li ridenomino per calamares
20
+ const productUrl = homeUrl;
21
+ // const supportUrl= supportUrl
22
+ const releaseNotesUrl = bugReportUrl;
23
+ const knownIssuesUrl = 'https://github.com/pieroproietti/penguins-eggs/issues/';
24
+ const productName = remix.versionName; // Questa va nel titolo ed in basso
25
+ const shortProductName = remix.fullname;
26
+ const today = new Date();
27
+ const version = today.toISOString().split('T')[0]; // 2021-09-30
28
+ const shortVersion = version.split('-').join('.'); // 2021.09.30
29
+ const versionedName = remix.fullname + ' (' + shortVersion + ')';
30
+ const shortVersionedName = remix.versionName + ' ' + version;
31
+ /**
32
+ * some distros: Devuan, LMDE, syslinuxos
33
+ * must have: bootloaderEntryName=Debian
34
+ * to work on EFI
35
+ */
36
+ let bootloaderEntryName = '';
37
+ const distroId = distro.distroId.toLowerCase();
38
+ if (distroId === 'devuan' || distroId === 'lmde' || distroId === 'syslinuxos') {
39
+ bootloaderEntryName = 'Debian';
40
+ }
41
+ else {
42
+ bootloaderEntryName = distro.distroId;
43
+ }
44
+ const productLogo = `${remix.branding}-logo.png`;
45
+ const productIcon = `${remix.branding}-logo.png`;
46
+ const productWelcome = 'welcome.png';
47
+ const slideshow = 'show.qml';
48
+ const branding = {
49
+ componentName: remix.branding,
50
+ images: {
51
+ productIcon,
52
+ productLogo,
53
+ productWelcome
54
+ },
55
+ slideshow,
56
+ slideshowAPI: 1,
57
+ strings: {
58
+ bootloaderEntryName,
59
+ knownIssuesUrl,
60
+ productName,
61
+ productUrl,
62
+ releaseNotesUrl,
63
+ shortProductName,
64
+ shortVersion,
65
+ shortVersionedName,
66
+ supportUrl,
67
+ version,
68
+ versionedName
69
+ },
70
+ style: {
71
+ // 3.3.x
72
+ SidebarBackground: '#292F34',
73
+ SidebarBackgroundCurrent: '#D35400',
74
+ SidebarText: '#FFFFFF',
75
+ SidebarTextCurrent: '#292F34',
76
+ // 3.2.x
77
+ sidebarBackground: '#292F34',
78
+ sidebarBackgroundCurrent: '#D35400',
79
+ sidebarText: '#FFFFFF',
80
+ sidebarTextCurrent: '#292F34'
81
+ },
82
+ welcomeStyleCalamares: true
83
+ };
84
+ return yaml.dump(branding);
85
+ }
@@ -0,0 +1,12 @@
1
+ /**
2
+ * ./src/classes/incubation/customize/customize-partitions.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
+ * customize module partition
10
+ * add/remove filesystem available
11
+ */
12
+ export declare function customizePartitions(): Promise<void>;
@@ -0,0 +1,37 @@
1
+ /**
2
+ * ./src/classes/incubation/customize/customize-partitions.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
+ import Pacman from '../../pacman.js';
10
+ import yaml from 'js-yaml';
11
+ import { exec } from '../../../lib/utils.js';
12
+ /**
13
+ * customize module partition
14
+ * add/remove filesystem available
15
+ */
16
+ export async function customizePartitions() {
17
+ const filePartition = '/etc/calamares/modules/partition.conf';
18
+ const partition = yaml.load(fs.readFileSync(filePartition, 'utf8'));
19
+ // detect filesystem type
20
+ let test = await exec(`df -T / | awk 'NR==2 {print $2}'`, { capture: true, echo: false });
21
+ partition.defaultFileSystemType = test.data.trim();
22
+ /**
23
+ * Determino i filesystem disponibili
24
+ */
25
+ partition.availableFileSystemTypes = ['ext4'];
26
+ if (Pacman.packageIsInstalled('progs') ||
27
+ Pacman.packageIsInstalled('btrfsprogs')) {
28
+ partition.availableFileSystemTypes.push('btrfs');
29
+ }
30
+ if (Pacman.packageIsInstalled('xfsprogs')) {
31
+ partition.availableFileSystemTypes.push('xfs');
32
+ }
33
+ if (Pacman.packageIsInstalled('f2fs-tools')) {
34
+ partition.availableFileSystemTypes.push('f2fs');
35
+ }
36
+ fs.writeFileSync(filePartition, yaml.dump(partition), 'utf-8');
37
+ }
@@ -0,0 +1 @@
1
+ export declare function initcpio(): Promise<string>;
@@ -0,0 +1,69 @@
1
+ import { exec } from 'child_process';
2
+ import { promisify } from 'util';
3
+ import { access } from 'fs/promises';
4
+ const execAsync = promisify(exec);
5
+ export async function initcpio() {
6
+ try {
7
+ const { stdout: kernelVersion } = await execAsync('uname -r');
8
+ const version = kernelVersion.trim();
9
+ // Manjaro
10
+ if (version.includes('MANJARO')) {
11
+ try {
12
+ // Estrai major e minor version. Es: da "6.12.48-1-MANJARO" -> ["6", "12", "48-1-MANJARO"]
13
+ const parts = version.split('.');
14
+ // Costruisci il nome del preset come "linux" + "6" + "12" -> "linux612"
15
+ const kernelName = `linux${parts[0]}${parts[1]}`;
16
+ const manjaroPreset = `/etc/mkinitcpio.d/${kernelName}.preset`;
17
+ await access(manjaroPreset); // Verifica se esiste /etc/mkinitcpio.d/linux612.preset
18
+ return manjaroPreset; // Se esiste, lo restituisce e la funzione termina
19
+ }
20
+ catch {
21
+ // Se anche questa logica fallisce, lascia che proceda al fallback per Arch
22
+ // console.warn('Logica Manjaro fallita, si tenta il fallback per Arch...');
23
+ }
24
+ }
25
+ else if (version.includes('cachyos')) {
26
+ try {
27
+ let kernelType = 'linux-cachyos'; // default
28
+ if (version.includes('lts')) {
29
+ kernelType = 'linux-cachyos-lts';
30
+ }
31
+ else if (version.includes('zen')) {
32
+ kernelType = 'linux-cachyos-zen';
33
+ }
34
+ else if (version.includes('hardened')) {
35
+ kernelType = 'linux-hardened';
36
+ }
37
+ const cachyPreset = `/etc/mkinitcpio.d/${kernelType}.preset`;
38
+ await access(cachyPreset);
39
+ return cachyPreset;
40
+ }
41
+ catch {
42
+ // Se anche questa logica fallisce, lascia che proceda al fallback per Arch
43
+ // console.warn('Logica Manjaro fallita, si tenta il fallback per Arch...');
44
+ }
45
+ }
46
+ /**
47
+ * FALLBACK ARCH
48
+ */
49
+ // Determina il tipo di kernel
50
+ let kernelType = 'linux'; // default
51
+ if (version.includes('lts')) {
52
+ kernelType = 'linux-lts';
53
+ }
54
+ else if (version.includes('zen')) {
55
+ kernelType = 'linux-zen';
56
+ }
57
+ else if (version.includes('hardened')) {
58
+ kernelType = 'linux-hardened';
59
+ }
60
+ const archPreset = `/etc/mkinitcpio.d/${kernelType}.preset`;
61
+ // Verifica che esista
62
+ await access(archPreset);
63
+ return archPreset;
64
+ }
65
+ catch (error) {
66
+ // Rimuoviamo l'errore originale dalla stringa per un messaggio più pulito
67
+ throw new Error(`Impossibile trovare un file .preset valido in /etc/mkinitcpio.d/`);
68
+ }
69
+ }
@@ -0,0 +1,20 @@
1
+ /**
2
+ * ./src/classes/incubation/fisherman-helper/packages.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 { IDistro } from '../../../interfaces/index.js';
9
+ /**
10
+ *
11
+ * @param distro
12
+ * @returns yaml-string
13
+ */
14
+ export declare function remove(distro: IDistro): string;
15
+ /**
16
+ *
17
+ * @param distro
18
+ * @returns yaml-string
19
+ */
20
+ export declare function tryInstall(distro: IDistro): string;
@@ -0,0 +1,72 @@
1
+ /**
2
+ * ./src/classes/incubation/fisherman-helper/packages.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 Pacman from '../../pacman.js';
9
+ /**
10
+ *
11
+ * @param distro
12
+ * @returns yaml-string
13
+ */
14
+ export function remove(distro) {
15
+ const packages = ['calamares-eggs', 'calamares'];
16
+ if (distro.familyId === 'archlinux') {
17
+ packages.push('penguins-eggs');
18
+ }
19
+ if (distro.familyId === 'debian') {
20
+ packages.push('penguins-eggs', 'live-boot', 'live-boot-doc', 'live-boot-initramfs-tools', 'live-tools');
21
+ }
22
+ const installedPackages = [];
23
+ for (const elem of packages) {
24
+ if (Pacman.packageIsInstalled(elem)) {
25
+ installedPackages.push(elem);
26
+ }
27
+ }
28
+ installedPackages.sort();
29
+ let yaml = '';
30
+ for (const elem of installedPackages) {
31
+ yaml += ` - ${elem.trim()}\n`;
32
+ }
33
+ if (yaml !== '') {
34
+ yaml = '- try_remove:\n' + yaml;
35
+ }
36
+ return yaml;
37
+ }
38
+ /**
39
+ *
40
+ * @param distro
41
+ * @returns yaml-string
42
+ */
43
+ export function tryInstall(distro) {
44
+ let yaml = '';
45
+ /**
46
+ * Depending on the distro
47
+ */
48
+ if (distro.distroLike === 'Ubuntu') {
49
+ yaml += ' - language-pack-$LOCALE\n';
50
+ }
51
+ // Da localizzare se presenti
52
+ if (Pacman.packageIsInstalled('hunspell')) {
53
+ yaml += ' - hunspell-$LOCALE\n';
54
+ }
55
+ if (Pacman.packageIsInstalled('libreoffice-base-core')) {
56
+ yaml += ' - libreoffice-l10n-$LOCALE\n';
57
+ yaml += ' - libreoffice-help-$LOCALE\n';
58
+ }
59
+ if (Pacman.packageIsInstalled('firefox-esr')) {
60
+ yaml += ' - firefox-esr-$LOCALE\n';
61
+ }
62
+ if (Pacman.packageIsInstalled('firefox')) {
63
+ yaml += ' - firefox-$LOCALE\n';
64
+ }
65
+ if (Pacman.packageIsInstalled('thunderbird')) {
66
+ yaml += ' - thunderbird-locale-$LOCALE\n';
67
+ }
68
+ if (yaml !== '') {
69
+ yaml = '- try_install:\n' + yaml;
70
+ }
71
+ return yaml;
72
+ }
@@ -0,0 +1,15 @@
1
+ /**
2
+ * ./src/classes/incubation/fisherman-helper/settings.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
+ *
10
+ * @param src
11
+ * @param dest
12
+ * @param theme
13
+ * @param isClone
14
+ */
15
+ export declare function settings(src: string, dest: string, theme?: string, isClone?: boolean): Promise<void>;
@@ -0,0 +1,116 @@
1
+ /**
2
+ * ./src/classes/incubation/fisherman-helper/settings.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
+ *
10
+ * @param theme
11
+ * @param isClone
12
+ */
13
+ import yaml from 'js-yaml';
14
+ import fs from 'node:fs';
15
+ import shx from 'shelljs';
16
+ import Utils from '../../utils.js';
17
+ import { installer } from '../installer.js';
18
+ /**
19
+ *
20
+ * @param src
21
+ * @param dest
22
+ * @param theme
23
+ * @param isClone
24
+ */
25
+ export async function settings(src, dest, theme = 'eggs', isClone = false) {
26
+ let branding = theme;
27
+ const settingsSrc = src + 'settings.yml';
28
+ if (theme.includes('/')) {
29
+ branding = theme.slice(Math.max(0, theme.lastIndexOf('/') + 1));
30
+ }
31
+ const settingsDest = dest + 'settings.conf';
32
+ const contentSrc = fs.readFileSync(settingsSrc, "utf-8");
33
+ const yamlDest = yaml.load(contentSrc);
34
+ // Trova gli elementi in modo sicuro
35
+ const showSequenceItem = yamlDest.sequence.find(item => item.show);
36
+ const execSequenceItem = yamlDest.sequence.find(item => item.exec);
37
+ if (!showSequenceItem || !execSequenceItem) {
38
+ throw new Error("Impossibile trovare le sezioni 'show' o 'exec' nel file settings.yml");
39
+ }
40
+ // Il '!' dice a TS: "sono sicuro che non è undefined"
41
+ let showModules = showSequenceItem.show;
42
+ let execModules = execSequenceItem.exec;
43
+ // Filtra la lista (ora con type safety)
44
+ if (!Utils.isSystemd()) {
45
+ execModules = execModules.filter(module => module !== 'machineid' && module !== 'services-systemd');
46
+ }
47
+ // if (displaymanager()) {
48
+ // execModules = execModules.filter(module => module !== 'displaymanager')
49
+ // }
50
+ if (isClone) {
51
+ execModules = execModules.filter(module => module !== 'users');
52
+ showModules = showModules.filter(module => module !== 'users');
53
+ }
54
+ // Riassegna gli array
55
+ showSequenceItem.show = showModules;
56
+ execSequenceItem.exec = execModules;
57
+ yamlDest.branding = branding;
58
+ const contentDeest = yaml.dump(yamlDest);
59
+ fs.writeFileSync(settingsDest, contentDeest);
60
+ /*
61
+ shx.cp(settingsSrc, settingsDest)
62
+ let hasSystemd = '# '
63
+ if (Utils.isSystemd()) {
64
+ hasSystemd = '- '
65
+ }
66
+
67
+ let createUsers = '- '
68
+ if (isClone) {
69
+ createUsers = '# '
70
+ }
71
+
72
+ let hasDisplaymanager = '# '
73
+ if (displaymanager().length > 0) {
74
+ hasDisplaymanager = '- '
75
+ }
76
+
77
+ shx.sed('-i', '{{hasSystemd}}', hasSystemd, settingsDest)
78
+ shx.sed('-i', '{{hasDisplaymanager}}', hasDisplaymanager, settingsDest)
79
+ shx.sed('-i', '{{branding}}', branding, settingsDest)
80
+ shx.sed('-i', '{{createUsers}}', createUsers, settingsDest)
81
+
82
+ */
83
+ /**
84
+ * cfsAppend
85
+ */
86
+ const cfsPath = `${theme}/theme/calamares/cfs.yml`;
87
+ if (fs.existsSync(cfsPath)) {
88
+ cfsAppend(cfsPath);
89
+ }
90
+ }
91
+ /**
92
+ *
93
+ */
94
+ function cfsAppend(cfs) {
95
+ const configRoot = installer().configRoot + 'settings.conf';
96
+ const soContent = fs.readFileSync(configRoot, 'utf8');
97
+ const so = yaml.load(soContent);
98
+ const cfsContent = fs.readFileSync(cfs, 'utf8');
99
+ const cfsSteps = yaml.load(cfsContent);
100
+ const execSteps = so.sequence[1].exec;
101
+ for (const execStep of execSteps) {
102
+ if (execStep.includes('umount')) {
103
+ so.sequence[1].exec.pop(); // OK remove umount
104
+ /**
105
+ * insert cfsStep
106
+ */
107
+ for (const cfsStep of cfsSteps) {
108
+ so.sequence[1].exec.push(cfsStep);
109
+ }
110
+ so.sequence[1].exec.push('end-cfs'); // we will replace with umount
111
+ }
112
+ }
113
+ // ***
114
+ fs.writeFileSync(configRoot, yaml.dump(so), 'utf-8');
115
+ shx.sed('-i', 'end-cfs', 'umount', configRoot);
116
+ }
@@ -0,0 +1,76 @@
1
+ import { IDistro, IInstaller } from '../../interfaces/index.js';
2
+ export default class Fisherman {
3
+ distro: IDistro;
4
+ installer: IInstaller;
5
+ verbose: boolean;
6
+ constructor(distro: IDistro, installer: IInstaller, verbose?: boolean);
7
+ /**
8
+ *
9
+ * @param name
10
+ * @param isScript
11
+ */
12
+ buildCalamaresModule(name: string, isScript?: boolean, theme?: string): Promise<string>;
13
+ /**
14
+ *
15
+ * @param name
16
+ */
17
+ buildCalamaresPy(name: string): Promise<void>;
18
+ /**
19
+ *
20
+ * @param name
21
+ * @param replaces [['search','replace']]
22
+ */
23
+ buildModule(name: string, vendor?: string): Promise<void>;
24
+ /**
25
+ *
26
+ * @param name
27
+ */
28
+ contextualprocess(name: string): Promise<void>;
29
+ /**
30
+ * write settings
31
+ */
32
+ createCalamaresSettings(theme?: string, isClone?: boolean): Promise<void>;
33
+ /**
34
+ *
35
+ * @param name
36
+ */
37
+ shellprocess(name: string): Promise<void>;
38
+ /**
39
+ *
40
+ * @param name
41
+ */
42
+ helper(name: string): Promise<void>;
43
+ /**
44
+ *
45
+ * @param module
46
+ * @param type
47
+ * @param path
48
+ */
49
+ show(name: string, type: string, path: string): void;
50
+ /**
51
+ * ====================================================================================
52
+ * buildModule...
53
+ * ====================================================================================
54
+ */
55
+ /**
56
+ * buildModuleDracut
57
+ */
58
+ buildModuleDracut(initrd: string): Promise<void>;
59
+ buildModuleInitcpio(): Promise<void>;
60
+ /**
61
+ * buildModuleFinished
62
+ */
63
+ buildModuleFinished(): Promise<void>;
64
+ /**
65
+ * buildModulePackages
66
+ */
67
+ buildModulePackages(distro: IDistro, release?: boolean): Promise<void>;
68
+ /**
69
+ * buildModuleRemoveuser
70
+ */
71
+ buildModuleRemoveuser(username: string): Promise<void>;
72
+ /**
73
+ * buildModuleUnpackfs
74
+ */
75
+ buildModuleUnpackfs(): Promise<void>;
76
+ }