penguins-eggs 10.0.53 → 10.0.54

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 (344) hide show
  1. package/.oclif.manifest.json +1548 -2
  2. package/README.md +788 -0
  3. package/addons/eggs/theme/livecd/grub.main.simple.cfg +49 -0
  4. package/addons/eggs/theme/livecd/isolinux.theme.cfg +6 -5
  5. package/conf/distros/fedora/calamares/settings.yml +0 -6
  6. package/dist/classes/bleach.d.ts +32 -0
  7. package/dist/classes/bleach.js +135 -0
  8. package/dist/classes/cfs.d.ts +17 -0
  9. package/dist/classes/cfs.js +39 -0
  10. package/dist/classes/cli-autologin.d.ts +52 -0
  11. package/dist/classes/cli-autologin.js +247 -0
  12. package/dist/classes/compressors.d.ts +54 -0
  13. package/dist/classes/compressors.js +109 -0
  14. package/dist/classes/daddy.d.ts +26 -0
  15. package/dist/classes/daddy.js +167 -0
  16. package/dist/classes/distro.d.ts +32 -0
  17. package/dist/classes/distro.js +341 -0
  18. package/dist/classes/diversions.d.ts +48 -0
  19. package/dist/classes/diversions.js +116 -0
  20. package/dist/classes/incubation/branding.d.ts +17 -0
  21. package/dist/classes/incubation/branding.js +85 -0
  22. package/dist/classes/incubation/fisherman-helper/displaymanager.d.ts +11 -0
  23. package/dist/classes/incubation/fisherman-helper/displaymanager.js +40 -0
  24. package/dist/classes/incubation/fisherman-helper/packages.d.ts +20 -0
  25. package/dist/classes/incubation/fisherman-helper/packages.js +72 -0
  26. package/dist/classes/incubation/fisherman-helper/settings.d.ts +15 -0
  27. package/dist/classes/incubation/fisherman-helper/settings.js +83 -0
  28. package/dist/classes/incubation/fisherman.d.ts +70 -0
  29. package/dist/classes/incubation/fisherman.js +263 -0
  30. package/dist/classes/incubation/incubator.d/alpine.d.ts +32 -0
  31. package/dist/classes/incubation/incubator.d/alpine.js +78 -0
  32. package/dist/classes/incubation/incubator.d/bionic.d.ts +32 -0
  33. package/dist/classes/incubation/incubator.d/bionic.js +83 -0
  34. package/dist/classes/incubation/incubator.d/buster.d.ts +32 -0
  35. package/dist/classes/incubation/incubator.d/buster.js +85 -0
  36. package/dist/classes/incubation/incubator.d/jessie.d.ts +31 -0
  37. package/dist/classes/incubation/incubator.d/jessie.js +44 -0
  38. package/dist/classes/incubation/incubator.d/noble.d.ts +32 -0
  39. package/dist/classes/incubation/incubator.d/noble.js +85 -0
  40. package/dist/classes/incubation/incubator.d/openmamba.d.ts +32 -0
  41. package/dist/classes/incubation/incubator.d/openmamba.js +81 -0
  42. package/dist/classes/incubation/incubator.d/opensuse.d.ts +32 -0
  43. package/dist/classes/incubation/incubator.d/opensuse.js +81 -0
  44. package/dist/classes/incubation/incubator.d/rolling.d.ts +32 -0
  45. package/dist/classes/incubation/incubator.d/rolling.js +80 -0
  46. package/dist/classes/incubation/incubator.d.ts +44 -0
  47. package/dist/classes/incubation/incubator.js +382 -0
  48. package/dist/classes/incubation/installer.d.ts +13 -0
  49. package/dist/classes/incubation/installer.js +52 -0
  50. package/dist/classes/keyboards.d.ts +50 -0
  51. package/dist/classes/keyboards.js +287 -0
  52. package/dist/classes/locales.d.ts +21 -0
  53. package/dist/classes/locales.js +77 -0
  54. package/dist/classes/network.d.ts +37 -0
  55. package/dist/classes/network.js +98 -0
  56. package/dist/classes/ovary.d.ts +198 -0
  57. package/dist/classes/ovary.js +1849 -0
  58. package/dist/classes/pacman.d/aldos.d.ts +52 -0
  59. package/dist/classes/pacman.d/aldos.js +100 -0
  60. package/dist/classes/pacman.d/alpine.d.ts +56 -0
  61. package/dist/classes/pacman.d/alpine.js +162 -0
  62. package/dist/classes/pacman.d/archlinux.d.ts +62 -0
  63. package/dist/classes/pacman.d/archlinux.js +137 -0
  64. package/dist/classes/pacman.d/debian.d.ts +65 -0
  65. package/dist/classes/pacman.d/debian.js +143 -0
  66. package/dist/classes/pacman.d/fedora.d.ts +53 -0
  67. package/dist/classes/pacman.d/fedora.js +101 -0
  68. package/dist/classes/pacman.d/openmamba.d.ts +52 -0
  69. package/dist/classes/pacman.d/openmamba.js +100 -0
  70. package/dist/classes/pacman.d/opensuse.d.ts +53 -0
  71. package/dist/classes/pacman.d/opensuse.js +102 -0
  72. package/dist/classes/pacman.d/voidlinux.d.ts +52 -0
  73. package/dist/classes/pacman.d/voidlinux.js +90 -0
  74. package/dist/classes/pacman.d.ts +139 -0
  75. package/dist/classes/pacman.js +775 -0
  76. package/dist/classes/pve-live.d.ts +17 -0
  77. package/dist/classes/pve-live.js +52 -0
  78. package/dist/classes/pxe.d.ts +74 -0
  79. package/dist/classes/pxe.js +410 -0
  80. package/dist/classes/settings.d.ts +53 -0
  81. package/dist/classes/settings.js +185 -0
  82. package/dist/classes/sources_list.d.ts +28 -0
  83. package/dist/classes/sources_list.js +89 -0
  84. package/dist/classes/systemctl.d.ts +47 -0
  85. package/dist/classes/systemctl.js +86 -0
  86. package/dist/classes/tailor.d.ts +50 -0
  87. package/dist/classes/tailor.js +526 -0
  88. package/dist/classes/tools.d.ts +26 -0
  89. package/dist/classes/tools.js +50 -0
  90. package/dist/classes/users.d.ts +28 -0
  91. package/dist/classes/users.js +143 -0
  92. package/dist/classes/utils.d.ts +324 -0
  93. package/dist/classes/utils.js +984 -0
  94. package/dist/classes/xdg.d.ts +45 -0
  95. package/dist/classes/xdg.js +337 -0
  96. package/dist/classes/yolk.d.ts +33 -0
  97. package/dist/classes/yolk.js +114 -0
  98. package/dist/commands/adapt.d.ts +17 -0
  99. package/dist/commands/adapt.js +33 -0
  100. package/dist/commands/analyze.d.ts +26 -0
  101. package/dist/commands/analyze.js +95 -0
  102. package/dist/commands/calamares.d.ts +29 -0
  103. package/dist/commands/calamares.js +112 -0
  104. package/dist/commands/config.d.ts +35 -0
  105. package/dist/commands/config.js +120 -0
  106. package/dist/commands/cuckoo.d.ts +16 -0
  107. package/dist/commands/cuckoo.js +62 -0
  108. package/dist/commands/dad.d.ts +20 -0
  109. package/dist/commands/dad.js +46 -0
  110. package/dist/commands/export/iso.d.ts +19 -0
  111. package/dist/commands/export/iso.js +55 -0
  112. package/dist/commands/export/pkg.d.ts +29 -0
  113. package/dist/commands/export/pkg.js +163 -0
  114. package/dist/commands/export/tarballs.d.ts +27 -0
  115. package/dist/commands/export/tarballs.js +84 -0
  116. package/dist/commands/install.d.ts +37 -0
  117. package/dist/commands/install.js +88 -0
  118. package/dist/commands/kill.d.ts +24 -0
  119. package/dist/commands/kill.js +50 -0
  120. package/dist/commands/love.d.ts +20 -0
  121. package/dist/commands/love.js +59 -0
  122. package/dist/commands/mom.d.ts +16 -0
  123. package/dist/commands/mom.js +30 -0
  124. package/dist/commands/produce.d.ts +34 -0
  125. package/dist/commands/produce.js +201 -0
  126. package/dist/commands/status.d.ts +23 -0
  127. package/dist/commands/status.js +31 -0
  128. package/dist/commands/syncfrom.d.ts +45 -0
  129. package/dist/commands/syncfrom.js +152 -0
  130. package/dist/commands/syncto.d.ts +40 -0
  131. package/dist/commands/syncto.js +175 -0
  132. package/dist/commands/tools/clean.d.ts +18 -0
  133. package/dist/commands/tools/clean.js +37 -0
  134. package/dist/commands/tools/ppa.d.ts +26 -0
  135. package/dist/commands/tools/ppa.js +138 -0
  136. package/dist/commands/tools/skel.d.ts +18 -0
  137. package/dist/commands/tools/skel.js +44 -0
  138. package/dist/commands/tools/stat.d.ts +31 -0
  139. package/dist/commands/tools/stat.js +70 -0
  140. package/dist/commands/tools/yolk.d.ts +24 -0
  141. package/dist/commands/tools/yolk.js +45 -0
  142. package/dist/commands/update.d.ts +51 -0
  143. package/dist/commands/update.js +219 -0
  144. package/dist/commands/wardrobe/get.d.ts +23 -0
  145. package/dist/commands/wardrobe/get.js +52 -0
  146. package/dist/commands/wardrobe/list.d.ts +24 -0
  147. package/dist/commands/wardrobe/list.js +125 -0
  148. package/dist/commands/wardrobe/show.d.ts +25 -0
  149. package/dist/commands/wardrobe/show.js +97 -0
  150. package/dist/commands/wardrobe/wear.d.ts +26 -0
  151. package/dist/commands/wardrobe/wear.js +84 -0
  152. package/dist/components/finished.d.ts +16 -0
  153. package/dist/components/finished.js +56 -0
  154. package/dist/components/information.d.ts +8 -0
  155. package/dist/components/information.js +154 -0
  156. package/dist/components/install.d.ts +15 -0
  157. package/dist/components/install.js +60 -0
  158. package/dist/components/keyboard.d.ts +16 -0
  159. package/dist/components/keyboard.js +54 -0
  160. package/dist/components/location.d.ts +16 -0
  161. package/dist/components/location.js +59 -0
  162. package/dist/components/network.d.ts +19 -0
  163. package/dist/components/network.js +65 -0
  164. package/dist/components/partitions.d.ts +16 -0
  165. package/dist/components/partitions.js +73 -0
  166. package/dist/components/steps.d.ts +13 -0
  167. package/dist/components/steps.js +148 -0
  168. package/dist/components/summary.d.ts +24 -0
  169. package/dist/components/summary.js +81 -0
  170. package/dist/components/title.d.ts +11 -0
  171. package/dist/components/title.js +35 -0
  172. package/dist/components/users.d.ts +24 -0
  173. package/dist/components/users.js +80 -0
  174. package/dist/components/welcome.d.ts +13 -0
  175. package/dist/components/welcome.js +63 -0
  176. package/dist/index-old.d.ts +8 -0
  177. package/dist/index-old.js +8 -0
  178. package/dist/index.d.ts +54 -0
  179. package/dist/index.js +147 -0
  180. package/dist/interfaces/i-addons.d.ts +12 -0
  181. package/dist/interfaces/i-addons.js +8 -0
  182. package/dist/interfaces/i-analyze.d.ts +17 -0
  183. package/dist/interfaces/i-analyze.js +17 -0
  184. package/dist/interfaces/i-app.d.ts +14 -0
  185. package/dist/interfaces/i-app.js +8 -0
  186. package/dist/interfaces/i-branding.d.ts +36 -0
  187. package/dist/interfaces/i-branding.js +8 -0
  188. package/dist/interfaces/i-calamares-displaymanager.d.ts +17 -0
  189. package/dist/interfaces/i-calamares-displaymanager.js +1 -0
  190. package/dist/interfaces/i-calamares-finished.d.ts +12 -0
  191. package/dist/interfaces/i-calamares-finished.js +1 -0
  192. package/dist/interfaces/i-calamares-packages.d.ts +28 -0
  193. package/dist/interfaces/i-calamares-packages.js +1 -0
  194. package/dist/interfaces/i-calamares-partition.d.ts +40 -0
  195. package/dist/interfaces/i-calamares-partition.js +1 -0
  196. package/dist/interfaces/i-config-tools.d.ts +15 -0
  197. package/dist/interfaces/i-config-tools.js +8 -0
  198. package/dist/interfaces/i-devices.d.ts +20 -0
  199. package/dist/interfaces/i-devices.js +8 -0
  200. package/dist/interfaces/i-distro.d.ts +23 -0
  201. package/dist/interfaces/i-distro.js +8 -0
  202. package/dist/interfaces/i-drive-list.d.ts +33 -0
  203. package/dist/interfaces/i-drive-list.js +8 -0
  204. package/dist/interfaces/i-eggs-config.d.ts +32 -0
  205. package/dist/interfaces/i-eggs-config.js +8 -0
  206. package/dist/interfaces/i-excludes.d.ts +14 -0
  207. package/dist/interfaces/i-excludes.js +8 -0
  208. package/dist/interfaces/i-exec.d.ts +11 -0
  209. package/dist/interfaces/i-exec.js +8 -0
  210. package/dist/interfaces/i-initrd.d.ts +13 -0
  211. package/dist/interfaces/i-initrd.js +8 -0
  212. package/dist/interfaces/i-install.d.ts +16 -0
  213. package/dist/interfaces/i-install.js +8 -0
  214. package/dist/interfaces/i-installer.d.ts +17 -0
  215. package/dist/interfaces/i-installer.js +8 -0
  216. package/dist/interfaces/i-krill-config.d.ts +33 -0
  217. package/dist/interfaces/i-krill-config.js +8 -0
  218. package/dist/interfaces/i-krill.d.ts +42 -0
  219. package/dist/interfaces/i-krill.js +8 -0
  220. package/dist/interfaces/i-materia.d.ts +36 -0
  221. package/dist/interfaces/i-materia.js +8 -0
  222. package/dist/interfaces/i-net.d.ts +16 -0
  223. package/dist/interfaces/i-net.js +8 -0
  224. package/dist/interfaces/i-packages.d.ts +16 -0
  225. package/dist/interfaces/i-packages.js +8 -0
  226. package/dist/interfaces/i-partitions.d.ts +16 -0
  227. package/dist/interfaces/i-partitions.js +8 -0
  228. package/dist/interfaces/i-pxe.d.ts +45 -0
  229. package/dist/interfaces/i-pxe.js +1 -0
  230. package/dist/interfaces/i-remix.d.ts +21 -0
  231. package/dist/interfaces/i-remix.js +8 -0
  232. package/dist/interfaces/i-settings.d.ts +33 -0
  233. package/dist/interfaces/i-settings.js +8 -0
  234. package/dist/interfaces/i-user.d.ts +14 -0
  235. package/dist/interfaces/i-user.js +8 -0
  236. package/dist/interfaces/i-workdir.d.ts +14 -0
  237. package/dist/interfaces/i-workdir.js +8 -0
  238. package/dist/interfaces/i-xkb-model.d.ts +24 -0
  239. package/dist/interfaces/i-xkb-model.js +8 -0
  240. package/dist/interfaces/index.d.ts +25 -0
  241. package/dist/interfaces/index.js +8 -0
  242. package/dist/krill/modules/add-user.d.ts +20 -0
  243. package/dist/krill/modules/add-user.js +48 -0
  244. package/dist/krill/modules/bootloader-config.d.ts +14 -0
  245. package/dist/krill/modules/bootloader-config.js +165 -0
  246. package/dist/krill/modules/bootloader.d.ts +14 -0
  247. package/dist/krill/modules/bootloader.js +157 -0
  248. package/dist/krill/modules/change-password.d.ts +15 -0
  249. package/dist/krill/modules/change-password.js +18 -0
  250. package/dist/krill/modules/del-live-user.d.ts +14 -0
  251. package/dist/krill/modules/del-live-user.js +39 -0
  252. package/dist/krill/modules/fstab.d.ts +14 -0
  253. package/dist/krill/modules/fstab.js +123 -0
  254. package/dist/krill/modules/grubcfg.d.ts +17 -0
  255. package/dist/krill/modules/grubcfg.js +29 -0
  256. package/dist/krill/modules/hostname.d.ts +13 -0
  257. package/dist/krill/modules/hostname.js +50 -0
  258. package/dist/krill/modules/initramfs-cfg.d.ts +14 -0
  259. package/dist/krill/modules/initramfs-cfg.js +22 -0
  260. package/dist/krill/modules/initramfs.d.ts +13 -0
  261. package/dist/krill/modules/initramfs.js +54 -0
  262. package/dist/krill/modules/locale-cfg.d.ts +10 -0
  263. package/dist/krill/modules/locale-cfg.js +58 -0
  264. package/dist/krill/modules/locale.d.ts +13 -0
  265. package/dist/krill/modules/locale.js +91 -0
  266. package/dist/krill/modules/m-keyboard.d.ts +14 -0
  267. package/dist/krill/modules/m-keyboard.js +58 -0
  268. package/dist/krill/modules/machine-id.d.ts +15 -0
  269. package/dist/krill/modules/machine-id.js +33 -0
  270. package/dist/krill/modules/mkfs.d.ts +15 -0
  271. package/dist/krill/modules/mkfs.js +50 -0
  272. package/dist/krill/modules/mount-fs.d.ts +17 -0
  273. package/dist/krill/modules/mount-fs.js +62 -0
  274. package/dist/krill/modules/mount-vfs.d.ts +17 -0
  275. package/dist/krill/modules/mount-vfs.js +40 -0
  276. package/dist/krill/modules/network-cfg.d.ts +19 -0
  277. package/dist/krill/modules/network-cfg.js +64 -0
  278. package/dist/krill/modules/packages.d.ts +14 -0
  279. package/dist/krill/modules/packages.js +111 -0
  280. package/dist/krill/modules/partition.d.ts +20 -0
  281. package/dist/krill/modules/partition.js +324 -0
  282. package/dist/krill/modules/remove-installer-link.d.ts +13 -0
  283. package/dist/krill/modules/remove-installer-link.js +35 -0
  284. package/dist/krill/modules/umount.d.ts +14 -0
  285. package/dist/krill/modules/umount.js +28 -0
  286. package/dist/krill/modules/unpackfs.d.ts +13 -0
  287. package/dist/krill/modules/unpackfs.js +20 -0
  288. package/dist/krill/prepare.d.ts +78 -0
  289. package/dist/krill/prepare.js +624 -0
  290. package/dist/krill/sequence.d.ts +154 -0
  291. package/dist/krill/sequence.js +652 -0
  292. package/dist/lib/get_address.d.ts +8 -0
  293. package/dist/lib/get_address.js +23 -0
  294. package/dist/lib/get_dns.d.ts +8 -0
  295. package/dist/lib/get_dns.js +23 -0
  296. package/dist/lib/get_domain.d.ts +8 -0
  297. package/dist/lib/get_domain.js +23 -0
  298. package/dist/lib/get_gateway.d.ts +8 -0
  299. package/dist/lib/get_gateway.js +23 -0
  300. package/dist/lib/get_hostname.d.ts +8 -0
  301. package/dist/lib/get_hostname.js +23 -0
  302. package/dist/lib/get_netmask.d.ts +8 -0
  303. package/dist/lib/get_netmask.js +23 -0
  304. package/dist/lib/get_password.d.ts +8 -0
  305. package/dist/lib/get_password.js +36 -0
  306. package/dist/lib/get_userfullname.d.ts +8 -0
  307. package/dist/lib/get_userfullname.js +23 -0
  308. package/dist/lib/get_username.d.ts +8 -0
  309. package/dist/lib/get_username.js +23 -0
  310. package/dist/lib/kill_me_softly.d.ts +11 -0
  311. package/dist/lib/kill_me_softly.js +61 -0
  312. package/dist/lib/select_address_type.d.ts +8 -0
  313. package/dist/lib/select_address_type.js +24 -0
  314. package/dist/lib/select_filesystem_type.d.ts +8 -0
  315. package/dist/lib/select_filesystem_type.js +46 -0
  316. package/dist/lib/select_installation_device.d.ts +8 -0
  317. package/dist/lib/select_installation_device.js +30 -0
  318. package/dist/lib/select_installation_mode.d.ts +8 -0
  319. package/dist/lib/select_installation_mode.js +24 -0
  320. package/dist/lib/select_interface.d.ts +8 -0
  321. package/dist/lib/select_interface.js +24 -0
  322. package/dist/lib/select_keyboard_layout.d.ts +11 -0
  323. package/dist/lib/select_keyboard_layout.js +36 -0
  324. package/dist/lib/select_keyboard_model.d.ts +11 -0
  325. package/dist/lib/select_keyboard_model.js +34 -0
  326. package/dist/lib/select_keyboard_option.d.ts +11 -0
  327. package/dist/lib/select_keyboard_option.js +34 -0
  328. package/dist/lib/select_keyboard_variant.d.ts +11 -0
  329. package/dist/lib/select_keyboard_variant.js +35 -0
  330. package/dist/lib/select_languages.d.ts +8 -0
  331. package/dist/lib/select_languages.js +28 -0
  332. package/dist/lib/select_regions.d.ts +8 -0
  333. package/dist/lib/select_regions.js +24 -0
  334. package/dist/lib/select_user_swap_choice.d.ts +8 -0
  335. package/dist/lib/select_user_swap_choice.js +34 -0
  336. package/dist/lib/select_zones.d.ts +8 -0
  337. package/dist/lib/select_zones.js +518 -0
  338. package/dist/lib/utils.d.ts +34 -0
  339. package/dist/lib/utils.js +79 -0
  340. package/dist/penguins-eggs-tarball-10.0.54-1-linux-x64.tar.gz +0 -0
  341. package/package.json +11 -7
  342. package/scripts/_eggs +10 -1
  343. package/scripts/eggs.bash +1 -0
  344. /package/addons/eggs/theme/livecd/{grub.main.cfg → grub.main.full.cfg} +0 -0
@@ -0,0 +1,49 @@
1
+ #
2
+ # eggs: grub.main.cfg
3
+ #
4
+ if loadfont $prefix/font.pf2 ; then
5
+ set gfxmode=1024x768x32
6
+ insmod efi_gop
7
+ insmod efi_uga
8
+ insmod video_bochs
9
+ insmod video_cirrus
10
+ insmod gfxterm
11
+ insmod jpeg
12
+ insmod png
13
+ terminal_output gfxterm
14
+ fi
15
+
16
+ set theme=/boot/grub/theme.cfg
17
+
18
+ menuentry "{{{fullname}}} Live/Installation" {
19
+ set gfxpayload=keep
20
+ {{{rmModules}}}
21
+ linux {{{vmlinuz}}} {{{kernel_parameters}}} quiet splash
22
+ initrd {{{initrdImg}}}
23
+ }
24
+
25
+ menuentry "{{{fullname}}} Safe Mode" {
26
+ set gfxpayload=keep
27
+ {{{rmModules}}}
28
+ linux {{{vmlinuz}}} {{{kernel_parameters}}} quiet splash
29
+ initrd {{{initrdImg}}}
30
+ }
31
+
32
+ menuentry "{{{fullname}}} Text Mode" {
33
+ set gfxpayload=keep
34
+ {{{rmModules}}}
35
+ linux {{{vmlinuz}}} {{{kernel_parameters}}} quiet splash
36
+ initrd {{{initrdImg}}}
37
+ }
38
+ grub_platform
39
+ if [ "$grub_platform" = "efi" ]; then
40
+ menuentry "Boot from local disk" {
41
+ exit 1
42
+ }
43
+ #menuentry 'UEFI Firmware Settings' {
44
+ # fwsetup
45
+ #}
46
+ #menuentry 'Memory test' {
47
+ # linux /boot/memtest.efi
48
+ #}
49
+ fi
@@ -2,7 +2,7 @@
2
2
  # eggs: isolinux.theme
3
3
  #
4
4
 
5
- # MENU COLOR element backgound foreground shadow
5
+ # MENU COLOR element background foreground shadow
6
6
  # background and foreground are hexadecimal digits for alpha (opacity), red, green and blue,
7
7
  # respectively. #00000000 represents fully transparent, and #ffffffff represents opaque white.
8
8
  # shadow none/std
@@ -10,14 +10,15 @@
10
10
  MENU COLOR screen 37;40 #80ffffff #00000000 std
11
11
  MENU COLOR border 30;44 #40000000 #00000000 std
12
12
  MENU COLOR title 1;36;44 #c00090f0 #00000000 std
13
- MENU COLOR unsel 37;44 #c00090f0 #00000000 std
14
- MENU COLOR sel 7;37;40 #FF00FF #E0FFFF all
15
- MENU COLOR hotsel 1;7;37;40 #FF00FF #E0FFFF all
13
+ MENU COLOR unsel 37;44 #c00090f0 #00000000 std
14
+ MENU COLOR sel 7;37;40 #FF00FF #E0FFAF all
15
+ MENU COLOR hotsel 1;7;37;40 #FF00FF #E0FFFF all
16
16
  MENU COLOR disabled 1;30;44 #c00090f0 #00000000 std
17
17
  MENU COLOR scrollbar 30;44 #c00090f0 #00000000 std
18
18
  MENU COLOR tabmsg 31;40 #c00090f0 #00000000 std
19
19
  MENU COLOR cmdmark 1;36;40 #c00090f0 #00000000 std
20
- MENU COLOR cmdline 37;40 #c00090f0#00000000 std
20
+ #MENU COLOR cmdline 37;40 #c00090f0 #00000000 std
21
+ MENU COLOR cmdline 37;40 #FFFFFF #0000FF std
21
22
  MENU COLOR pwdborder 30;47 #c00090f0 #20ffffff std
22
23
  MENU COLOR pwdheader 31;47 #c00090f0 #20ffffff std
23
24
  MENU COLOR pwdentry 30;47 #c00090f0 #20ffffff std
@@ -37,11 +37,6 @@ disable-cancel-during-exec: false
37
37
  #
38
38
  quit-at-end: false
39
39
 
40
- instances:
41
- - id: cleanup
42
- module: shellprocess
43
- config: shellprocess_cleanup.conf
44
-
45
40
  sequence:
46
41
  # Phase 1 - prepare.
47
42
  # View modules are shown as UI pages, jobs from job modules
@@ -82,7 +77,6 @@ sequence:
82
77
  - bootloader
83
78
  - packages
84
79
  - removeuser
85
- - cleanup
86
80
  - umount
87
81
 
88
82
  # Phase 3 - postinstall.
@@ -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,135 @@
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
+ if (distro.familyId === 'alpine') {
29
+ await exec('apk cache clean', echo);
30
+ await exec('apk cache purge', echo);
31
+ }
32
+ else if (distro.familyId === 'archlinux') {
33
+ await exec('yes | sudo pacman -Scc', Utils.setEcho(true));
34
+ }
35
+ else if (distro.familyId === 'debian') {
36
+ await exec('apt-get clean', echo);
37
+ await exec('apt-get autoclean', echo);
38
+ await exec(`rm /var/lib/apt/lists/lock -rf`, echo);
39
+ }
40
+ else if (distro.familyId === 'fedora' || distro.familyId === 'openmamba') {
41
+ await exec(`dnf remove $(dnf repoquery --installonly --latest-limit=-1 -q)`);
42
+ await exec(`dnf clean all`, echo);
43
+ }
44
+ else if (distro.familyId === 'opensuse') {
45
+ await exec(`zypper clean`, echo);
46
+ }
47
+ else if (distro.familyId === 'voidlinux') {
48
+ await exec(`xbps-remove -O`, echo);
49
+ }
50
+ await this.cleanHistory(verbose);
51
+ await this.cleanJournal(verbose);
52
+ await this.cleanSystemCache(verbose);
53
+ }
54
+ /**
55
+ * cleanHistory
56
+ * @param verbose
57
+ */
58
+ async cleanHistory(verbose = false) {
59
+ if (verbose) {
60
+ Utils.warning('cleaning bash history');
61
+ }
62
+ const dest = '/root/.bash_history';
63
+ if (fs.existsSync(dest)) {
64
+ await rm(dest, verbose);
65
+ }
66
+ }
67
+ /**
68
+ * cleanJournal
69
+ * @param verbose
70
+ */
71
+ async cleanJournal(verbose = false) {
72
+ let echo = { capture: false, echo: false, ignore: true };
73
+ if (verbose) {
74
+ echo = { capture: false, echo: true, ignore: true };
75
+ Utils.warning('cleaning journald');
76
+ }
77
+ if (Utils.isSystemd()) {
78
+ try {
79
+ await exec('journalctl --rotate', echo);
80
+ await exec('journalctl --vacuum-time=1s', echo);
81
+ }
82
+ catch (error) {
83
+ Utils.error(error);
84
+ }
85
+ }
86
+ else {
87
+ // Truncate logs, remove archived logs.
88
+ await exec('find /var/log -name "*gz" -print0 | xargs -0r rm -f', echo);
89
+ await exec('find /var/log/ -type f -exec truncate -s 0 {} \\;', echo);
90
+ }
91
+ }
92
+ /**
93
+ * cleanSystemCache
94
+ * @param verbose
95
+ */
96
+ async cleanSystemCache(verbose = false) {
97
+ let echo = { capture: false, echo: false, ignore: true };
98
+ if (verbose) {
99
+ echo = { capture: false, echo: true, ignore: true };
100
+ Utils.warning('cleaning system cache');
101
+ }
102
+ // Clear PageCache only.
103
+ await exec('sync; echo 1 > /proc/sys/vm/drop_caches', echo);
104
+ // Clear dentries and inodes.
105
+ await exec('sync; echo 2 > /proc/sys/vm/drop_caches', echo);
106
+ // Clear PageCache, dentries and inodes.
107
+ await exec('sync; echo 3 > /proc/sys/vm/drop_caches', echo);
108
+ }
109
+ }
110
+ /**
111
+ *
112
+ * @param dest
113
+ */
114
+ async function rm(dest = '', verbose = false) {
115
+ let echo = { capture: false, echo: false, ignore: true };
116
+ if (verbose) {
117
+ echo = { capture: false, echo: true, ignore: true };
118
+ }
119
+ if (fs.existsSync(dest)) {
120
+ await exec(`rm ${dest} -rf`, echo);
121
+ }
122
+ else {
123
+ console.log(`non esiste ${dest}`);
124
+ }
125
+ }
126
+ async function rmdir(dest = '', verbose = false) {
127
+ let echo = { capture: false, echo: false, ignore: true };
128
+ if (verbose) {
129
+ echo = { capture: false, echo: true, ignore: true };
130
+ }
131
+ const result = fs.readdirSync(dest);
132
+ if (result.length > 0) {
133
+ await exec(`rm ${dest} -rf`, echo);
134
+ }
135
+ }
@@ -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
+ }
@@ -0,0 +1,247 @@
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
+ import chalk from 'chalk';
9
+ import { execSync } from 'node:child_process';
10
+ import fs from 'node:fs';
11
+ import path from 'node:path';
12
+ import shx from 'shelljs';
13
+ // libraries
14
+ import { exec } from '../lib/utils.js';
15
+ import Pacman from './pacman.js';
16
+ import Utils from './utils.js';
17
+ const startMessage = 'eggs-start-message';
18
+ const stopMessage = 'eggs-stop-message';
19
+ /*
20
+ * Comando per avviare ubiquity:
21
+ * sudo --preserve-env DBUS_SESSION_BUS_ADDRESS, XDG_RUNTIME sh -c 'calamares'
22
+ */
23
+ /**
24
+ * CliAutologin
25
+ */
26
+ export default class CliAutologin {
27
+ /**
28
+ * add
29
+ * @param distro
30
+ * @param version
31
+ * @param user
32
+ * @param userPasswd
33
+ * @param rootPasswd
34
+ * @param chroot
35
+ */
36
+ async add(distro, version, user, userPasswd, rootPasswd, chroot = '/') {
37
+ if (Utils.isSystemd()) {
38
+ /**
39
+ * systemd
40
+ */
41
+ Utils.warning("creating CLI autologin systemd");
42
+ const fileOverride = `${chroot}/etc/systemd/system/getty@.service.d/override.conf`;
43
+ const dirOverride = path.dirname(fileOverride);
44
+ if (fs.existsSync(dirOverride)) {
45
+ shx.exec(`rm ${dirOverride} -rf`);
46
+ }
47
+ shx.exec(`mkdir ${dirOverride}`);
48
+ let content = '';
49
+ content += '[Service]' + '\n';
50
+ content += 'ExecStart=' + '\n';
51
+ content += 'ExecStart=-/sbin/agetty --noclear --autologin ' + user + ' %I $TERM' + '\n';
52
+ fs.writeFileSync(fileOverride, content);
53
+ shx.exec(`chmod +x ${fileOverride}`);
54
+ await this.addIssue(distro, version, user, userPasswd, rootPasswd, chroot);
55
+ await this.addMotd(distro, version, user, userPasswd, rootPasswd, chroot);
56
+ }
57
+ else if (Utils.isOpenRc()) {
58
+ /**
59
+ * openrc
60
+ */
61
+ Utils.warning("creating CLI autologin openrc");
62
+ const inittab = chroot + '/etc/inittab';
63
+ let content = '';
64
+ const search = `tty1::respawn:/sbin/getty 38400 tty1`;
65
+ const replace = `tty1::respawn:/sbin/getty -L 38400 tty1 -n -l /bin/autologin`;
66
+ const lines = fs.readFileSync(inittab, 'utf8').split('\n');
67
+ for (let i = 0; i < lines.length; i++) {
68
+ if (lines[i].includes(search)) {
69
+ lines[i] = replace;
70
+ }
71
+ content += lines[i] + '\n';
72
+ }
73
+ fs.writeFileSync(inittab, content, 'utf-8');
74
+ const autologin = chroot + '/bin/autologin';
75
+ content = '#!/bin/sh' + '\n';
76
+ content += `/bin/login -f ${user}` + '\n';
77
+ fs.writeFileSync(autologin, content, 'utf-8');
78
+ execSync(`chmod +x ${autologin}`);
79
+ await this.addIssue(distro, version, user, userPasswd, rootPasswd, chroot);
80
+ await this.addMotd(distro, version, user, userPasswd, rootPasswd, chroot);
81
+ }
82
+ else if (Utils.isSysvinit()) {
83
+ /**
84
+ * sysvinit
85
+ */
86
+ Utils.warning("creating CLI autologin sysvinit");
87
+ const inittab = chroot + '/etc/inittab';
88
+ const search = '1:2345:respawn:/sbin/getty';
89
+ const replace = `1:2345:respawn:/sbin/getty --autologin ${user} 38400 tty1`;
90
+ let content = '';
91
+ const lines = fs.readFileSync(inittab, 'utf8').split('\n');
92
+ for (let i = 0; i < lines.length; i++) {
93
+ if (lines[i].includes(search)) {
94
+ lines[i] = replace;
95
+ }
96
+ content += lines[i] + '\n';
97
+ }
98
+ fs.writeFileSync(inittab, content, 'utf-8');
99
+ await this.addMotd(distro, version, user, userPasswd, rootPasswd, chroot);
100
+ await this.addIssue(distro, version, user, userPasswd, rootPasswd, chroot);
101
+ }
102
+ }
103
+ /**
104
+ *
105
+ * @param distro
106
+ * @param version
107
+ * @param user
108
+ * @param userPasswd
109
+ * @param rootPasswd
110
+ * @param chroot
111
+ */
112
+ async addIssue(distro, version, user, userPasswd, rootPasswd, chroot = '/') {
113
+ const fileIssue = `${chroot}/etc/issue`;
114
+ if (fs.existsSync(fileIssue)) {
115
+ if (!fs.lstatSync(fileIssue).isSymbolicLink()) {
116
+ this.msgRemove(fileIssue);
117
+ let content = fs.readFileSync(fileIssue, 'utf8');
118
+ content += startMessage + '\n';
119
+ content += `This is a ${distro}/${version} system created by Penguins' eggs.\n`;
120
+ content += 'You can login with user: ' + chalk.bold(user) + ' and password: ' + chalk.bold(userPasswd) + ', root password: ' + chalk.bold(rootPasswd) + '\n';
121
+ content += stopMessage + '\n';
122
+ fs.writeFileSync(fileIssue, content);
123
+ }
124
+ }
125
+ }
126
+ /**
127
+ *
128
+ * @param distro
129
+ * @param version
130
+ * @param user
131
+ * @param userPasswd
132
+ * @param rootPasswd
133
+ * @param chroot
134
+ */
135
+ async addMotd(distro, version, user, userPasswd, rootPasswd, chroot = '/') {
136
+ const fileMotd = `${chroot}/etc/motd`;
137
+ let installer = 'sudo eggs install';
138
+ if (Pacman.calamaresExists()) {
139
+ if (Pacman.packageIsInstalled('plasma-desktop')) {
140
+ installer = 'startplasma-wayland to run GUI and launch calamares';
141
+ }
142
+ else if (Pacman.packageIsInstalled('xfce4')) {
143
+ installer = 'startxfce4 to run GUI and launch calamares installer';
144
+ }
145
+ }
146
+ if (!fs.existsSync(fileMotd)) {
147
+ await exec(`touch ${fileMotd}`);
148
+ }
149
+ this.msgRemove(fileMotd);
150
+ let eggsMotd = fs.readFileSync(fileMotd, 'utf8');
151
+ eggsMotd += startMessage + '\n';
152
+ eggsMotd += Utils.flag() + '\n';
153
+ eggsMotd += 'You are logged as: ' + chalk.bold(user) + ' your password is: ' + chalk.bold(userPasswd) + ', root password: ' + chalk.bold(rootPasswd) + '\n\n';
154
+ eggsMotd += 'install : ' + chalk.bold(installer) + '\n';
155
+ eggsMotd += ' --unattended : ' + chalk.bold('sudo eggs install --unattended') + '\n';
156
+ eggsMotd += ' --chroot : ' + chalk.bold('sudo eggs install --chroot') + '\n';
157
+ eggsMotd += ' --help : ' + chalk.bold('sudo eggs install --help') + '\n';
158
+ eggsMotd += '\n';
159
+ eggsMotd += stopMessage + '\n';
160
+ fs.writeFileSync(fileMotd, eggsMotd);
161
+ }
162
+ /**
163
+ * remove
164
+ * @param chroot
165
+ */
166
+ async remove(chroot = '/') {
167
+ if (Utils.isSystemd()) {
168
+ /**
169
+ * Systemd
170
+ */
171
+ const fileOverride = `${chroot}/etc/systemd/system/getty@.service.d/override.conf`;
172
+ const dirOverride = path.dirname(fileOverride);
173
+ if (fs.existsSync(dirOverride)) {
174
+ shx.exec(`rm ${dirOverride} -rf`);
175
+ }
176
+ this.msgRemove(`${chroot}/etc/motd`);
177
+ this.msgRemove(`${chroot}/etc/issue`);
178
+ }
179
+ else if (Utils.isOpenRc()) {
180
+ /**
181
+ * openrc
182
+ */
183
+ const inittab = chroot + '/etc/inittab';
184
+ const search = 'autologin';
185
+ const replace = `tty1::respawn:/sbin/getty 38400 tty1`;
186
+ let content = '';
187
+ const lines = fs.readFileSync(inittab, 'utf8').split('\n');
188
+ for (let i = 0; i < lines.length; i++) {
189
+ if (lines[i].includes(search)) {
190
+ lines[i] = replace;
191
+ }
192
+ content += lines[i] + '\n';
193
+ }
194
+ fs.writeFileSync(inittab, content, 'utf-8');
195
+ this.msgRemove(`${chroot}/etc/motd`);
196
+ this.msgRemove(`${chroot}/etc/issue`);
197
+ const autologin = `${chroot}/bin/autologin`;
198
+ execSync(`rm -f ${autologin}`);
199
+ }
200
+ else if (Utils.isSysvinit()) {
201
+ /**
202
+ * sysvinit
203
+ */
204
+ const inittab = chroot + '/etc/inittab';
205
+ const search = '--autologin';
206
+ const replace = '1:2345:respawn:/sbin/getty 38400 tty1 ';
207
+ let content = '';
208
+ const lines = fs.readFileSync(inittab, 'utf8').split('\n');
209
+ for (let i = 0; i < lines.length; i++) {
210
+ if (lines[i].includes(search)) {
211
+ lines[i] = replace;
212
+ }
213
+ content += lines[i] + '\n';
214
+ }
215
+ // motd
216
+ fs.writeFileSync(inittab, content, 'utf-8');
217
+ this.msgRemove(`${chroot}/etc/motd`);
218
+ // issue
219
+ this.msgRemove(`${chroot}/etc/issue`);
220
+ } // to add: openrc and runit for Devuan
221
+ }
222
+ /**
223
+ *
224
+ * @param path
225
+ */
226
+ async msgRemove(path) {
227
+ if (fs.existsSync(path)) {
228
+ if (!fs.lstatSync(path).isSymbolicLink()) {
229
+ const rows = fs.readFileSync(path, 'utf8').split('\n');
230
+ let cleaned = '';
231
+ let remove = false;
232
+ for (const row of rows) {
233
+ if (row.includes(startMessage)) {
234
+ remove = true;
235
+ }
236
+ if (!remove && row !== '') {
237
+ cleaned += row + '\n';
238
+ }
239
+ if (row.includes(stopMessage)) {
240
+ remove = false;
241
+ }
242
+ }
243
+ fs.writeFileSync(path, cleaned, 'utf-8');
244
+ }
245
+ }
246
+ }
247
+ }
@@ -0,0 +1,54 @@
1
+ /**
2
+ * ./src/classes/compressors.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
+ export default class Compressors {
9
+ dest: string;
10
+ isEnabled: {
11
+ error: boolean;
12
+ gzip: boolean;
13
+ lz4: boolean;
14
+ lzma: boolean;
15
+ lzo: boolean;
16
+ xz: boolean;
17
+ zstd: boolean;
18
+ };
19
+ source: string;
20
+ /**
21
+ * fast compression
22
+ * @returns
23
+ */
24
+ fast(): string;
25
+ /**
26
+ * max
27
+ * @returns
28
+ */
29
+ max(): string;
30
+ pendrive(level?: string): string;
31
+ /**
32
+ * populate
33
+ */
34
+ populate(): Promise<void>;
35
+ /**
36
+ * standard
37
+ * @returns
38
+ */
39
+ standard(): string;
40
+ /**
41
+ * check mksquashfs exists
42
+ * @param compressor
43
+ * @returns
44
+ */
45
+ private check;
46
+ /**
47
+ * prepareCheck
48
+ */
49
+ private prepareCheck;
50
+ /**
51
+ * removeCheck
52
+ */
53
+ private removeCheck;
54
+ }