penguins-eggs 10.0.27 → 10.0.28

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 (324) hide show
  1. package/.oclif.manifest.json +2 -1463
  2. package/README.md +3 -741
  3. package/manpages/doc/man/eggs.1.gz +0 -0
  4. package/manpages/doc/man/eggs.html +4 -4
  5. package/package.json +3 -3
  6. package/scripts/love +2 -2
  7. package/dist/classes/bleach.d.ts +0 -32
  8. package/dist/classes/bleach.js +0 -136
  9. package/dist/classes/cfs.d.ts +0 -17
  10. package/dist/classes/cfs.js +0 -39
  11. package/dist/classes/cli-autologin.d.ts +0 -52
  12. package/dist/classes/cli-autologin.js +0 -230
  13. package/dist/classes/compressors.d.ts +0 -54
  14. package/dist/classes/compressors.js +0 -109
  15. package/dist/classes/daddy.d.ts +0 -26
  16. package/dist/classes/daddy.js +0 -161
  17. package/dist/classes/distro.d.ts +0 -36
  18. package/dist/classes/distro.js +0 -346
  19. package/dist/classes/families/alpine.d.ts +0 -55
  20. package/dist/classes/families/alpine.js +0 -108
  21. package/dist/classes/families/archlinux.d.ts +0 -61
  22. package/dist/classes/families/archlinux.js +0 -140
  23. package/dist/classes/families/debian.d.ts +0 -65
  24. package/dist/classes/families/debian.js +0 -138
  25. package/dist/classes/families/fedora.d.ts +0 -52
  26. package/dist/classes/families/fedora.js +0 -100
  27. package/dist/classes/families/mockup.d.ts +0 -60
  28. package/dist/classes/families/mockup.js +0 -79
  29. package/dist/classes/families/opensuse.d.ts +0 -52
  30. package/dist/classes/families/opensuse.js +0 -104
  31. package/dist/classes/incubation/branding.d.ts +0 -17
  32. package/dist/classes/incubation/branding.js +0 -89
  33. package/dist/classes/incubation/distros/bionic.d.ts +0 -32
  34. package/dist/classes/incubation/distros/bionic.js +0 -83
  35. package/dist/classes/incubation/distros/buster.d.ts +0 -32
  36. package/dist/classes/incubation/distros/buster.js +0 -85
  37. package/dist/classes/incubation/distros/jessie.d.ts +0 -31
  38. package/dist/classes/incubation/distros/jessie.js +0 -44
  39. package/dist/classes/incubation/distros/noble.d.ts +0 -32
  40. package/dist/classes/incubation/distros/noble.js +0 -85
  41. package/dist/classes/incubation/distros/rolling.d.ts +0 -32
  42. package/dist/classes/incubation/distros/rolling.js +0 -82
  43. package/dist/classes/incubation/fisherman-helper/displaymanager.d.ts +0 -11
  44. package/dist/classes/incubation/fisherman-helper/displaymanager.js +0 -39
  45. package/dist/classes/incubation/fisherman-helper/packages.d.ts +0 -20
  46. package/dist/classes/incubation/fisherman-helper/packages.js +0 -72
  47. package/dist/classes/incubation/fisherman-helper/settings.d.ts +0 -15
  48. package/dist/classes/incubation/fisherman-helper/settings.js +0 -83
  49. package/dist/classes/incubation/fisherman.d.ts +0 -77
  50. package/dist/classes/incubation/fisherman.js +0 -251
  51. package/dist/classes/incubation/incubator.d.ts +0 -40
  52. package/dist/classes/incubation/incubator.js +0 -328
  53. package/dist/classes/incubation/installer.d.ts +0 -13
  54. package/dist/classes/incubation/installer.js +0 -64
  55. package/dist/classes/keyboards.d.ts +0 -50
  56. package/dist/classes/keyboards.js +0 -217
  57. package/dist/classes/locales.d.ts +0 -21
  58. package/dist/classes/locales.js +0 -80
  59. package/dist/classes/n8.d.ts +0 -18
  60. package/dist/classes/n8.js +0 -36
  61. package/dist/classes/network.d.ts +0 -37
  62. package/dist/classes/network.js +0 -98
  63. package/dist/classes/ovary.d.ts +0 -214
  64. package/dist/classes/ovary.js +0 -1879
  65. package/dist/classes/pacman.d.ts +0 -149
  66. package/dist/classes/pacman.js +0 -701
  67. package/dist/classes/pve-live.d.ts +0 -17
  68. package/dist/classes/pve-live.js +0 -52
  69. package/dist/classes/pxe.d.ts +0 -74
  70. package/dist/classes/pxe.js +0 -410
  71. package/dist/classes/settings.d.ts +0 -53
  72. package/dist/classes/settings.js +0 -185
  73. package/dist/classes/sources_list.d.ts +0 -28
  74. package/dist/classes/sources_list.js +0 -89
  75. package/dist/classes/systemctl.d.ts +0 -47
  76. package/dist/classes/systemctl.js +0 -86
  77. package/dist/classes/tailor.d.ts +0 -46
  78. package/dist/classes/tailor.js +0 -539
  79. package/dist/classes/tools.d.ts +0 -30
  80. package/dist/classes/tools.js +0 -54
  81. package/dist/classes/users.d.ts +0 -28
  82. package/dist/classes/users.js +0 -143
  83. package/dist/classes/utils.d.ts +0 -323
  84. package/dist/classes/utils.js +0 -946
  85. package/dist/classes/xdg.d.ts +0 -45
  86. package/dist/classes/xdg.js +0 -329
  87. package/dist/classes/yolk.d.ts +0 -33
  88. package/dist/classes/yolk.js +0 -114
  89. package/dist/commands/adapt.d.ts +0 -17
  90. package/dist/commands/adapt.js +0 -33
  91. package/dist/commands/analyze.d.ts +0 -26
  92. package/dist/commands/analyze.js +0 -95
  93. package/dist/commands/calamares.d.ts +0 -29
  94. package/dist/commands/calamares.js +0 -110
  95. package/dist/commands/config.d.ts +0 -35
  96. package/dist/commands/config.js +0 -192
  97. package/dist/commands/cuckoo.d.ts +0 -16
  98. package/dist/commands/cuckoo.js +0 -62
  99. package/dist/commands/dad.d.ts +0 -20
  100. package/dist/commands/dad.js +0 -46
  101. package/dist/commands/export/deb.d.ts +0 -19
  102. package/dist/commands/export/deb.js +0 -51
  103. package/dist/commands/export/iso.d.ts +0 -19
  104. package/dist/commands/export/iso.js +0 -55
  105. package/dist/commands/install.d.ts +0 -37
  106. package/dist/commands/install.js +0 -92
  107. package/dist/commands/kill.d.ts +0 -24
  108. package/dist/commands/kill.js +0 -50
  109. package/dist/commands/mom.d.ts +0 -16
  110. package/dist/commands/mom.js +0 -30
  111. package/dist/commands/produce.d.ts +0 -34
  112. package/dist/commands/produce.js +0 -199
  113. package/dist/commands/status.d.ts +0 -23
  114. package/dist/commands/status.js +0 -31
  115. package/dist/commands/syncfrom.d.ts +0 -45
  116. package/dist/commands/syncfrom.js +0 -152
  117. package/dist/commands/syncto.d.ts +0 -40
  118. package/dist/commands/syncto.js +0 -175
  119. package/dist/commands/tools/clean.d.ts +0 -18
  120. package/dist/commands/tools/clean.js +0 -37
  121. package/dist/commands/tools/ppa.d.ts +0 -26
  122. package/dist/commands/tools/ppa.js +0 -138
  123. package/dist/commands/tools/skel.d.ts +0 -18
  124. package/dist/commands/tools/skel.js +0 -44
  125. package/dist/commands/tools/stat.d.ts +0 -31
  126. package/dist/commands/tools/stat.js +0 -70
  127. package/dist/commands/tools/yolk.d.ts +0 -24
  128. package/dist/commands/tools/yolk.js +0 -45
  129. package/dist/commands/update.d.ts +0 -47
  130. package/dist/commands/update.js +0 -140
  131. package/dist/commands/wardrobe/get.d.ts +0 -23
  132. package/dist/commands/wardrobe/get.js +0 -52
  133. package/dist/commands/wardrobe/list.d.ts +0 -24
  134. package/dist/commands/wardrobe/list.js +0 -125
  135. package/dist/commands/wardrobe/show.d.ts +0 -25
  136. package/dist/commands/wardrobe/show.js +0 -97
  137. package/dist/commands/wardrobe/wear.d.ts +0 -26
  138. package/dist/commands/wardrobe/wear.js +0 -81
  139. package/dist/components/finished.d.ts +0 -15
  140. package/dist/components/finished.js +0 -55
  141. package/dist/components/information.d.ts +0 -8
  142. package/dist/components/information.js +0 -153
  143. package/dist/components/install.d.ts +0 -15
  144. package/dist/components/install.js +0 -56
  145. package/dist/components/keyboard.d.ts +0 -16
  146. package/dist/components/keyboard.js +0 -54
  147. package/dist/components/location.d.ts +0 -16
  148. package/dist/components/location.js +0 -59
  149. package/dist/components/network.d.ts +0 -19
  150. package/dist/components/network.js +0 -65
  151. package/dist/components/partitions.d.ts +0 -16
  152. package/dist/components/partitions.js +0 -73
  153. package/dist/components/steps.d.ts +0 -13
  154. package/dist/components/steps.js +0 -148
  155. package/dist/components/summary.d.ts +0 -24
  156. package/dist/components/summary.js +0 -82
  157. package/dist/components/title.d.ts +0 -11
  158. package/dist/components/title.js +0 -35
  159. package/dist/components/users.d.ts +0 -24
  160. package/dist/components/users.js +0 -80
  161. package/dist/components/welcome.d.ts +0 -13
  162. package/dist/components/welcome.js +0 -63
  163. package/dist/index.d.ts +0 -8
  164. package/dist/index.js +0 -8
  165. package/dist/interfaces/i-addons.d.ts +0 -13
  166. package/dist/interfaces/i-addons.js +0 -8
  167. package/dist/interfaces/i-analyze.d.ts +0 -17
  168. package/dist/interfaces/i-analyze.js +0 -17
  169. package/dist/interfaces/i-app.d.ts +0 -14
  170. package/dist/interfaces/i-app.js +0 -8
  171. package/dist/interfaces/i-branding.d.ts +0 -36
  172. package/dist/interfaces/i-branding.js +0 -8
  173. package/dist/interfaces/i-calamares-partition.d.ts +0 -18
  174. package/dist/interfaces/i-calamares-partition.js +0 -8
  175. package/dist/interfaces/i-config-tools.d.ts +0 -18
  176. package/dist/interfaces/i-config-tools.js +0 -8
  177. package/dist/interfaces/i-devices.d.ts +0 -20
  178. package/dist/interfaces/i-devices.js +0 -8
  179. package/dist/interfaces/i-distro.d.ts +0 -27
  180. package/dist/interfaces/i-distro.js +0 -8
  181. package/dist/interfaces/i-drive-list.d.ts +0 -33
  182. package/dist/interfaces/i-drive-list.js +0 -8
  183. package/dist/interfaces/i-eggs-config.d.ts +0 -32
  184. package/dist/interfaces/i-eggs-config.js +0 -8
  185. package/dist/interfaces/i-excludes.d.ts +0 -14
  186. package/dist/interfaces/i-excludes.js +0 -8
  187. package/dist/interfaces/i-exec.d.ts +0 -11
  188. package/dist/interfaces/i-exec.js +0 -8
  189. package/dist/interfaces/i-initrd.d.ts +0 -13
  190. package/dist/interfaces/i-initrd.js +0 -8
  191. package/dist/interfaces/i-install.d.ts +0 -16
  192. package/dist/interfaces/i-install.js +0 -8
  193. package/dist/interfaces/i-installer.d.ts +0 -17
  194. package/dist/interfaces/i-installer.js +0 -8
  195. package/dist/interfaces/i-krill-config.d.ts +0 -33
  196. package/dist/interfaces/i-krill-config.js +0 -8
  197. package/dist/interfaces/i-krill.d.ts +0 -42
  198. package/dist/interfaces/i-krill.js +0 -8
  199. package/dist/interfaces/i-materia.d.ts +0 -41
  200. package/dist/interfaces/i-materia.js +0 -8
  201. package/dist/interfaces/i-net.d.ts +0 -16
  202. package/dist/interfaces/i-net.js +0 -8
  203. package/dist/interfaces/i-packages.d.ts +0 -16
  204. package/dist/interfaces/i-packages.js +0 -8
  205. package/dist/interfaces/i-partitions.d.ts +0 -16
  206. package/dist/interfaces/i-partitions.js +0 -8
  207. package/dist/interfaces/i-pxe.d.ts +0 -45
  208. package/dist/interfaces/i-pxe.js +0 -1
  209. package/dist/interfaces/i-remix.d.ts +0 -21
  210. package/dist/interfaces/i-remix.js +0 -8
  211. package/dist/interfaces/i-settings.d.ts +0 -33
  212. package/dist/interfaces/i-settings.js +0 -8
  213. package/dist/interfaces/i-user.d.ts +0 -14
  214. package/dist/interfaces/i-user.js +0 -8
  215. package/dist/interfaces/i-workdir.d.ts +0 -14
  216. package/dist/interfaces/i-workdir.js +0 -8
  217. package/dist/interfaces/i-xkb-model.d.ts +0 -24
  218. package/dist/interfaces/i-xkb-model.js +0 -8
  219. package/dist/interfaces/index.d.ts +0 -25
  220. package/dist/interfaces/index.js +0 -8
  221. package/dist/krill/modules/add-user.d.ts +0 -20
  222. package/dist/krill/modules/add-user.js +0 -50
  223. package/dist/krill/modules/bootloader-config-arch.d.ts +0 -14
  224. package/dist/krill/modules/bootloader-config-arch.js +0 -37
  225. package/dist/krill/modules/bootloader-config-debian.d.ts +0 -10
  226. package/dist/krill/modules/bootloader-config-debian.js +0 -50
  227. package/dist/krill/modules/bootloader-config.d.ts +0 -10
  228. package/dist/krill/modules/bootloader-config.js +0 -16
  229. package/dist/krill/modules/bootloader.d.ts +0 -14
  230. package/dist/krill/modules/bootloader.js +0 -30
  231. package/dist/krill/modules/change-password.d.ts +0 -15
  232. package/dist/krill/modules/change-password.js +0 -18
  233. package/dist/krill/modules/del-live-user.d.ts +0 -14
  234. package/dist/krill/modules/del-live-user.js +0 -38
  235. package/dist/krill/modules/fstab.d.ts +0 -14
  236. package/dist/krill/modules/fstab.js +0 -121
  237. package/dist/krill/modules/grubcfg.d.ts +0 -17
  238. package/dist/krill/modules/grubcfg.js +0 -29
  239. package/dist/krill/modules/hostname.d.ts +0 -13
  240. package/dist/krill/modules/hostname.js +0 -50
  241. package/dist/krill/modules/initramfs-cfg.d.ts +0 -14
  242. package/dist/krill/modules/initramfs-cfg.js +0 -25
  243. package/dist/krill/modules/initramfs.d.ts +0 -13
  244. package/dist/krill/modules/initramfs.js +0 -48
  245. package/dist/krill/modules/locale-cfg.d.ts +0 -10
  246. package/dist/krill/modules/locale-cfg.js +0 -61
  247. package/dist/krill/modules/locale.d.ts +0 -13
  248. package/dist/krill/modules/locale.js +0 -48
  249. package/dist/krill/modules/m-keyboard.d.ts +0 -14
  250. package/dist/krill/modules/m-keyboard.js +0 -79
  251. package/dist/krill/modules/m-timezone.d.ts +0 -14
  252. package/dist/krill/modules/m-timezone.js +0 -22
  253. package/dist/krill/modules/machine-id.d.ts +0 -15
  254. package/dist/krill/modules/machine-id.js +0 -30
  255. package/dist/krill/modules/mkfs.d.ts +0 -13
  256. package/dist/krill/modules/mkfs.js +0 -48
  257. package/dist/krill/modules/mount-fs.d.ts +0 -17
  258. package/dist/krill/modules/mount-fs.js +0 -60
  259. package/dist/krill/modules/mount-vfs.d.ts +0 -17
  260. package/dist/krill/modules/mount-vfs.js +0 -40
  261. package/dist/krill/modules/network-cfg.d.ts +0 -19
  262. package/dist/krill/modules/network-cfg.js +0 -64
  263. package/dist/krill/modules/packages.d.ts +0 -14
  264. package/dist/krill/modules/packages.js +0 -105
  265. package/dist/krill/modules/partition.d.ts +0 -20
  266. package/dist/krill/modules/partition.js +0 -324
  267. package/dist/krill/modules/remove-installer-link.d.ts +0 -13
  268. package/dist/krill/modules/remove-installer-link.js +0 -35
  269. package/dist/krill/modules/umount.d.ts +0 -14
  270. package/dist/krill/modules/umount.js +0 -27
  271. package/dist/krill/modules/unpackfs.d.ts +0 -13
  272. package/dist/krill/modules/unpackfs.js +0 -19
  273. package/dist/krill/prepare.d.ts +0 -78
  274. package/dist/krill/prepare.js +0 -626
  275. package/dist/krill/sequence.d.ts +0 -157
  276. package/dist/krill/sequence.js +0 -665
  277. package/dist/lib/get_address.d.ts +0 -8
  278. package/dist/lib/get_address.js +0 -23
  279. package/dist/lib/get_dns.d.ts +0 -8
  280. package/dist/lib/get_dns.js +0 -23
  281. package/dist/lib/get_domain.d.ts +0 -8
  282. package/dist/lib/get_domain.js +0 -23
  283. package/dist/lib/get_gateway.d.ts +0 -8
  284. package/dist/lib/get_gateway.js +0 -23
  285. package/dist/lib/get_hostname.d.ts +0 -8
  286. package/dist/lib/get_hostname.js +0 -23
  287. package/dist/lib/get_netmask.d.ts +0 -8
  288. package/dist/lib/get_netmask.js +0 -23
  289. package/dist/lib/get_password.d.ts +0 -8
  290. package/dist/lib/get_password.js +0 -36
  291. package/dist/lib/get_userfullname.d.ts +0 -8
  292. package/dist/lib/get_userfullname.js +0 -23
  293. package/dist/lib/get_username.d.ts +0 -8
  294. package/dist/lib/get_username.js +0 -23
  295. package/dist/lib/kill_me_softly.d.ts +0 -11
  296. package/dist/lib/kill_me_softly.js +0 -61
  297. package/dist/lib/select_address_type.d.ts +0 -8
  298. package/dist/lib/select_address_type.js +0 -24
  299. package/dist/lib/select_filesystem_type.d.ts +0 -8
  300. package/dist/lib/select_filesystem_type.js +0 -45
  301. package/dist/lib/select_installation_device.d.ts +0 -8
  302. package/dist/lib/select_installation_device.js +0 -30
  303. package/dist/lib/select_installation_mode.d.ts +0 -8
  304. package/dist/lib/select_installation_mode.js +0 -24
  305. package/dist/lib/select_interface.d.ts +0 -8
  306. package/dist/lib/select_interface.js +0 -24
  307. package/dist/lib/select_keyboard_layout.d.ts +0 -11
  308. package/dist/lib/select_keyboard_layout.js +0 -36
  309. package/dist/lib/select_keyboard_model.d.ts +0 -11
  310. package/dist/lib/select_keyboard_model.js +0 -34
  311. package/dist/lib/select_keyboard_option.d.ts +0 -11
  312. package/dist/lib/select_keyboard_option.js +0 -34
  313. package/dist/lib/select_keyboard_variant.d.ts +0 -11
  314. package/dist/lib/select_keyboard_variant.js +0 -35
  315. package/dist/lib/select_languages.d.ts +0 -8
  316. package/dist/lib/select_languages.js +0 -28
  317. package/dist/lib/select_regions.d.ts +0 -8
  318. package/dist/lib/select_regions.js +0 -24
  319. package/dist/lib/select_user_swap_choice.d.ts +0 -8
  320. package/dist/lib/select_user_swap_choice.js +0 -34
  321. package/dist/lib/select_zones.d.ts +0 -8
  322. package/dist/lib/select_zones.js +0 -518
  323. package/dist/lib/utils.d.ts +0 -34
  324. package/dist/lib/utils.js +0 -79
@@ -1,14 +0,0 @@
1
- /**
2
- * ./src/krill/modules/m-timezone.ts
3
- * penguins-eggs v.10.0.0 / ecmascript 2020
4
- * author: Piero Proietti
5
- * email: piero.proietti@gmail.com
6
- * license: MIT
7
- * https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
8
- */
9
- import Sequence from '../sequence.js';
10
- /**
11
- *
12
- * @param this
13
- */
14
- export default function mTimezone(this: Sequence): Promise<void>;
@@ -1,22 +0,0 @@
1
- /**
2
- * ./src/krill/modules/m-timezone.ts
3
- * penguins-eggs v.10.0.0 / ecmascript 2020
4
- * author: Piero Proietti
5
- * email: piero.proietti@gmail.com
6
- * license: MIT
7
- * https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
8
- */
9
- import fs from 'node:fs';
10
- import { exec } from '../../lib/utils.js';
11
- /**
12
- *
13
- * @param this
14
- */
15
- export default async function mTimezone() {
16
- if (fs.existsSync('/etc/localtime')) {
17
- const cmd = `chroot ${this.installTarget} unlink /etc/localtime`;
18
- await exec(cmd, this.echo);
19
- }
20
- const cmd = `chroot ${this.installTarget} ln -sf /usr/share/zoneinfo/${this.region}/${this.zone} /etc/localtime`;
21
- await exec(cmd, this.echo);
22
- }
@@ -1,15 +0,0 @@
1
- /**
2
- * penguins-eggs
3
- * krill modules: machine-id.ts
4
- * author: Piero Proietti
5
- * email: piero.proietti@gmail.com
6
- * license: MIT
7
- * https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
8
- */
9
- import Sequence from '../sequence.js';
10
- /**
11
- * On Ubuntu
12
- * /etc/machine-id must exist to be re-created
13
- * https://unix.stackexchange.com/questions/402999/is-it-ok-to-change-etc-machine-id
14
- */
15
- export default function machineId(this: Sequence): Promise<void>;
@@ -1,30 +0,0 @@
1
- /**
2
- * penguins-eggs
3
- * krill modules: machine-id.ts
4
- * author: Piero Proietti
5
- * email: piero.proietti@gmail.com
6
- * license: MIT
7
- * https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
8
- */
9
- import fs from 'node:fs';
10
- import Distro from '../../classes/distro.js';
11
- import { exec } from '../../lib/utils.js';
12
- /**
13
- * On Ubuntu
14
- * /etc/machine-id must exist to be re-created
15
- * https://unix.stackexchange.com/questions/402999/is-it-ok-to-change-etc-machine-id
16
- */
17
- export default async function machineId() {
18
- const file = `${this.installTarget}/etc/machine-id`;
19
- if (fs.existsSync(file)) {
20
- await exec(`rm ${file}`, this.echo);
21
- }
22
- const distro = new Distro();
23
- if (distro.familyId === "alpine") {
24
- await exec(`dbus-uuidgen > ${this.installTarget}/var/lib/dbus/machine-id`);
25
- await exec(`cp ${this.installTarget}/var/lib/dbus/machine-id ${this.installTarget}/etc/machine-id`);
26
- }
27
- else {
28
- await exec(`touch ${file}`);
29
- }
30
- }
@@ -1,13 +0,0 @@
1
- /**
2
- * ./src/krill/modules/mkfs.ts
3
- * penguins-eggs v.10.0.0 / ecmascript 2020
4
- * author: Piero Proietti
5
- * email: piero.proietti@gmail.com
6
- * license: MIT
7
- * https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
8
- */
9
- import Sequence from '../sequence.js';
10
- /**
11
- * mkfs
12
- */
13
- export default function mkfs(this: Sequence): Promise<boolean>;
@@ -1,48 +0,0 @@
1
- /**
2
- * ./src/krill/modules/mkfs.ts
3
- * penguins-eggs v.10.0.0 / ecmascript 2020
4
- * author: Piero Proietti
5
- * email: piero.proietti@gmail.com
6
- * license: MIT
7
- * https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
8
- */
9
- import { exec } from '../../lib/utils.js';
10
- /**
11
- * mkfs
12
- */
13
- export default async function mkfs() {
14
- const result = true;
15
- if (this.partitions.filesystemType === 'ext4') {
16
- if (this.efi) {
17
- await exec(`mkdosfs -F 32 -I ${this.devices.efi.name} ${this.toNull}`, this.echo);
18
- }
19
- if (this.devices.boot.name !== 'none') {
20
- if (this.devices.boot.fsType === undefined) {
21
- this.devices.boot.fsType = 'ext2';
22
- this.devices.boot.mountPoint = '/boot';
23
- }
24
- await exec(`mke2fs -Ft ${this.devices.boot.fsType} ${this.devices.boot.name} ${this.toNull}`, this.echo);
25
- }
26
- if (this.devices.root.name !== 'none') {
27
- await exec(`mke2fs -Ft ${this.devices.root.fsType} ${this.devices.root.name} ${this.toNull}`, this.echo);
28
- }
29
- if (this.devices.data.name !== 'none') {
30
- await exec(`mke2fs -Ft ${this.devices.data.fsType} ${this.devices.data.name} ${this.toNull}`, this.echo);
31
- }
32
- if (this.devices.swap.name !== 'none') {
33
- await exec(`mkswap ${this.devices.swap.name} ${this.toNull}`, this.echo);
34
- }
35
- }
36
- else if (this.partitions.filesystemType === 'btrfs') {
37
- await exec(`mkfs.btrfs -f ${this.devices.root.name} ${this.toNull}`, this.echo);
38
- // create subvolumes
39
- // await exec(`btrfs subvolume create /.snapshots ${this.toNull}`, this.echo)
40
- // await exec(`btrfs subvolume create /home ${this.toNull}`, this.echo)
41
- // await exec(`btrfs subvolume create /root ${this.toNull}`, this.echo)
42
- // await exec(`btrfs subvolume create /var/log ${this.toNull}`, this.echo)
43
- // await exec(`btrfs subvolume create /var/lib/AccountsService ${this.toNull}`, this.echo)
44
- // await exec(`btrfs subvolume create /var/lib/blueman ${this.toNull}`, this.echo)
45
- // await exec(`btrfs subvolume create /tmp ${this.toNull}`, this.echo)
46
- }
47
- return result;
48
- }
@@ -1,17 +0,0 @@
1
- /**
2
- * ./src/krill/modules/mount-fs.ts
3
- * penguins-eggs v.10.0.0 / ecmascript 2020
4
- * author: Piero Proietti
5
- * email: piero.proietti@gmail.com
6
- * license: MIT
7
- * https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
8
- */
9
- import Sequence from '../sequence.js';
10
- /**
11
- * mountFs
12
- */
13
- export declare function mountFs(this: Sequence): Promise<boolean>;
14
- /**
15
- * umountFs
16
- */
17
- export declare function umountFs(this: Sequence): Promise<boolean>;
@@ -1,60 +0,0 @@
1
- /**
2
- * ./src/krill/modules/mount-fs.ts
3
- * penguins-eggs v.10.0.0 / ecmascript 2020
4
- * author: Piero Proietti
5
- * email: piero.proietti@gmail.com
6
- * license: MIT
7
- * https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
8
- */
9
- import fs from 'node:fs';
10
- import { exec } from '../../lib/utils.js';
11
- /**
12
- * mountFs
13
- */
14
- export async function mountFs() {
15
- if (!fs.existsSync(this.installTarget)) {
16
- await exec(`mkdir ${this.installTarget} ${this.toNull}`, this.echo);
17
- }
18
- // root
19
- await exec(`mount ${this.devices.root.name} ${this.installTarget}${this.devices.root.mountPoint} ${this.toNull}`, this.echo);
20
- await exec(`tune2fs -c 0 -i 0 ${this.devices.root.name} ${this.toNull}`, this.echo);
21
- await exec(`rm -rf ${this.installTarget}/lost+found ${this.toNull}`, this.echo);
22
- // boot
23
- if (this.devices.boot.name !== 'none') {
24
- await exec(`mkdir ${this.installTarget}/boot -p ${this.toNull}`, this.echo);
25
- await exec(`mount ${this.devices.boot.name} ${this.installTarget}${this.devices.boot.mountPoint} ${this.toNull}`, this.echo);
26
- await exec(`tune2fs -c 0 -i 0 ${this.devices.boot.name} ${this.toNull}`, this.echo);
27
- }
28
- // data
29
- if (this.devices.data.name !== 'none') {
30
- await exec(`mkdir ${this.installTarget}${this.devices.data.mountPoint} -p ${this.toNull}`, this.echo);
31
- await exec(`mount ${this.devices.data.name} ${this.installTarget}${this.devices.data.mountPoint} ${this.toNull}`, this.echo);
32
- await exec(`tune2fs -c 0 -i 0 ${this.devices.data.name} ${this.toNull}`, this.echo);
33
- }
34
- // efi
35
- if (this.efi && !fs.existsSync(this.installTarget + this.devices.efi.mountPoint)) {
36
- await exec(`mkdir ${this.installTarget}${this.devices.efi.mountPoint} -p ${this.toNull}`, this.echo);
37
- await exec(`mount ${this.devices.efi.name} ${this.installTarget}${this.devices.efi.mountPoint} ${this.toNull}`, this.echo);
38
- }
39
- return true;
40
- }
41
- /**
42
- * umountFs
43
- */
44
- export async function umountFs() {
45
- // efi
46
- if (this.efi) {
47
- await this.umount(this.devices.efi.name);
48
- }
49
- // data
50
- if (this.devices.data.name !== 'none') {
51
- await this.umount(this.devices.data.name);
52
- }
53
- // boot
54
- if (this.devices.boot.name !== 'none') {
55
- await this.umount(this.devices.boot.name);
56
- }
57
- // root
58
- await this.umount(this.devices.root.name);
59
- return true;
60
- }
@@ -1,17 +0,0 @@
1
- /**
2
- * ./src/krill/modules/mount-vfs.ts
3
- * penguins-eggs v.10.0.0 / ecmascript 2020
4
- * author: Piero Proietti
5
- * email: piero.proietti@gmail.com
6
- * license: MIT
7
- * https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
8
- */
9
- import Sequence from '../sequence.js';
10
- /**
11
- * mountvfs()
12
- */
13
- export declare function mountVfs(this: Sequence): Promise<void>;
14
- /**
15
- *
16
- */
17
- export declare function umountVfs(this: Sequence): Promise<void>;
@@ -1,40 +0,0 @@
1
- /**
2
- * ./src/krill/modules/mount-vfs.ts
3
- * penguins-eggs v.10.0.0 / ecmascript 2020
4
- * author: Piero Proietti
5
- * email: piero.proietti@gmail.com
6
- * license: MIT
7
- * https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
8
- */
9
- import { exec } from '../../lib/utils.js';
10
- /**
11
- * mountvfs()
12
- */
13
- export async function mountVfs() {
14
- await exec(`mkdir ${this.installTarget}/dev ${this.toNull}`, this.echo);
15
- await exec(`mkdir ${this.installTarget}/dev/pts ${this.toNull}`, this.echo);
16
- await exec(`mkdir ${this.installTarget}/proc ${this.toNull}`, this.echo);
17
- await exec(`mkdir ${this.installTarget}/sys ${this.toNull}`, this.echo);
18
- await exec(`mkdir ${this.installTarget}/run ${this.toNull}`, this.echo);
19
- await exec(`mount -o bind /dev ${this.installTarget}/dev ${this.toNull}`, this.echo);
20
- await exec(`mount -o bind /dev/pts ${this.installTarget}/dev/pts ${this.toNull}`, this.echo);
21
- await exec(`mount -o bind /proc ${this.installTarget}/proc ${this.toNull}`, this.echo);
22
- await exec(`mount -o bind /sys ${this.installTarget}/sys ${this.toNull}`, this.echo);
23
- if (this.efi) {
24
- await exec(`mount -o bind /sys/firmware/efi/efivars ${this.installTarget}/sys/firmware/efi/efivars ${this.toNull}`, this.echo);
25
- }
26
- await exec(`mount -o rbind /run ${this.installTarget}/run ${this.toNull}`, this.echo);
27
- }
28
- /**
29
- *
30
- */
31
- export async function umountVfs() {
32
- await this.umount(`${this.installTarget}/dev/pts`);
33
- await this.umount(`${this.installTarget}/dev`);
34
- await this.umount(`${this.installTarget}/proc`);
35
- await this.umount(`${this.installTarget}/run`);
36
- if (this.efi) {
37
- await this.umount(`${this.installTarget}/sys/firmware/efi/efivars`);
38
- }
39
- await this.umount(`${this.installTarget}/sys`);
40
- }
@@ -1,19 +0,0 @@
1
- /**
2
- * ./src/krill/modules/network-cfg.ts
3
- * penguins-eggs v.10.0.0 / ecmascript 2020
4
- * author: Piero Proietti
5
- * email: piero.proietti@gmail.com
6
- * license: MIT
7
- * https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
8
- */
9
- import Sequence from '../sequence.js';
10
- /**
11
- * networkcfg
12
- *
13
- * - debian: /etc/network/interface
14
- * - ubuntu: netplan
15
- * - arch:
16
- *
17
- * - all: /etc/resolv.conf
18
- */
19
- export default function networkCfg(this: Sequence): Promise<void>;
@@ -1,64 +0,0 @@
1
- /**
2
- * ./src/krill/modules/network-cfg.ts
3
- * penguins-eggs v.10.0.0 / ecmascript 2020
4
- * author: Piero Proietti
5
- * email: piero.proietti@gmail.com
6
- * license: MIT
7
- * https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
8
- */
9
- import fs from 'node:fs';
10
- import Pacman from '../../classes/pacman.js';
11
- import Systemctl from '../../classes/systemctl.js';
12
- import Utils from '../../classes/utils.js';
13
- import { exec } from '../../lib/utils.js';
14
- /**
15
- * networkcfg
16
- *
17
- * - debian: /etc/network/interface
18
- * - ubuntu: netplan
19
- * - arch:
20
- *
21
- * - all: /etc/resolv.conf
22
- */
23
- export default async function networkCfg() {
24
- const systemdCtl = new Systemctl();
25
- /**
26
- * debian: /etc/network/interfaces
27
- */
28
- if (this.distro.familyId === 'debian' && !Pacman.packageIsInstalled('netplan.io')) {
29
- const file = this.installTarget + '/etc/network/interfaces';
30
- let content = '# created by eggs\n\n';
31
- content += 'auto lo\n';
32
- content += 'iface lo inet loopback\n\n';
33
- content += 'auto ' + this.network.iface + '\n';
34
- content += 'iface ' + this.network.iface + ' inet ' + this.network.addressType + '\n';
35
- if (this.network.addressType !== 'dhcp') {
36
- content += ' address ' + this.network.address + '\n';
37
- content += ' netmask ' + this.network.netmask + '\n';
38
- content += ' gateway ' + this.network.gateway + '\n';
39
- }
40
- Utils.write(file, content);
41
- }
42
- else if (this.distro.familyId === 'debian' && Pacman.packageIsInstalled('netplan.io')) {
43
- // netplan: to do
44
- }
45
- else if (this.distro.familyId === 'arch') {
46
- // arch: seem to work
47
- }
48
- /**
49
- * resolv.conf
50
- */
51
- const resolvFile = this.installTarget + '/etc/resolv.conf';
52
- await exec(`rm -f ${resolvFile}`);
53
- if (fs.existsSync('/run/systemd/resolve/resolv.conf')) {
54
- await exec(`ln -s /run/systemd/resolve/resolv.conf ${resolvFile}`);
55
- }
56
- else {
57
- let content = '# created by eggs\n\n';
58
- content += 'domain ' + this.network.domain + '\n';
59
- for (const element of this.network.dns) {
60
- content += 'nameserver ' + element + '\n';
61
- }
62
- Utils.write(resolvFile, content);
63
- }
64
- }
@@ -1,14 +0,0 @@
1
- /**
2
- * ./src/krill/modules/packages.ts
3
- * penguins-eggs v.10.0.0 / ecmascript 2020
4
- * author: Piero Proietti
5
- * email: piero.proietti@gmail.com
6
- * license: MIT
7
- * https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
8
- */
9
- import Sequence from '../sequence.js';
10
- /**
11
- *
12
- * @param this
13
- */
14
- export default function packages(this: Sequence): Promise<void>;
@@ -1,105 +0,0 @@
1
- /**
2
- * ./src/krill/modules/packages.ts
3
- * penguins-eggs v.10.0.0 / ecmascript 2020
4
- * author: Piero Proietti
5
- * email: piero.proietti@gmail.com
6
- * license: MIT
7
- * https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
8
- */
9
- import yaml from 'js-yaml';
10
- import fs from 'node:fs';
11
- import Pacman from '../../classes/pacman.js';
12
- import Utils from '../../classes/utils.js';
13
- import { exec } from '../../lib/utils.js';
14
- /**
15
- *
16
- * @param this
17
- */
18
- export default async function packages() {
19
- const echoYes = Utils.setEcho(true);
20
- let modulePath = '/etc/penguins-eggs.d/krill/';
21
- if (Pacman.packageIsInstalled('calamares')) {
22
- modulePath = '/etc/calamares/';
23
- }
24
- const config_file = `${modulePath}modules/packages.conf`;
25
- if (fs.existsSync(config_file)) {
26
- const packages = yaml.load(fs.readFileSync(config_file, 'utf8'));
27
- let packagesToInstall = [];
28
- let packagesToRemove = [];
29
- if (packages.operations !== undefined) {
30
- for (const operation of packages.operations) {
31
- if ('try_remove' in operation) {
32
- packagesToRemove = operation.try_remove;
33
- }
34
- if ('try_install' in operation) {
35
- packagesToInstall = operation.try_install;
36
- }
37
- }
38
- }
39
- // Alpine
40
- if (this.distro.familyId === "alpine") {
41
- packages.backend = "apk";
42
- }
43
- if (packages.backend === 'apt') {
44
- /**
45
- * apt
46
- */
47
- if (packagesToRemove != undefined && packagesToRemove.length > 0) {
48
- let cmd = `chroot ${this.installTarget} apt-get purge -y `;
49
- for (const elem of packagesToRemove) {
50
- if (Pacman.packageIsInstalled(elem)) {
51
- cmd += elem + ' ';
52
- }
53
- }
54
- await exec(`${cmd} ${this.toNull}`, this.echo);
55
- const autoremove = `chroot ${this.installTarget} apt-get autoremove -y ${this.toNull}`;
56
- await exec(autoremove, this.echo);
57
- }
58
- if (packagesToInstall != undefined && packagesToInstall.length > 0) {
59
- let cmd = `chroot ${this.installTarget} apt-get install -y `;
60
- for (const elem of packagesToInstall) {
61
- cmd += elem + ' ';
62
- }
63
- const update = `chroot ${this.installTarget} apt-get update ${this.toNull}`;
64
- await exec(update, this.echo);
65
- await exec(`${cmd} ${this.toNull}`, this.echo);
66
- }
67
- }
68
- else if (packages.backend === 'pacman') {
69
- /**
70
- * pacman
71
- */
72
- if (packagesToRemove != undefined && packagesToRemove.length > 0) {
73
- let cmd = `chroot ${this.installTarget} pacman -R\n`;
74
- for (const elem of packagesToRemove) {
75
- cmd += elem + ' ';
76
- }
77
- await exec(`${cmd} ${echoYes}`, this.echo);
78
- }
79
- if (packagesToInstall != undefined && packagesToInstall.length > 0) {
80
- for (const elem of packagesToInstall) {
81
- await exec(`chroot ${this.installTarget} pacman -S ${elem}`, echoYes);
82
- }
83
- }
84
- }
85
- else if (packages.backend === 'apk') {
86
- /**
87
- * apk
88
- */
89
- if (packagesToRemove != undefined && packagesToRemove.length > 0) {
90
- let cmd = `chroot ${this.installTarget} apk del `;
91
- for (const elem of packagesToRemove) {
92
- cmd += elem + ' ';
93
- }
94
- await exec(`${cmd} ${this.toNull}`, this.echo);
95
- }
96
- if (packagesToInstall != undefined && packagesToInstall.length > 0) {
97
- let cmd = `chroot ${this.installTarget} apk add `;
98
- for (const elem of packagesToInstall) {
99
- cmd += elem + ' ';
100
- }
101
- await exec(`${cmd} ${this.toNull}`, this.echo);
102
- }
103
- }
104
- }
105
- }
@@ -1,20 +0,0 @@
1
- /**
2
- * ./src/krill/modules/partition.ts
3
- * penguins-eggs v.10.0.0 / ecmascript 2020
4
- * author: Piero Proietti
5
- * email: piero.proietti@gmail.com
6
- * license: MIT
7
- * https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
8
- */
9
- import Sequence from '../sequence.js';
10
- /**
11
- *
12
- * @param this
13
- */
14
- export default function partition(this: Sequence): Promise<boolean>;
15
- /**
16
- *
17
- * @param installDevice
18
- * @returns
19
- */
20
- export declare function lvmPartInfo(installDevice?: string): Promise<[string, number, number, number]>;