penguins-eggs 10.0.28 → 10.0.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 (361) hide show
  1. package/.oclif.manifest.json +1500 -2
  2. package/README.md +760 -0
  3. package/addons/README.md +0 -2
  4. package/addons/eggs/adapt/applications/eggs-adapt.desktop +1 -1
  5. package/addons/eggs/theme/livecd/isolinux.main.alpine.cfg +43 -0
  6. package/addons/eggs/theme/livecd/{isolinux.main.cfg → isolinux.main.original.cfg} +1 -1
  7. package/conf/distros/alpine/README.md +1 -1
  8. package/conf/distros/alpine/calamares/calamares-modules/bootloader-config/bootloader-config.sh +40 -0
  9. package/conf/distros/alpine/calamares/calamares-modules/bootloader-config/module.yml +9 -0
  10. package/conf/distros/alpine/calamares/calamares-modules/cleanup/cleanup.sh +13 -0
  11. package/conf/distros/alpine/calamares/calamares-modules/cleanup/module.yml +9 -0
  12. package/conf/distros/alpine/calamares/modules/bootloader.yml +57 -0
  13. package/conf/distros/alpine/calamares/modules/displaymanager.yml +23 -0
  14. package/conf/distros/alpine/calamares/modules/finished.yml +5 -0
  15. package/conf/distros/alpine/calamares/modules/fstab.yml +12 -0
  16. package/conf/distros/alpine/calamares/modules/locale.yml +98 -0
  17. package/conf/distros/alpine/calamares/modules/luksopenswaphookcfg.yml +5 -0
  18. package/conf/distros/alpine/calamares/modules/machineid.yml +17 -0
  19. package/conf/distros/alpine/calamares/modules/mount.yml +56 -0
  20. package/conf/distros/alpine/calamares/modules/packages.yml +6 -0
  21. package/conf/distros/alpine/calamares/modules/partition.yml +242 -0
  22. package/conf/distros/alpine/calamares/modules/removeuser.yml +15 -0
  23. package/conf/distros/alpine/calamares/modules/unpackfs.yml +6 -0
  24. package/conf/distros/alpine/calamares/modules/users.yml +18 -0
  25. package/conf/distros/alpine/calamares/modules/welcome.yml +19 -0
  26. package/conf/distros/alpine/calamares/settings.yml +57 -0
  27. package/conf/love.yaml +8 -0
  28. package/dist/classes/bleach.d.ts +32 -0
  29. package/dist/classes/bleach.js +136 -0
  30. package/dist/classes/cfs.d.ts +17 -0
  31. package/dist/classes/cfs.js +39 -0
  32. package/dist/classes/cli-autologin.d.ts +52 -0
  33. package/dist/classes/cli-autologin.js +230 -0
  34. package/dist/classes/compressors.d.ts +54 -0
  35. package/dist/classes/compressors.js +109 -0
  36. package/dist/classes/daddy.d.ts +26 -0
  37. package/dist/classes/daddy.js +161 -0
  38. package/dist/classes/distro.d.ts +36 -0
  39. package/dist/classes/distro.js +346 -0
  40. package/dist/classes/families/alpine.d.ts +55 -0
  41. package/dist/classes/families/alpine.js +163 -0
  42. package/dist/classes/families/archlinux.d.ts +61 -0
  43. package/dist/classes/families/archlinux.js +140 -0
  44. package/dist/classes/families/debian.d.ts +65 -0
  45. package/dist/classes/families/debian.js +138 -0
  46. package/dist/classes/families/fedora.d.ts +52 -0
  47. package/dist/classes/families/fedora.js +100 -0
  48. package/dist/classes/families/mockup.d.ts +60 -0
  49. package/dist/classes/families/mockup.js +79 -0
  50. package/dist/classes/families/opensuse.d.ts +52 -0
  51. package/dist/classes/families/opensuse.js +104 -0
  52. package/dist/classes/incubation/branding.d.ts +17 -0
  53. package/dist/classes/incubation/branding.js +89 -0
  54. package/dist/classes/incubation/distros/alpine.d.ts +32 -0
  55. package/dist/classes/incubation/distros/alpine.js +80 -0
  56. package/dist/classes/incubation/distros/bionic.d.ts +32 -0
  57. package/dist/classes/incubation/distros/bionic.js +83 -0
  58. package/dist/classes/incubation/distros/buster.d.ts +32 -0
  59. package/dist/classes/incubation/distros/buster.js +85 -0
  60. package/dist/classes/incubation/distros/jessie.d.ts +31 -0
  61. package/dist/classes/incubation/distros/jessie.js +44 -0
  62. package/dist/classes/incubation/distros/noble.d.ts +32 -0
  63. package/dist/classes/incubation/distros/noble.js +85 -0
  64. package/dist/classes/incubation/distros/rolling.d.ts +32 -0
  65. package/dist/classes/incubation/distros/rolling.js +82 -0
  66. package/dist/classes/incubation/fisherman-helper/displaymanager.d.ts +11 -0
  67. package/dist/classes/incubation/fisherman-helper/displaymanager.js +39 -0
  68. package/dist/classes/incubation/fisherman-helper/packages.d.ts +20 -0
  69. package/dist/classes/incubation/fisherman-helper/packages.js +72 -0
  70. package/dist/classes/incubation/fisherman-helper/settings.d.ts +15 -0
  71. package/dist/classes/incubation/fisherman-helper/settings.js +83 -0
  72. package/dist/classes/incubation/fisherman.d.ts +77 -0
  73. package/dist/classes/incubation/fisherman.js +251 -0
  74. package/dist/classes/incubation/incubator.d.ts +40 -0
  75. package/dist/classes/incubation/incubator.js +328 -0
  76. package/dist/classes/incubation/installer.d.ts +13 -0
  77. package/dist/classes/incubation/installer.js +64 -0
  78. package/dist/classes/keyboards.d.ts +50 -0
  79. package/dist/classes/keyboards.js +287 -0
  80. package/dist/classes/locales.d.ts +21 -0
  81. package/dist/classes/locales.js +80 -0
  82. package/dist/classes/n8.d.ts +18 -0
  83. package/dist/classes/n8.js +36 -0
  84. package/dist/classes/network.d.ts +37 -0
  85. package/dist/classes/network.js +98 -0
  86. package/dist/classes/ovary.d.ts +214 -0
  87. package/dist/classes/ovary.js +1872 -0
  88. package/dist/classes/pacman.d.ts +149 -0
  89. package/dist/classes/pacman.js +703 -0
  90. package/dist/classes/pve-live.d.ts +17 -0
  91. package/dist/classes/pve-live.js +52 -0
  92. package/dist/classes/pxe.d.ts +74 -0
  93. package/dist/classes/pxe.js +410 -0
  94. package/dist/classes/settings.d.ts +53 -0
  95. package/dist/classes/settings.js +185 -0
  96. package/dist/classes/sources_list.d.ts +28 -0
  97. package/dist/classes/sources_list.js +89 -0
  98. package/dist/classes/systemctl.d.ts +47 -0
  99. package/dist/classes/systemctl.js +86 -0
  100. package/dist/classes/tailor.d.ts +46 -0
  101. package/dist/classes/tailor.js +587 -0
  102. package/dist/classes/tools.d.ts +30 -0
  103. package/dist/classes/tools.js +54 -0
  104. package/dist/classes/users.d.ts +28 -0
  105. package/dist/classes/users.js +143 -0
  106. package/dist/classes/utils.d.ts +323 -0
  107. package/dist/classes/utils.js +951 -0
  108. package/dist/classes/xdg.d.ts +45 -0
  109. package/dist/classes/xdg.js +329 -0
  110. package/dist/classes/yolk.d.ts +33 -0
  111. package/dist/classes/yolk.js +114 -0
  112. package/dist/commands/adapt.d.ts +17 -0
  113. package/dist/commands/adapt.js +33 -0
  114. package/dist/commands/analyze.d.ts +26 -0
  115. package/dist/commands/analyze.js +95 -0
  116. package/dist/commands/calamares.d.ts +29 -0
  117. package/dist/commands/calamares.js +110 -0
  118. package/dist/commands/config.d.ts +35 -0
  119. package/dist/commands/config.js +192 -0
  120. package/dist/commands/cuckoo.d.ts +16 -0
  121. package/dist/commands/cuckoo.js +62 -0
  122. package/dist/commands/dad.d.ts +20 -0
  123. package/dist/commands/dad.js +46 -0
  124. package/dist/commands/export/deb.d.ts +19 -0
  125. package/dist/commands/export/deb.js +51 -0
  126. package/dist/commands/export/iso.d.ts +19 -0
  127. package/dist/commands/export/iso.js +55 -0
  128. package/dist/commands/install.d.ts +37 -0
  129. package/dist/commands/install.js +92 -0
  130. package/dist/commands/kill.d.ts +24 -0
  131. package/dist/commands/kill.js +50 -0
  132. package/dist/commands/love.d.ts +20 -0
  133. package/dist/commands/love.js +55 -0
  134. package/dist/commands/mom.d.ts +16 -0
  135. package/dist/commands/mom.js +30 -0
  136. package/dist/commands/produce.d.ts +34 -0
  137. package/dist/commands/produce.js +196 -0
  138. package/dist/commands/status.d.ts +23 -0
  139. package/dist/commands/status.js +31 -0
  140. package/dist/commands/syncfrom.d.ts +45 -0
  141. package/dist/commands/syncfrom.js +152 -0
  142. package/dist/commands/syncto.d.ts +40 -0
  143. package/dist/commands/syncto.js +175 -0
  144. package/dist/commands/tools/clean.d.ts +18 -0
  145. package/dist/commands/tools/clean.js +37 -0
  146. package/dist/commands/tools/ppa.d.ts +26 -0
  147. package/dist/commands/tools/ppa.js +138 -0
  148. package/dist/commands/tools/skel.d.ts +18 -0
  149. package/dist/commands/tools/skel.js +44 -0
  150. package/dist/commands/tools/stat.d.ts +31 -0
  151. package/dist/commands/tools/stat.js +70 -0
  152. package/dist/commands/tools/yolk.d.ts +24 -0
  153. package/dist/commands/tools/yolk.js +45 -0
  154. package/dist/commands/update.d.ts +47 -0
  155. package/dist/commands/update.js +140 -0
  156. package/dist/commands/wardrobe/get.d.ts +23 -0
  157. package/dist/commands/wardrobe/get.js +52 -0
  158. package/dist/commands/wardrobe/list.d.ts +24 -0
  159. package/dist/commands/wardrobe/list.js +125 -0
  160. package/dist/commands/wardrobe/show.d.ts +25 -0
  161. package/dist/commands/wardrobe/show.js +97 -0
  162. package/dist/commands/wardrobe/wear.d.ts +26 -0
  163. package/dist/commands/wardrobe/wear.js +81 -0
  164. package/dist/components/finished.d.ts +15 -0
  165. package/dist/components/finished.js +55 -0
  166. package/dist/components/information.d.ts +8 -0
  167. package/dist/components/information.js +153 -0
  168. package/dist/components/install.d.ts +15 -0
  169. package/dist/components/install.js +56 -0
  170. package/dist/components/keyboard.d.ts +16 -0
  171. package/dist/components/keyboard.js +54 -0
  172. package/dist/components/location.d.ts +16 -0
  173. package/dist/components/location.js +59 -0
  174. package/dist/components/network.d.ts +19 -0
  175. package/dist/components/network.js +65 -0
  176. package/dist/components/partitions.d.ts +16 -0
  177. package/dist/components/partitions.js +73 -0
  178. package/dist/components/steps.d.ts +13 -0
  179. package/dist/components/steps.js +148 -0
  180. package/dist/components/summary.d.ts +24 -0
  181. package/dist/components/summary.js +82 -0
  182. package/dist/components/title.d.ts +11 -0
  183. package/dist/components/title.js +35 -0
  184. package/dist/components/users.d.ts +24 -0
  185. package/dist/components/users.js +80 -0
  186. package/dist/components/welcome.d.ts +13 -0
  187. package/dist/components/welcome.js +63 -0
  188. package/dist/index.d.ts +8 -0
  189. package/dist/index.js +8 -0
  190. package/dist/interfaces/i-addons.d.ts +12 -0
  191. package/dist/interfaces/i-addons.js +8 -0
  192. package/dist/interfaces/i-analyze.d.ts +17 -0
  193. package/dist/interfaces/i-analyze.js +17 -0
  194. package/dist/interfaces/i-app.d.ts +14 -0
  195. package/dist/interfaces/i-app.js +8 -0
  196. package/dist/interfaces/i-branding.d.ts +36 -0
  197. package/dist/interfaces/i-branding.js +8 -0
  198. package/dist/interfaces/i-calamares-partition.d.ts +18 -0
  199. package/dist/interfaces/i-calamares-partition.js +8 -0
  200. package/dist/interfaces/i-config-tools.d.ts +18 -0
  201. package/dist/interfaces/i-config-tools.js +8 -0
  202. package/dist/interfaces/i-devices.d.ts +20 -0
  203. package/dist/interfaces/i-devices.js +8 -0
  204. package/dist/interfaces/i-distro.d.ts +27 -0
  205. package/dist/interfaces/i-distro.js +8 -0
  206. package/dist/interfaces/i-drive-list.d.ts +33 -0
  207. package/dist/interfaces/i-drive-list.js +8 -0
  208. package/dist/interfaces/i-eggs-config.d.ts +32 -0
  209. package/dist/interfaces/i-eggs-config.js +8 -0
  210. package/dist/interfaces/i-excludes.d.ts +14 -0
  211. package/dist/interfaces/i-excludes.js +8 -0
  212. package/dist/interfaces/i-exec.d.ts +11 -0
  213. package/dist/interfaces/i-exec.js +8 -0
  214. package/dist/interfaces/i-initrd.d.ts +13 -0
  215. package/dist/interfaces/i-initrd.js +8 -0
  216. package/dist/interfaces/i-install.d.ts +16 -0
  217. package/dist/interfaces/i-install.js +8 -0
  218. package/dist/interfaces/i-installer.d.ts +17 -0
  219. package/dist/interfaces/i-installer.js +8 -0
  220. package/dist/interfaces/i-krill-config.d.ts +33 -0
  221. package/dist/interfaces/i-krill-config.js +8 -0
  222. package/dist/interfaces/i-krill.d.ts +42 -0
  223. package/dist/interfaces/i-krill.js +8 -0
  224. package/dist/interfaces/i-materia.d.ts +41 -0
  225. package/dist/interfaces/i-materia.js +8 -0
  226. package/dist/interfaces/i-net.d.ts +16 -0
  227. package/dist/interfaces/i-net.js +8 -0
  228. package/dist/interfaces/i-packages.d.ts +16 -0
  229. package/dist/interfaces/i-packages.js +8 -0
  230. package/dist/interfaces/i-partitions.d.ts +16 -0
  231. package/dist/interfaces/i-partitions.js +8 -0
  232. package/dist/interfaces/i-pxe.d.ts +45 -0
  233. package/dist/interfaces/i-pxe.js +1 -0
  234. package/dist/interfaces/i-remix.d.ts +21 -0
  235. package/dist/interfaces/i-remix.js +8 -0
  236. package/dist/interfaces/i-settings.d.ts +33 -0
  237. package/dist/interfaces/i-settings.js +8 -0
  238. package/dist/interfaces/i-user.d.ts +14 -0
  239. package/dist/interfaces/i-user.js +8 -0
  240. package/dist/interfaces/i-workdir.d.ts +14 -0
  241. package/dist/interfaces/i-workdir.js +8 -0
  242. package/dist/interfaces/i-xkb-model.d.ts +24 -0
  243. package/dist/interfaces/i-xkb-model.js +8 -0
  244. package/dist/interfaces/index.d.ts +25 -0
  245. package/dist/interfaces/index.js +8 -0
  246. package/dist/krill/modules/add-user.d.ts +20 -0
  247. package/dist/krill/modules/add-user.js +49 -0
  248. package/dist/krill/modules/bootloader-config-alpine.d.ts +14 -0
  249. package/dist/krill/modules/bootloader-config-alpine.js +37 -0
  250. package/dist/krill/modules/bootloader-config-arch.d.ts +14 -0
  251. package/dist/krill/modules/bootloader-config-arch.js +37 -0
  252. package/dist/krill/modules/bootloader-config-debian.d.ts +10 -0
  253. package/dist/krill/modules/bootloader-config-debian.js +50 -0
  254. package/dist/krill/modules/bootloader-config.d.ts +10 -0
  255. package/dist/krill/modules/bootloader-config.js +25 -0
  256. package/dist/krill/modules/bootloader.d.ts +14 -0
  257. package/dist/krill/modules/bootloader.js +30 -0
  258. package/dist/krill/modules/change-password.d.ts +15 -0
  259. package/dist/krill/modules/change-password.js +18 -0
  260. package/dist/krill/modules/del-live-user.d.ts +14 -0
  261. package/dist/krill/modules/del-live-user.js +38 -0
  262. package/dist/krill/modules/fstab.d.ts +14 -0
  263. package/dist/krill/modules/fstab.js +121 -0
  264. package/dist/krill/modules/grubcfg.d.ts +17 -0
  265. package/dist/krill/modules/grubcfg.js +29 -0
  266. package/dist/krill/modules/hostname.d.ts +13 -0
  267. package/dist/krill/modules/hostname.js +50 -0
  268. package/dist/krill/modules/initramfs-cfg.d.ts +14 -0
  269. package/dist/krill/modules/initramfs-cfg.js +25 -0
  270. package/dist/krill/modules/initramfs.d.ts +13 -0
  271. package/dist/krill/modules/initramfs.js +48 -0
  272. package/dist/krill/modules/locale-cfg.d.ts +10 -0
  273. package/dist/krill/modules/locale-cfg.js +61 -0
  274. package/dist/krill/modules/locale.d.ts +13 -0
  275. package/dist/krill/modules/locale.js +48 -0
  276. package/dist/krill/modules/m-keyboard.d.ts +14 -0
  277. package/dist/krill/modules/m-keyboard.js +79 -0
  278. package/dist/krill/modules/m-timezone.d.ts +14 -0
  279. package/dist/krill/modules/m-timezone.js +22 -0
  280. package/dist/krill/modules/machine-id.d.ts +15 -0
  281. package/dist/krill/modules/machine-id.js +30 -0
  282. package/dist/krill/modules/mkfs.d.ts +13 -0
  283. package/dist/krill/modules/mkfs.js +48 -0
  284. package/dist/krill/modules/mount-fs.d.ts +17 -0
  285. package/dist/krill/modules/mount-fs.js +60 -0
  286. package/dist/krill/modules/mount-vfs.d.ts +17 -0
  287. package/dist/krill/modules/mount-vfs.js +40 -0
  288. package/dist/krill/modules/network-cfg.d.ts +19 -0
  289. package/dist/krill/modules/network-cfg.js +64 -0
  290. package/dist/krill/modules/packages.d.ts +14 -0
  291. package/dist/krill/modules/packages.js +111 -0
  292. package/dist/krill/modules/partition.d.ts +20 -0
  293. package/dist/krill/modules/partition.js +324 -0
  294. package/dist/krill/modules/remove-installer-link.d.ts +13 -0
  295. package/dist/krill/modules/remove-installer-link.js +35 -0
  296. package/dist/krill/modules/umount.d.ts +14 -0
  297. package/dist/krill/modules/umount.js +27 -0
  298. package/dist/krill/modules/unpackfs.d.ts +13 -0
  299. package/dist/krill/modules/unpackfs.js +19 -0
  300. package/dist/krill/prepare.d.ts +78 -0
  301. package/dist/krill/prepare.js +626 -0
  302. package/dist/krill/sequence.d.ts +159 -0
  303. package/dist/krill/sequence.js +687 -0
  304. package/dist/lib/get_address.d.ts +8 -0
  305. package/dist/lib/get_address.js +23 -0
  306. package/dist/lib/get_dns.d.ts +8 -0
  307. package/dist/lib/get_dns.js +23 -0
  308. package/dist/lib/get_domain.d.ts +8 -0
  309. package/dist/lib/get_domain.js +23 -0
  310. package/dist/lib/get_gateway.d.ts +8 -0
  311. package/dist/lib/get_gateway.js +23 -0
  312. package/dist/lib/get_hostname.d.ts +8 -0
  313. package/dist/lib/get_hostname.js +23 -0
  314. package/dist/lib/get_netmask.d.ts +8 -0
  315. package/dist/lib/get_netmask.js +23 -0
  316. package/dist/lib/get_password.d.ts +8 -0
  317. package/dist/lib/get_password.js +36 -0
  318. package/dist/lib/get_userfullname.d.ts +8 -0
  319. package/dist/lib/get_userfullname.js +23 -0
  320. package/dist/lib/get_username.d.ts +8 -0
  321. package/dist/lib/get_username.js +23 -0
  322. package/dist/lib/kill_me_softly.d.ts +11 -0
  323. package/dist/lib/kill_me_softly.js +61 -0
  324. package/dist/lib/select_address_type.d.ts +8 -0
  325. package/dist/lib/select_address_type.js +24 -0
  326. package/dist/lib/select_filesystem_type.d.ts +8 -0
  327. package/dist/lib/select_filesystem_type.js +45 -0
  328. package/dist/lib/select_installation_device.d.ts +8 -0
  329. package/dist/lib/select_installation_device.js +30 -0
  330. package/dist/lib/select_installation_mode.d.ts +8 -0
  331. package/dist/lib/select_installation_mode.js +24 -0
  332. package/dist/lib/select_interface.d.ts +8 -0
  333. package/dist/lib/select_interface.js +24 -0
  334. package/dist/lib/select_keyboard_layout.d.ts +11 -0
  335. package/dist/lib/select_keyboard_layout.js +36 -0
  336. package/dist/lib/select_keyboard_model.d.ts +11 -0
  337. package/dist/lib/select_keyboard_model.js +34 -0
  338. package/dist/lib/select_keyboard_option.d.ts +11 -0
  339. package/dist/lib/select_keyboard_option.js +34 -0
  340. package/dist/lib/select_keyboard_variant.d.ts +11 -0
  341. package/dist/lib/select_keyboard_variant.js +35 -0
  342. package/dist/lib/select_languages.d.ts +8 -0
  343. package/dist/lib/select_languages.js +28 -0
  344. package/dist/lib/select_regions.d.ts +8 -0
  345. package/dist/lib/select_regions.js +24 -0
  346. package/dist/lib/select_user_swap_choice.d.ts +8 -0
  347. package/dist/lib/select_user_swap_choice.js +34 -0
  348. package/dist/lib/select_zones.d.ts +8 -0
  349. package/dist/lib/select_zones.js +518 -0
  350. package/dist/lib/utils.d.ts +34 -0
  351. package/dist/lib/utils.js +79 -0
  352. package/manpages/doc/man/eggs.1.gz +0 -0
  353. package/manpages/doc/man/eggs.html +21 -5
  354. package/mkinitfs/README.md +9 -0
  355. package/package.json +4 -4
  356. package/scripts/_eggs +9 -2
  357. package/scripts/eggs.bash +2 -1
  358. package/addons/eggs/ichoice/applications/eggs-ichoice.desktop +0 -23
  359. package/addons/eggs/ichoice/bin/eggs-ichoice.sh +0 -44
  360. package/scripts/love +0 -25
  361. /package/{addons/eggs/adapt/bin/adapt → scripts/adapt.sh} +0 -0
@@ -0,0 +1,242 @@
1
+ # # Alpine 3.18
2
+ # partition.yaml
3
+ ---
4
+ # This setting specifies the mount point of the EFI system partition. Some
5
+ # distributions (Fedora, Debian, Manjaro, etc.) use /boot/efi, others (KaOS,
6
+ # etc.) use just /boot.
7
+ efiSystemPartition: "/boot/efi"
8
+
9
+ # This optional setting specifies the size of the EFI system partition.
10
+ # If nothing is specified, the default size of 300MiB will be used.
11
+ # efiSystemPartitionSize: 300M
12
+
13
+ # In autogenerated partitioning, allow the user to select a swap size?
14
+ # If there is exactly one choice, no UI is presented, and the user
15
+ # cannot make a choice -- this setting is used. If there is more than
16
+ # one choice, a UI is presented.
17
+ #
18
+ # Legacy settings *neverCreateSwap* and *ensureSuspendToDisk* correspond
19
+ # to values of *userSwapChoices* as follows:
20
+ # - *neverCreateSwap* is true, means [none]
21
+ # - *neverCreateSwap* is false, *ensureSuspendToDisk* is false, [small]
22
+ # - *neverCreateSwap* is false, *ensureSuspendToDisk* is true, [suspend]
23
+ #
24
+ # Autogenerated swap sizes are as follows:
25
+ # - *suspend*: Swap is always at least total memory size,
26
+ # and up to 4GiB RAM follows the rule-of-thumb 2 * memory;
27
+ # from 4GiB to 8 GiB it stays steady at 8GiB, and over 8 GiB memory
28
+ # swap is the size of main memory.
29
+ # - *small*: Follows the rules above, but Swap is at
30
+ # most 8GiB, and no more than 10% of available disk.
31
+ # In both cases, a fudge factor (usually 10% extra) is applied so that there
32
+ # is some space for administrative overhead (e.g. 8 GiB swap will allocate
33
+ # 8.8GiB on disk in the end).
34
+ #
35
+ # If *file* is enabled here, make sure to have the *fstab* module
36
+ # as well (later in the exec phase) so that the swap file is
37
+ # actually created.
38
+ userSwapChoices:
39
+ - none # Create no swap, use no swap
40
+ - small # Up to 4GB
41
+ - suspend # At least main memory size
42
+ # - reuse # Re-use existing swap, but don't create any (unsupported right now)
43
+ - file # To swap file instead of partition
44
+
45
+ # This optional setting specifies the name of the swap partition (see
46
+ # PARTLABEL; gpt only; requires KPMCore >= 4.2.0).
47
+ # If nothing is specified, the partition name is left unset.
48
+ # swapPartitionName: swap
49
+
50
+ # LEGACY SETTINGS (these will generate a warning)
51
+ # ensureSuspendToDisk: true
52
+ # neverCreateSwap: false
53
+
54
+ # Correctly draw nested (e.g. logical) partitions as such.
55
+ drawNestedPartitions: false
56
+
57
+ # Show/hide partition labels on manual partitioning page.
58
+ alwaysShowPartitionLabels: true
59
+
60
+ # Allow manual partitioning.
61
+ #
62
+ # When set to false, this option hides the "Manual partitioning" button,
63
+ # limiting the user's choice to "Erase", "Replace" or "Alongside".
64
+ # This can be useful when using a custom partition layout we don't want
65
+ # the user to modify.
66
+ #
67
+ # If nothing is specified, manual partitioning is enabled.
68
+ #allowManualPartitioning: true
69
+
70
+ # Initial selection on the Choice page
71
+ #
72
+ # There are four radio buttons (in principle: erase, replace, alongside, manual),
73
+ # and you can pick which of them, if any, is initially selected. For most
74
+ # installers, "none" is the right choice: it makes the user pick something specific,
75
+ # rather than accidentally being able to click past an important choice (in particular,
76
+ # "erase" is a dangerous choice).
77
+ #
78
+ # The default is "none"
79
+ #
80
+ initialPartitioningChoice: none
81
+ #
82
+ # Similarly, some of the installation choices may offer a choice of swap;
83
+ # the available choices depend on *userSwapChoices*, above, and this
84
+ # setting can be used to pick a specific one.
85
+ #
86
+ # The default is "none" (no swap) if that is one of the enabled options, otherwise
87
+ # one of the items from the options.
88
+ initialSwapChoice: none
89
+
90
+ # Default partition table type, used when a "erase" disk is made.
91
+ #
92
+ # When erasing a disk, a new partition table is created on disk.
93
+ # In other cases, e.g. Replace and Alongside, as well as when using
94
+ # manual partitioning, this partition table exists already on disk
95
+ # and it is left unmodified.
96
+ #
97
+ # Suggested values: gpt, msdos
98
+ # If nothing is specified, Calamares defaults to "gpt" if system is
99
+ # efi or "msdos".
100
+ #
101
+ # Names are case-sensitive and defined by KPMCore.
102
+ # defaultPartitionTableType: msdos
103
+
104
+ # Requirement for partition table type
105
+ #
106
+ # Restrict the installation on disks that match the type of partition
107
+ # tables that are specified.
108
+ #
109
+ # Possible values: msdos, gpt. Names are case-sensitive and defined by KPMCore.
110
+ #
111
+ # If nothing is specified, Calamares defaults to both "msdos" and "gpt".
112
+ #
113
+ # requiredPartitionTableType: gpt
114
+ # requiredPartitionTableType:
115
+ # - msdos
116
+ # - gpt
117
+
118
+ # Default filesystem type, used when a "new" partition is made.
119
+ #
120
+ # When replacing a partition, the existing filesystem inside the
121
+ # partition is retained. In other cases, e.g. Erase and Alongside,
122
+ # as well as when using manual partitioning and creating a new
123
+ # partition, this filesystem type is pre-selected. Note that
124
+ # editing a partition in manual-creation mode will not automatically
125
+ # change the filesystem type to this default value -- it is not
126
+ # creating a new partition.
127
+ #
128
+ # Suggested values: ext2, ext3, ext4, reiser, xfs, jfs, btrfs
129
+ # If nothing is specified, Calamares defaults to "ext4".
130
+ #
131
+ # Names are case-sensitive and defined by KPMCore.
132
+ defaultFileSystemType: "ext4"
133
+
134
+ # Selectable filesystem type, used when "erase" is done.
135
+ #
136
+ # When erasing the disk, the *defaultFileSystemType* is used (see
137
+ # above), but it is also possible to give users a choice:
138
+ # list suitable filesystems here. A drop-down is provided
139
+ # to pick which is the filesystems will be used.
140
+ #
141
+ # The value *defaultFileSystemType* is added to this list (with a warning)
142
+ # if not present; the default pick is the *defaultFileSystemType*.
143
+ #
144
+ # If not specified at all, uses *defaultFileSystemType* without a
145
+ # warning (this matches traditional no-choice-available behavior best).
146
+ availableFileSystemTypes: ["ext4"]
147
+
148
+ # Show/hide LUKS related functionality in automated partitioning modes.
149
+ # Disable this if you choose not to deploy early unlocking support in GRUB2
150
+ # and/or your distribution's initramfs solution.
151
+ #
152
+ # BIG FAT WARNING:
153
+ #
154
+ # This option is unsupported, as it cuts out a crucial security feature.
155
+ # Disabling LUKS and shipping Calamares without a correctly configured GRUB2
156
+ # and initramfs is considered suboptimal use of the Calamares software. The
157
+ # Calamares team will not provide user support for any potential issue that
158
+ # may arise as a consequence of setting this option to false.
159
+ # It is strongly recommended that system integrators put in the work to support
160
+ # LUKS unlocking support in GRUB2 and initramfs/dracut/mkinitcpio/etc.
161
+ # For more information on setting up GRUB2 for Calamares with LUKS, see
162
+ # https://github.com/calamares/calamares/wiki/Deploy-LUKS
163
+ #
164
+ # If nothing is specified, LUKS is enabled in automated modes.
165
+ #enableLuksAutomatedPartitioning: true
166
+
167
+ # Partition layout.
168
+ #
169
+ # This optional setting specifies a custom partition layout.
170
+ #
171
+ # If nothing is specified, the default partition layout is a single partition
172
+ # for root that uses 100% of the space and uses the filesystem defined by
173
+ # defaultFileSystemType.
174
+ #
175
+ # Note: the EFI system partition is prepend automatically to the layout if
176
+ # needed; the swap partition is appended to the layout if enabled (small of
177
+ # suspend).
178
+ #
179
+ # Otherwise, the partition layout is defined as follow:
180
+ #
181
+ # partitionLayout:
182
+ # - name: "rootfs"
183
+ # type: "4f68bce3-e8cd-4db1-96e7-fbcaf984b709"
184
+ # filesystem: "ext4"
185
+ # mountPoint: "/"
186
+ # size: 20%
187
+ # minSize: 500M
188
+ # maxSize: 10G
189
+ # attributes: 0xffff000000000003
190
+ # - name: "home"
191
+ # type = "933ac7e1-2eb4-4f13-b844-0e14e2aef915"
192
+ # filesystem: "ext4"
193
+ # mountPoint: "/home"
194
+ # size: 3G
195
+ # minSize: 1.5G
196
+ # features:
197
+ # 64bit: false
198
+ # casefold: true
199
+ # - name: "data"
200
+ # filesystem: "fat32"
201
+ # mountPoint: "/data"
202
+ # features:
203
+ # sector-size: 4096
204
+ # sectors-per-cluster: 128
205
+ # size: 100%
206
+ #
207
+ # There can be any number of partitions, each entry having the following attributes:
208
+ # - name: filesystem label
209
+ # and
210
+ # partition name (gpt only; since KPMCore 4.2.0)
211
+ # - uuid: partition uuid (optional parameter; gpt only; requires KPMCore >= 4.2.0)
212
+ # - type: partition type (optional parameter; gpt only; requires KPMCore >= 4.2.0)
213
+ # - attributes: partition attributes (optional parameter; gpt only; requires KPMCore >= 4.2.0)
214
+ # - filesystem: filesystem type (optional parameter)
215
+ # - if not set at all, treat as "unformatted"
216
+ # - if "unformatted", no filesystem will be created
217
+ # - if "unknown" (or an unknown FS name, like "elephant") then the
218
+ # default filesystem type, or the user's choice, will be applied instead
219
+ # of "unknown" (e.g. the user might pick ext4, or xfs).
220
+ # - mountPoint: partition mount point (optional parameter; not mounted if unset)
221
+ # - size: partition size in bytes (append 'K', 'M' or 'G' for KiB, MiB or GiB)
222
+ # or
223
+ # % of the available drive space if a '%' is appended to the value
224
+ # - minSize: minimum partition size (optional parameter)
225
+ # - maxSize: maximum partition size (optional parameter)
226
+ # - features: filesystem features (optional parameter; requires KPMCore >= 4.2.0)
227
+ # name: boolean or integer or string
228
+
229
+ # Checking for available storage
230
+ #
231
+ # This overlaps with the setting of the same name in the welcome module's
232
+ # requirements section. If nothing is set by the welcome module, this
233
+ # value is used instead. It is still a problem if there is no required
234
+ # size set at all, and the replace and resize options will not be offered
235
+ # if no required size is set.
236
+ #
237
+ # The value is in Gibibytes (GiB).
238
+ #
239
+ # BIG FAT WARNING: except for OEM-phase-0 use, you should be using
240
+ # the welcome module, **and** configure this value in
241
+ # `welcome.conf`, not here.
242
+ requiredStorage: 6.0
@@ -0,0 +1,15 @@
1
+ # # Alpine 3.18
2
+ # removeuser
3
+ # SPDX-FileCopyrightText: no
4
+ # SPDX-License-Identifier: CC0-1.0
5
+ #
6
+ # Removes a single user (with userdel) from the system.
7
+ # This is typically used in OEM setups or if the live user
8
+ # spills into the target system.
9
+ #
10
+ # The module never fails; if userdel fails, this is logged
11
+ # but the module still reports success and installation / setup
12
+ # continues as normal.
13
+ ---
14
+ # Username in the target system to be removed.
15
+ username: {{username}}
@@ -0,0 +1,6 @@
1
+ # # Alpine 3.18
2
+ ---
3
+ unpack:
4
+ - source: {{source}}
5
+ sourcefs: "squashfs"
6
+ destination: ""
@@ -0,0 +1,18 @@
1
+ ---
2
+ userGroup: users
3
+ defaultGroups:
4
+ - cdrom
5
+ - floppy
6
+ - sudo
7
+ - audio
8
+ - dip
9
+ - video
10
+ - plugdev
11
+ - netdev
12
+ - lpadmin
13
+ - scanner
14
+ - bluetooth
15
+ autologinGroup: autologin
16
+ sudoersGroup: sudo
17
+ setRootPassword: true
18
+ doReusePassword: false
@@ -0,0 +1,19 @@
1
+ # Alpine 3.18
2
+ # welcome
3
+ ---
4
+ showSupportUrl: true
5
+ showKnownIssuesUrl: true
6
+ showReleaseNotesUrl: true
7
+
8
+ requirements:
9
+ requiredStorage: 10
10
+ requiredRam: 1.0
11
+ check:
12
+ - storage
13
+ - ram
14
+ - power
15
+ - root
16
+ required:
17
+ - storage
18
+ - ram
19
+ - root
@@ -0,0 +1,57 @@
1
+ # Alpine 3.18
2
+ ---
3
+ # "local" is LIBDIR/calamares/modules with settings in SHARE/calamares/modules
4
+ modules-search: [ local, /usr/lib/calamares/modules ]
5
+
6
+ oem-setup: false
7
+ disable-cancel: false
8
+ disable-cancel-during-exec: false
9
+ quit-at-end: false
10
+
11
+ instances:
12
+ - id: cleanup
13
+ module: shellprocess
14
+ config: shellprocess_cleanup.conf
15
+
16
+ sequence:
17
+ # Phase 1 - prepare.
18
+ - show:
19
+ - welcome
20
+ - locale
21
+ - keyboard
22
+ - partition
23
+ - users
24
+ - summary
25
+
26
+ # Phase 2 - install.
27
+ - exec:
28
+ - partition
29
+ - mount
30
+ - unpackfs
31
+ - machineid
32
+ - fstab
33
+ - locale
34
+ - keyboard
35
+ - users
36
+ - displaymanager
37
+ - networkcfg
38
+ - hwclock
39
+ - services-openrc
40
+ - bootloader-config
41
+ - grubcfg
42
+ - bootloader
43
+ - packages
44
+ - luksbootkeyfile
45
+ - plymouthcfg
46
+ - mkinitfs
47
+ - removeuser
48
+ - umount
49
+
50
+ # Phase 3 - postinstall.
51
+ - show:
52
+ - finished
53
+
54
+ # branding
55
+ branding: {{branding}}
56
+ prompt-install: false
57
+ dont-chroot: false
package/conf/love.yaml ADDED
@@ -0,0 +1,8 @@
1
+ # Penguins' eggs
2
+ # love.yaml
3
+ ---
4
+ - sudo eggs kill
5
+ - sudo eggs dad --default
6
+ - sudo eggs tools clean
7
+ - sudo eggs produce --pendrive --addons adapt
8
+
@@ -0,0 +1,32 @@
1
+ /**
2
+ * ./src/classes/bleach.ts
3
+ * penguins-eggs v.10.0.0 / ecmascript 2020
4
+ * author: Piero Proietti
5
+ * email: piero.proietti@gmail.com
6
+ * license: MIT
7
+ */
8
+ /**
9
+ * Bleach:
10
+ */
11
+ export default class Bleach {
12
+ /**
13
+ * clean
14
+ * @param verbose
15
+ */
16
+ clean(verbose?: boolean): Promise<void>;
17
+ /**
18
+ * cleanHistory
19
+ * @param verbose
20
+ */
21
+ private cleanHistory;
22
+ /**
23
+ * cleanJournal
24
+ * @param verbose
25
+ */
26
+ private cleanJournal;
27
+ /**
28
+ * cleanSystemCache
29
+ * @param verbose
30
+ */
31
+ private cleanSystemCache;
32
+ }
@@ -0,0 +1,136 @@
1
+ /**
2
+ * ./src/classes/bleach.ts
3
+ * penguins-eggs v.10.0.0 / ecmascript 2020
4
+ * author: Piero Proietti
5
+ * email: piero.proietti@gmail.com
6
+ * license: MIT
7
+ */
8
+ import 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
+ switch (distro.familyId) {
29
+ case 'debian': {
30
+ await exec('apt-get clean', echo);
31
+ await exec('apt-get autoclean', echo);
32
+ const lockFile = '/var/lib/apt/lists/lock';
33
+ await exec(`rm ${lockFile} -rf`, echo);
34
+ break;
35
+ }
36
+ case 'archlinux': {
37
+ await exec('pacman -Scc', Utils.setEcho(true));
38
+ break;
39
+ }
40
+ case 'alpine': {
41
+ await exec('apk cache clean', echo);
42
+ await exec('apk cache purge', echo);
43
+ break;
44
+ }
45
+ case 'suse': {
46
+ await exec(`zypper clean`, echo);
47
+ break;
48
+ }
49
+ // No default
50
+ }
51
+ await this.cleanHistory(verbose);
52
+ await this.cleanJournal(verbose);
53
+ await this.cleanSystemCache(verbose);
54
+ }
55
+ /**
56
+ * cleanHistory
57
+ * @param verbose
58
+ */
59
+ async cleanHistory(verbose = false) {
60
+ if (verbose) {
61
+ Utils.warning('cleaning bash history');
62
+ }
63
+ const dest = '/root/.bash_history';
64
+ if (fs.existsSync(dest)) {
65
+ await rm(dest, verbose);
66
+ }
67
+ }
68
+ /**
69
+ * cleanJournal
70
+ * @param verbose
71
+ */
72
+ async cleanJournal(verbose = false) {
73
+ let echo = { capture: false, echo: false, ignore: true };
74
+ if (verbose) {
75
+ echo = { capture: false, echo: true, ignore: true };
76
+ Utils.warning('cleaning journald');
77
+ }
78
+ if (Utils.isSystemd()) {
79
+ try {
80
+ await exec('journalctl --rotate', echo);
81
+ await exec('journalctl --vacuum-time=1s', echo);
82
+ }
83
+ catch (error) {
84
+ Utils.error(error);
85
+ }
86
+ }
87
+ else {
88
+ // Truncate logs, remove archived logs.
89
+ await exec('find /var/log -name "*gz" -print0 | xargs -0r rm -f', echo);
90
+ await exec('find /var/log/ -type f -exec truncate -s 0 {} \\;', echo);
91
+ }
92
+ }
93
+ /**
94
+ * cleanSystemCache
95
+ * @param verbose
96
+ */
97
+ async cleanSystemCache(verbose = false) {
98
+ let echo = { capture: false, echo: false, ignore: true };
99
+ if (verbose) {
100
+ echo = { capture: false, echo: true, ignore: true };
101
+ Utils.warning('cleaning system cache');
102
+ }
103
+ // Clear PageCache only.
104
+ await exec('sync; echo 1 > /proc/sys/vm/drop_caches', echo);
105
+ // Clear dentries and inodes.
106
+ await exec('sync; echo 2 > /proc/sys/vm/drop_caches', echo);
107
+ // Clear PageCache, dentries and inodes.
108
+ await exec('sync; echo 3 > /proc/sys/vm/drop_caches', echo);
109
+ }
110
+ }
111
+ /**
112
+ *
113
+ * @param dest
114
+ */
115
+ async function rm(dest = '', verbose = false) {
116
+ let echo = { capture: false, echo: false, ignore: true };
117
+ if (verbose) {
118
+ echo = { capture: false, echo: true, ignore: true };
119
+ }
120
+ if (fs.existsSync(dest)) {
121
+ await exec(`rm ${dest} -rf`, echo);
122
+ }
123
+ else {
124
+ console.log(`non esiste ${dest}`);
125
+ }
126
+ }
127
+ async function rmdir(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
+ const result = fs.readdirSync(dest);
133
+ if (result.length > 0) {
134
+ await exec(`rm ${dest} -rf`, echo);
135
+ }
136
+ }
@@ -0,0 +1,17 @@
1
+ /**
2
+ * ./src/classes/families/cfs.ts (custom final steps)
3
+ * penguins-eggs v.10.0.0 / ecmascript 2020
4
+ * author: Piero Proietti
5
+ * email: piero.proietti@gmail.com
6
+ * license: MIT
7
+ */
8
+ /**
9
+ * cfs
10
+ */
11
+ export default class CFS {
12
+ /**
13
+ * steps
14
+ * @returns
15
+ */
16
+ steps(): Promise<string[]>;
17
+ }
@@ -0,0 +1,39 @@
1
+ /**
2
+ * ./src/classes/families/cfs.ts (custom final steps)
3
+ * penguins-eggs v.10.0.0 / ecmascript 2020
4
+ * author: Piero Proietti
5
+ * email: piero.proietti@gmail.com
6
+ * license: MIT
7
+ */
8
+ import yaml from 'js-yaml';
9
+ import fs from 'node:fs';
10
+ import Pacman from './pacman.js';
11
+ /**
12
+ * cfs
13
+ */
14
+ export default class CFS {
15
+ /**
16
+ * steps
17
+ * @returns
18
+ */
19
+ async steps() {
20
+ const cfs = [];
21
+ let configRoot = '/etc/penguins-eggs.d/krill/';
22
+ if (Pacman.calamaresExists()) {
23
+ configRoot = '/etc/calamares/';
24
+ }
25
+ // solo se esiste settings.conf CALAMARES
26
+ if (fs.existsSync(`${configRoot}settings.conf`)) {
27
+ const settingsVar = fs.readFileSync(`${configRoot}settings.conf`, 'utf8');
28
+ const settingsYaml = yaml.load(settingsVar);
29
+ const execSequence = settingsYaml.sequence[1];
30
+ const steps = execSequence.exec;
31
+ for (const step of steps) {
32
+ if (step.includes('cfs-')) {
33
+ cfs.push(step);
34
+ }
35
+ }
36
+ }
37
+ return cfs;
38
+ }
39
+ }
@@ -0,0 +1,52 @@
1
+ /**
2
+ * ./src/lib/cli-autologin.ts
3
+ * penguins-eggs v.10.0.0 / ecmascript 2020
4
+ * author: Piero Proietti
5
+ * email: piero.proietti@gmail.com
6
+ * license: MIT
7
+ */
8
+ /**
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
+ }