penguins-eggs 10.0.57 → 10.0.60

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 (238) hide show
  1. package/.oclif.manifest.json +8 -1
  2. package/README.md +35 -34
  3. package/addons/eggs/theme/livecd/grub.main.full.cfg +0 -6
  4. package/assets/config.cfg +30 -0
  5. package/conf/distros/buster/calamares/calamares-modules/cleanup/cleanup.sh +8 -1
  6. package/conf/distros/buster/calamares/modules/partition.yml +159 -23
  7. package/conf/distros/buster/calamares/modules/removeuser.yml +1 -1
  8. package/conf/exclude.list.d/master.list +1 -0
  9. package/conf/krill.yaml +8 -0
  10. package/dist/classes/distro.js +1 -1
  11. package/dist/classes/incubation/incubator.d/alpine.js +1 -1
  12. package/dist/classes/incubation/incubator.d/bionic.js +1 -1
  13. package/dist/classes/incubation/incubator.d/buster.js +1 -1
  14. package/dist/classes/incubation/incubator.d/noble.js +1 -1
  15. package/dist/classes/incubation/incubator.d/openmamba.js +1 -1
  16. package/dist/classes/incubation/incubator.d/opensuse.js +1 -1
  17. package/dist/classes/incubation/incubator.d/rolling.js +1 -1
  18. package/dist/classes/ovary.d/bind-live-fs.d.ts +18 -0
  19. package/dist/classes/ovary.d/bind-live-fs.js +185 -0
  20. package/dist/classes/ovary.d/bind-vfs.d.ts +17 -0
  21. package/dist/classes/ovary.d/bind-vfs.js +37 -0
  22. package/dist/classes/ovary.d/create-xdg-autostart.d.ts +13 -0
  23. package/dist/classes/ovary.d/create-xdg-autostart.js +194 -0
  24. package/dist/classes/ovary.d/edit-live-fs.d.ts +19 -0
  25. package/dist/classes/ovary.d/edit-live-fs.js +249 -0
  26. package/dist/classes/ovary.d/fertilization.d.ts +12 -0
  27. package/dist/classes/ovary.d/fertilization.js +46 -0
  28. package/dist/classes/ovary.d/finished.d.ts +13 -0
  29. package/dist/classes/ovary.d/finished.js +41 -0
  30. package/dist/classes/ovary.d/initrd.d.ts +21 -0
  31. package/dist/classes/ovary.d/initrd.js +72 -0
  32. package/dist/classes/ovary.d/kernel-copy.d.ts +12 -0
  33. package/dist/classes/ovary.d/kernel-copy.js +36 -0
  34. package/dist/classes/ovary.d/live-create-structure.d.ts +12 -0
  35. package/dist/classes/ovary.d/live-create-structure.js +90 -0
  36. package/dist/classes/ovary.d/make-dot-disk.d.ts +12 -0
  37. package/dist/classes/ovary.d/make-dot-disk.js +40 -0
  38. package/dist/classes/ovary.d/make-efi.d.ts +12 -0
  39. package/dist/classes/ovary.d/make-efi.js +268 -0
  40. package/dist/classes/ovary.d/make-iso.d.ts +13 -0
  41. package/dist/classes/ovary.d/make-iso.js +45 -0
  42. package/dist/classes/ovary.d/make-squashfs.d.ts +18 -0
  43. package/dist/classes/ovary.d/make-squashfs.js +117 -0
  44. package/dist/classes/ovary.d/merged.d.ts +31 -0
  45. package/dist/classes/ovary.d/merged.js +87 -0
  46. package/dist/classes/ovary.d/produce.d.ts +23 -0
  47. package/dist/classes/ovary.d/produce.js +287 -0
  48. package/dist/classes/ovary.d/rexec.d.ts +13 -0
  49. package/dist/classes/ovary.d/rexec.js +34 -0
  50. package/dist/classes/ovary.d/syslinux.d.ts +12 -0
  51. package/dist/classes/ovary.d/syslinux.js +79 -0
  52. package/dist/classes/ovary.d/user-create-live.d.ts +14 -0
  53. package/dist/classes/ovary.d/user-create-live.js +86 -0
  54. package/dist/classes/ovary.d/users-remove.d.ts +9 -0
  55. package/dist/classes/ovary.d/users-remove.js +38 -0
  56. package/dist/classes/ovary.d/xorriso-commend.d.ts +14 -0
  57. package/dist/classes/ovary.d/xorriso-commend.js +119 -0
  58. package/dist/classes/ovary.d.ts +46 -167
  59. package/dist/classes/ovary.js +49 -1818
  60. package/dist/classes/pacman.d/archlinux.js +2 -1
  61. package/dist/classes/settings.d.ts +0 -1
  62. package/dist/classes/settings.js +2 -2
  63. package/dist/classes/utils.d.ts +6 -5
  64. package/dist/classes/utils.js +10 -16
  65. package/dist/commands/install.d.ts +1 -0
  66. package/dist/commands/install.js +7 -4
  67. package/dist/commands/kill.js +1 -1
  68. package/dist/commands/status.js +1 -1
  69. package/dist/commands/update.js +3 -3
  70. package/dist/interfaces/i-luks-passphrase.d.ts +11 -0
  71. package/dist/interfaces/i-luks-passphrase.js +8 -0
  72. package/dist/interfaces/index.d.ts +1 -0
  73. package/dist/{classes → krill/classes}/cfs.js +1 -1
  74. package/dist/krill/classes/krill_enums.d.ts +24 -0
  75. package/dist/krill/classes/krill_enums.js +26 -0
  76. package/dist/krill/classes/prepare.d/confirm.d.ts +5 -0
  77. package/dist/krill/classes/prepare.d/confirm.js +30 -0
  78. package/dist/krill/classes/prepare.d/keyboard.d.ts +14 -0
  79. package/dist/krill/classes/prepare.d/keyboard.js +62 -0
  80. package/dist/krill/classes/prepare.d/location.d.ts +17 -0
  81. package/dist/krill/classes/prepare.d/location.js +59 -0
  82. package/dist/krill/classes/prepare.d/network.d.ts +14 -0
  83. package/dist/krill/classes/prepare.d/network.js +68 -0
  84. package/dist/krill/classes/prepare.d/partitions.d.ts +14 -0
  85. package/dist/krill/classes/prepare.d/partitions.js +86 -0
  86. package/dist/krill/classes/prepare.d/summary.d.ts +15 -0
  87. package/dist/krill/classes/prepare.d/summary.js +69 -0
  88. package/dist/krill/classes/prepare.d/users.d.ts +6 -0
  89. package/dist/krill/classes/prepare.d/users.js +63 -0
  90. package/dist/krill/classes/prepare.d/welcome.d.ts +6 -0
  91. package/dist/krill/classes/prepare.d/welcome.js +30 -0
  92. package/dist/krill/{prepare.d.ts → classes/prepare.d.ts} +21 -35
  93. package/dist/krill/classes/prepare.js +314 -0
  94. package/dist/krill/{modules/add-user.js → classes/sequence.d/add_user.js} +1 -1
  95. package/dist/krill/{modules → classes/sequence.d}/bootloader.d.ts +1 -1
  96. package/dist/krill/{modules → classes/sequence.d}/bootloader.js +3 -3
  97. package/dist/krill/{modules/bootloader-config.js → classes/sequence.d/bootloader_config.js} +2 -2
  98. package/dist/krill/{modules/change-password.js → classes/sequence.d/change_password.js} +1 -1
  99. package/dist/krill/{modules/del-live-user.js → classes/sequence.d/del_live_user.js} +2 -2
  100. package/dist/krill/{modules → classes/sequence.d}/fstab.d.ts +1 -1
  101. package/dist/krill/{modules → classes/sequence.d}/fstab.js +75 -14
  102. package/dist/krill/{modules → classes/sequence.d}/grubcfg.d.ts +1 -1
  103. package/dist/krill/{modules → classes/sequence.d}/grubcfg.js +6 -2
  104. package/dist/krill/{modules → classes/sequence.d}/hostname.d.ts +1 -1
  105. package/dist/krill/{modules → classes/sequence.d}/initramfs.d.ts +1 -1
  106. package/dist/krill/{modules → classes/sequence.d}/initramfs.js +2 -2
  107. package/dist/krill/classes/sequence.d/initramfs_cfg.js +35 -0
  108. package/dist/krill/{modules → classes/sequence.d}/locale.d.ts +1 -1
  109. package/dist/krill/{modules → classes/sequence.d}/locale.js +2 -2
  110. package/dist/krill/{modules/m-keyboard.js → classes/sequence.d/m_keyboard.js} +2 -2
  111. package/dist/krill/{modules/machine-id.js → classes/sequence.d/machine_id.js} +2 -2
  112. package/dist/krill/{modules → classes/sequence.d}/mkfs.d.ts +1 -1
  113. package/dist/krill/{modules → classes/sequence.d}/mkfs.js +24 -2
  114. package/dist/krill/{modules/mount-fs.js → classes/sequence.d/mount_fs.js} +9 -3
  115. package/dist/krill/{modules/mount-vfs.js → classes/sequence.d/mount_vfs.js} +1 -1
  116. package/dist/krill/{modules/network-cfg.js → classes/sequence.d/network_cfg.js} +15 -6
  117. package/dist/krill/{modules → classes/sequence.d}/packages.d.ts +1 -1
  118. package/dist/krill/{modules → classes/sequence.d}/packages.js +3 -3
  119. package/dist/krill/{modules/partition.d.ts → classes/sequence.d/partition.d/bios_luks.d.ts} +4 -7
  120. package/dist/krill/classes/sequence.d/partition.d/bios_luks.js +73 -0
  121. package/dist/krill/classes/sequence.d/partition.d/bios_standard.d.ts +17 -0
  122. package/dist/krill/classes/sequence.d/partition.d/bios_standard.js +36 -0
  123. package/dist/krill/classes/sequence.d/partition.d/uefi_luks.d.ts +17 -0
  124. package/dist/krill/classes/sequence.d/partition.d/uefi_luks.js +78 -0
  125. package/dist/krill/classes/sequence.d/partition.d/uefi_standard.d.ts +10 -0
  126. package/dist/krill/classes/sequence.d/partition.d/uefi_standard.js +32 -0
  127. package/dist/krill/classes/sequence.d/partition.d.ts +14 -0
  128. package/dist/krill/classes/sequence.d/partition.js +84 -0
  129. package/dist/krill/{modules → classes/sequence.d}/umount.d.ts +1 -1
  130. package/dist/krill/{modules → classes/sequence.d}/umount.js +2 -2
  131. package/dist/krill/{modules → classes/sequence.d}/unpackfs.d.ts +1 -1
  132. package/dist/krill/{modules → classes/sequence.d}/unpackfs.js +2 -2
  133. package/dist/krill/{sequence.d.ts → classes/sequence.d.ts} +40 -58
  134. package/dist/krill/{sequence.js → classes/sequence.js} +43 -32
  135. package/dist/{components → krill/components}/information.js +3 -3
  136. package/dist/{components → krill/components}/keyboard.js +1 -1
  137. package/dist/{components → krill/components}/location.js +1 -1
  138. package/dist/{components → krill/components}/network.js +1 -1
  139. package/dist/{components → krill/components}/partitions.d.ts +4 -2
  140. package/dist/{components → krill/components}/partitions.js +36 -20
  141. package/dist/{components → krill/components}/summary.d.ts +2 -1
  142. package/dist/{components → krill/components}/summary.js +2 -6
  143. package/dist/{components → krill/components}/title.js +1 -1
  144. package/dist/{components → krill/components}/users.js +1 -1
  145. package/dist/{components → krill/components}/welcome.js +1 -1
  146. package/dist/{interfaces/i-krill.d.ts → krill/interfaces/i_krill.d.ts} +3 -1
  147. package/dist/{interfaces/i-krill-config.d.ts → krill/interfaces/i_krill_config.d.ts} +3 -1
  148. package/dist/krill/lib/get_luks_passphrase.d.ts +8 -0
  149. package/dist/krill/lib/get_luks_passphrase.js +40 -0
  150. package/dist/{lib → krill/lib}/kill_me_softly.js +2 -2
  151. package/dist/{lib → krill/lib}/select_filesystem_type.js +2 -9
  152. package/dist/{lib → krill/lib}/select_installation_device.js +10 -4
  153. package/dist/{lib → krill/lib}/select_installation_mode.d.ts +2 -1
  154. package/dist/{lib → krill/lib}/select_installation_mode.js +2 -1
  155. package/dist/{lib → krill/lib}/select_keyboard_layout.js +1 -1
  156. package/dist/{lib → krill/lib}/select_keyboard_model.js +1 -1
  157. package/dist/{lib → krill/lib}/select_keyboard_option.js +1 -1
  158. package/dist/{lib → krill/lib}/select_keyboard_variant.js +1 -1
  159. package/dist/{lib → krill/lib}/select_languages.js +1 -1
  160. package/dist/krill/lib/select_replaced_partition.d.ts +8 -0
  161. package/dist/krill/lib/select_replaced_partition.js +31 -0
  162. package/dist/{lib → krill/lib}/select_user_swap_choice.d.ts +2 -1
  163. package/dist/{lib → krill/lib}/select_user_swap_choice.js +4 -3
  164. package/dist/lib/utils.d.ts +8 -0
  165. package/dist/lib/utils.js +8 -0
  166. package/package.json +25 -24
  167. package/scripts/_eggs +7 -5
  168. package/scripts/eggs.bash +3 -3
  169. package/dist/krill/modules/initramfs-cfg.js +0 -22
  170. package/dist/krill/modules/partition.js +0 -345
  171. package/dist/krill/prepare.js +0 -626
  172. /package/dist/{index-old.d.ts → index_old.d.ts} +0 -0
  173. /package/dist/{index-old.js → index_old.js} +0 -0
  174. /package/dist/{classes → krill/classes}/cfs.d.ts +0 -0
  175. /package/dist/krill/{modules/add-user.d.ts → classes/sequence.d/add_user.d.ts} +0 -0
  176. /package/dist/krill/{modules/bootloader-config.d.ts → classes/sequence.d/bootloader_config.d.ts} +0 -0
  177. /package/dist/krill/{modules/change-password.d.ts → classes/sequence.d/change_password.d.ts} +0 -0
  178. /package/dist/krill/{modules/del-live-user.d.ts → classes/sequence.d/del_live_user.d.ts} +0 -0
  179. /package/dist/krill/{modules → classes/sequence.d}/hostname.js +0 -0
  180. /package/dist/krill/{modules/initramfs-cfg.d.ts → classes/sequence.d/initramfs_cfg.d.ts} +0 -0
  181. /package/dist/krill/{modules/locale-cfg.d.ts → classes/sequence.d/locale_cfg.d.ts} +0 -0
  182. /package/dist/krill/{modules/locale-cfg.js → classes/sequence.d/locale_cfg.js} +0 -0
  183. /package/dist/krill/{modules/m-keyboard.d.ts → classes/sequence.d/m_keyboard.d.ts} +0 -0
  184. /package/dist/krill/{modules/machine-id.d.ts → classes/sequence.d/machine_id.d.ts} +0 -0
  185. /package/dist/krill/{modules/mount-fs.d.ts → classes/sequence.d/mount_fs.d.ts} +0 -0
  186. /package/dist/krill/{modules/mount-vfs.d.ts → classes/sequence.d/mount_vfs.d.ts} +0 -0
  187. /package/dist/krill/{modules/network-cfg.d.ts → classes/sequence.d/network_cfg.d.ts} +0 -0
  188. /package/dist/krill/{modules/remove-installer-link.d.ts → classes/sequence.d/remove_installer_link.d.ts} +0 -0
  189. /package/dist/krill/{modules/remove-installer-link.js → classes/sequence.d/remove_installer_link.js} +0 -0
  190. /package/dist/{components → krill/components}/finished.d.ts +0 -0
  191. /package/dist/{components → krill/components}/finished.js +0 -0
  192. /package/dist/{components → krill/components}/information.d.ts +0 -0
  193. /package/dist/{components → krill/components}/install.d.ts +0 -0
  194. /package/dist/{components → krill/components}/install.js +0 -0
  195. /package/dist/{components → krill/components}/keyboard.d.ts +0 -0
  196. /package/dist/{components → krill/components}/location.d.ts +0 -0
  197. /package/dist/{components → krill/components}/network.d.ts +0 -0
  198. /package/dist/{components → krill/components}/steps.d.ts +0 -0
  199. /package/dist/{components → krill/components}/steps.js +0 -0
  200. /package/dist/{components → krill/components}/title.d.ts +0 -0
  201. /package/dist/{components → krill/components}/users.d.ts +0 -0
  202. /package/dist/{components → krill/components}/welcome.d.ts +0 -0
  203. /package/dist/{interfaces/i-krill.js → krill/interfaces/i_krill.js} +0 -0
  204. /package/dist/{interfaces/i-krill-config.js → krill/interfaces/i_krill_config.js} +0 -0
  205. /package/dist/{lib → krill/lib}/get_address.d.ts +0 -0
  206. /package/dist/{lib → krill/lib}/get_address.js +0 -0
  207. /package/dist/{lib → krill/lib}/get_dns.d.ts +0 -0
  208. /package/dist/{lib → krill/lib}/get_dns.js +0 -0
  209. /package/dist/{lib → krill/lib}/get_domain.d.ts +0 -0
  210. /package/dist/{lib → krill/lib}/get_domain.js +0 -0
  211. /package/dist/{lib → krill/lib}/get_gateway.d.ts +0 -0
  212. /package/dist/{lib → krill/lib}/get_gateway.js +0 -0
  213. /package/dist/{lib → krill/lib}/get_hostname.d.ts +0 -0
  214. /package/dist/{lib → krill/lib}/get_hostname.js +0 -0
  215. /package/dist/{lib → krill/lib}/get_netmask.d.ts +0 -0
  216. /package/dist/{lib → krill/lib}/get_netmask.js +0 -0
  217. /package/dist/{lib → krill/lib}/get_password.d.ts +0 -0
  218. /package/dist/{lib → krill/lib}/get_password.js +0 -0
  219. /package/dist/{lib → krill/lib}/get_userfullname.d.ts +0 -0
  220. /package/dist/{lib → krill/lib}/get_userfullname.js +0 -0
  221. /package/dist/{lib → krill/lib}/get_username.d.ts +0 -0
  222. /package/dist/{lib → krill/lib}/get_username.js +0 -0
  223. /package/dist/{lib → krill/lib}/kill_me_softly.d.ts +0 -0
  224. /package/dist/{lib → krill/lib}/select_address_type.d.ts +0 -0
  225. /package/dist/{lib → krill/lib}/select_address_type.js +0 -0
  226. /package/dist/{lib → krill/lib}/select_filesystem_type.d.ts +0 -0
  227. /package/dist/{lib → krill/lib}/select_installation_device.d.ts +0 -0
  228. /package/dist/{lib → krill/lib}/select_interface.d.ts +0 -0
  229. /package/dist/{lib → krill/lib}/select_interface.js +0 -0
  230. /package/dist/{lib → krill/lib}/select_keyboard_layout.d.ts +0 -0
  231. /package/dist/{lib → krill/lib}/select_keyboard_model.d.ts +0 -0
  232. /package/dist/{lib → krill/lib}/select_keyboard_option.d.ts +0 -0
  233. /package/dist/{lib → krill/lib}/select_keyboard_variant.d.ts +0 -0
  234. /package/dist/{lib → krill/lib}/select_languages.d.ts +0 -0
  235. /package/dist/{lib → krill/lib}/select_regions.d.ts +0 -0
  236. /package/dist/{lib → krill/lib}/select_regions.js +0 -0
  237. /package/dist/{lib → krill/lib}/select_zones.d.ts +0 -0
  238. /package/dist/{lib → krill/lib}/select_zones.js +0 -0
@@ -0,0 +1,17 @@
1
+ /**
2
+ * ./src/krill/modules/partition.d/bios-standard.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
+ * @param installDevice
14
+ * @param p
15
+ * @returns
16
+ */
17
+ export default function biosStandard(this: Sequence, installDevice?: string, p?: string): Promise<boolean>;
@@ -0,0 +1,36 @@
1
+ /**
2
+ * ./src/krill/modules/partition.d/bios-standard.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
+ *
12
+ * @param this
13
+ * @param installDevice
14
+ * @param p
15
+ * @returns
16
+ */
17
+ export default async function biosStandard(installDevice = "", p = "") {
18
+ await exec(`parted --script ${installDevice} mklabel msdos`, this.echo);
19
+ await exec(`parted --script --align optimal ${installDevice} mkpart primary linux-swap 1MiB ${this.swapSize + 1}MiB`, this.echo); // dev/sda1 swap
20
+ await exec(`parted --script --align optimal ${installDevice} mkpart primary ext4 ${this.swapSize + 1}MiB 100%`, this.echo); // dev/sda2 root
21
+ await exec(`parted ${installDevice} set 2 boot on`, this.echo);
22
+ await exec(`parted ${installDevice} set 2 esp on`, this.echo);
23
+ // SWAP
24
+ this.devices.swap.name = `${installDevice}${p}1`;
25
+ this.devices.swap.fsType = 'swap';
26
+ this.devices.swap.mountPoint = 'none';
27
+ // ROOT
28
+ this.devices.root.name = `${installDevice}${p}2`;
29
+ this.devices.root.fsType = 'ext4';
30
+ this.devices.root.mountPoint = '/';
31
+ // BOOT/DATA/EFI
32
+ this.devices.boot.name = 'none';
33
+ this.devices.data.name = 'none';
34
+ this.devices.efi.name = 'none';
35
+ return true;
36
+ }
@@ -0,0 +1,17 @@
1
+ /**
2
+ * ./src/krill/modules/partition.d/uefi-luks.tsx
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
+ * @param installDevice
14
+ * @param p
15
+ * @returns
16
+ */
17
+ export default function uefiLuks(this: Sequence, installDevice?: string, p?: string): Promise<boolean>;
@@ -0,0 +1,78 @@
1
+ /**
2
+ * ./src/krill/modules/partition.d/uefi-luks.tsx
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
+ import Utils from '../../../../classes/utils.js';
11
+ import getLuksPassphrase from '../../../lib/get_luks_passphrase.js';
12
+ // React
13
+ import React from 'react';
14
+ import { render } from 'ink';
15
+ import Install from '../../../components/install.js';
16
+ /**
17
+ *
18
+ * @param this
19
+ * @param installDevice
20
+ * @param p
21
+ * @returns
22
+ */
23
+ export default async function uefiLuks(installDevice = "", p = "") {
24
+ await exec(`parted --script ${installDevice} mklabel gpt`, this.echo);
25
+ await exec(`parted --script ${installDevice} mkpart efi fat32 34s 256MiB`, this.echo); // sda1 EFI
26
+ await exec(`parted --script ${installDevice} mkpart boot ext4 256MiB 768MiB`, this.echo); // sda2 boot
27
+ await exec(`parted --script ${installDevice} mkpart root ext4 ${768}MiB 100%`, this.echo); // sda3 root
28
+ await exec(`parted --script ${installDevice} set 1 boot on`, this.echo); // sda1
29
+ await exec(`parted --script ${installDevice} set 1 esp on`, this.echo); // sda1
30
+ // EFI 256M
31
+ this.devices.efi.name = `${installDevice}${p}1`; // 'efi'
32
+ this.devices.efi.fsType = 'F 32 -I';
33
+ this.devices.efi.mountPoint = '/boot/efi';
34
+ // BOOT 512M
35
+ this.devices.boot.name = `${installDevice}${p}2`; // 'boot'
36
+ this.devices.boot.fsType = 'ext4';
37
+ this.devices.boot.mountPoint = '/boot';
38
+ // disabilito spinner per introduzione passphrase
39
+ let message = "Creating partitions";
40
+ await redraw(React.createElement(Install, { message: message, percent: 0 }));
41
+ const passphrase = await getLuksPassphrase('3volution', '3volution');
42
+ await redraw(React.createElement(Install, { message: message, percent: 0, spinner: this.spinner }));
43
+ // Aggiungi parametri di sicurezza espliciti
44
+ const cipher = "aes-xts-plain64";
45
+ const keySize = "512";
46
+ const hash = "sha512";
47
+ // ROOT
48
+ const cryptoRoot = await exec(`echo -n "${passphrase}" | cryptsetup --batch-mode --cipher ${cipher} --key-size ${keySize} --hash ${hash} --key-file=- -v luksFormat --type luks2 ${installDevice}${p}3`, this.echo);
49
+ if (cryptoRoot.code !== 0) {
50
+ Utils.warning(`Error: ${cryptoRoot.code} ${cryptoRoot.data}`);
51
+ process.exit(1);
52
+ }
53
+ const cryptoRootOpen = await exec(`echo -n "${passphrase}" | cryptsetup --key-file=- luksOpen --type luks2 ${installDevice}${p}3 root_crypted`, this.echo);
54
+ if (cryptoRootOpen.code !== 0) {
55
+ Utils.warning(`Error: ${cryptoRootOpen.code} ${cryptoRootOpen.data}`);
56
+ process.exit(1);
57
+ }
58
+ // this.devices.boot.name = DEFINED
59
+ this.devices.data.name = 'none';
60
+ // this.devices.efi.name = DEFINED
61
+ this.devices.root.name = '/dev/mapper/root_crypted';
62
+ this.devices.root.cryptedFrom = `${installDevice}${p}3`;
63
+ this.devices.root.fsType = 'ext4';
64
+ this.devices.root.mountPoint = '/';
65
+ this.devices.swap.name = 'none';
66
+ return true;
67
+ }
68
+ /**
69
+ *
70
+ * @param elem
71
+ */
72
+ async function redraw(elem) {
73
+ let opt = {};
74
+ opt.patchConsole = false;
75
+ opt.debug = true;
76
+ console.clear();
77
+ render(elem, opt);
78
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * ./src/krill/modules/partition.d/uefi-standard.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
+ export default function uefiStandard(this: Sequence, installDevice?: string, p?: string): Promise<boolean>;
@@ -0,0 +1,32 @@
1
+ /**
2
+ * ./src/krill/modules/partition.d/uefi-standard.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
+ export default async function uefiStandard(installDevice = "", p = "") {
11
+ await exec(`parted --script ${installDevice} mklabel gpt`, this.echo);
12
+ await exec(`parted --script ${installDevice} mkpart efi fat32 34s 256MiB`, this.echo); // sda1 EFI
13
+ await exec(`parted --script ${installDevice} mkpart swap linux-swap 256MiB ${this.swapSize + 256}Mib`, this.echo); // sda2 swap
14
+ await exec(`parted --script ${installDevice} mkpart root ext4 ${this.swapSize + 256}MiB 100%`, this.echo); // sda3 root
15
+ await exec(`parted --script ${installDevice} set 1 boot on`, this.echo); // sda1
16
+ await exec(`parted --script ${installDevice} set 1 esp on`, this.echo); // sda1
17
+ this.devices.efi.name = `${installDevice}${p}1`;
18
+ this.devices.efi.fsType = 'F 32 -I';
19
+ this.devices.efi.mountPoint = '/boot/efi';
20
+ this.devices.boot.name = 'none';
21
+ this.devices.swap.name = `${installDevice}${p}2`;
22
+ this.devices.swap.fsType = 'swap';
23
+ this.devices.swap.mountPoint = 'none';
24
+ this.devices.root.name = `${installDevice}${p}3`;
25
+ this.devices.root.fsType = 'ext4';
26
+ this.devices.root.mountPoint = '/';
27
+ // BOOT/DATA/EFI
28
+ this.devices.boot.name = 'none';
29
+ this.devices.data.name = 'none';
30
+ // this.devices.efi.name = `none`
31
+ return true;
32
+ }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * ./src/krill/modules/partition.tsx
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>;
@@ -0,0 +1,84 @@
1
+ /**
2
+ * ./src/krill/modules/partition.tsx
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 os from 'node:os';
10
+ import Utils from '../../../classes/utils.js';
11
+ import { SwapChoice, InstallationMode } from '../krill_enums.js';
12
+ /**
13
+ *
14
+ * @param this
15
+ */
16
+ export default async function partition() {
17
+ const echoYes = Utils.setEcho(true);
18
+ let retVal = false;
19
+ const installDevice = this.partitions.installationDevice;
20
+ const replacedPartition = this.partitions.replacedPartition;
21
+ let p = "";
22
+ if (detectDeviceType(installDevice) === "standard") {
23
+ p = "";
24
+ }
25
+ else if (detectDeviceType(installDevice) === "mmc") {
26
+ p = "";
27
+ }
28
+ else if (detectDeviceType(installDevice) === "nvme") {
29
+ p = "p";
30
+ }
31
+ else if (detectDeviceType(installDevice) === "raid") {
32
+ p = "p";
33
+ }
34
+ const installationMode = this.partitions.installationMode;
35
+ this.swapSize = Math.round(os.totalmem() / (1024 * 1024 * 1024)); // In GB
36
+ switch (this.partitions.userSwapChoice) {
37
+ case SwapChoice.None: {
38
+ this.swapSize = 0;
39
+ break;
40
+ }
41
+ case SwapChoice.Small: {
42
+ break;
43
+ }
44
+ case SwapChoice.Suspend: {
45
+ this.swapSize *= 2;
46
+ break;
47
+ }
48
+ case SwapChoice.File: {
49
+ // total mem
50
+ break;
51
+ }
52
+ // No default
53
+ }
54
+ if (installationMode === InstallationMode.Replace) {
55
+ retVal = true;
56
+ }
57
+ else if (installationMode === InstallationMode.Standard && !this.efi) {
58
+ retVal = await this.partitionBiosStandard(installDevice, p);
59
+ }
60
+ else if (installationMode === InstallationMode.Luks && !this.efi) {
61
+ retVal = await this.partitionBiosLuks(installDevice, p);
62
+ }
63
+ else if (installationMode === InstallationMode.Standard && this.efi) {
64
+ retVal = await this.partitionUefiStandard(installDevice, p);
65
+ }
66
+ else if (installationMode === InstallationMode.Luks && this.efi) {
67
+ retVal = await this.partitionUefiLuks(installDevice, p);
68
+ }
69
+ return retVal;
70
+ }
71
+ /**
72
+ *
73
+ * @param device
74
+ * @returns
75
+ */
76
+ function detectDeviceType(device) {
77
+ if (device.includes('nvme'))
78
+ return 'nvme';
79
+ if (device.match(/^\/dev\/md\d+/))
80
+ return 'raid';
81
+ if (device.includes('mmcblk'))
82
+ return 'mmc';
83
+ return 'standard';
84
+ }
@@ -6,7 +6,7 @@
6
6
  * license: MIT
7
7
  * https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
8
8
  */
9
- import Sequence from '../sequence.js';
9
+ import Sequence from '../../classes/sequence.js';
10
10
  /**
11
11
  *
12
12
  * @param mountpoint
@@ -6,8 +6,8 @@
6
6
  * license: MIT
7
7
  * https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
8
8
  */
9
- import Utils from '../../classes/utils.js';
10
- import { exec } from '../../lib/utils.js';
9
+ import Utils from '../../../classes/utils.js';
10
+ import { exec } from '../../../lib/utils.js';
11
11
  /**
12
12
  *
13
13
  * @param mountpoint
@@ -6,7 +6,7 @@
6
6
  * license: MIT
7
7
  * https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
8
8
  */
9
- import Sequence from '../sequence.js';
9
+ import Sequence from '../../classes/sequence.js';
10
10
  /**
11
11
  * unpackfs
12
12
  */
@@ -6,8 +6,8 @@
6
6
  * license: MIT
7
7
  * https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
8
8
  */
9
- import Utils from '../../classes/utils.js';
10
- import { exec } from '../../lib/utils.js';
9
+ import Utils from '../../../classes/utils.js';
10
+ import { exec } from '../../../lib/utils.js';
11
11
  /**
12
12
  * unpackfs
13
13
  */
@@ -7,70 +7,51 @@
7
7
  * https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
8
8
  */
9
9
  /**
10
- * Ideally, I want to respect calamares way, remplementing the same (SEMPLIFIED) steps for CLI
11
- *
12
- *
13
- * - partition: partitions
14
- * - mount: mountFs, mountVfs
15
- * - unpackfs: unpackfs
16
- * - _restore: eggs syncfrom --rootdir /tmp/calamares-krill-root/
17
- * - sources-yolk: execCalamaresModule('sources-yolk')
18
- * - machineid: machineid
19
- * - fstab: fstab
20
- * - locale locale
21
- * - keyboard: keyboard
22
- *
23
- * - localecfg: localecfg
24
- * - users: users
25
- * - displaymanager: autologin
26
- * - networkcfg: networkcfg
27
- * - hwclock:
28
- * - services-systemd:
29
- * - bootloader-config: bootloader-config-arch / bootloader-config-debian
30
- * - grubcfg: grubcfg
31
- * - bootloader: bootloaded
32
- * - packages: removeInstaller
33
- * - plymouthcfg;
34
- * - initramfscfg: initramfscfg
35
- * - initramfs: initramfs
36
- * - removeuser: removeuser
37
- * - sources-yolk-undo: execCalamaresModule('sources-yolk-undo')
38
- * - bliss clustom modules
39
- * - umount: umountVfs, this.umountFs
10
+ * Ideally, I want to respect calamares way,
11
+ * implementing the same (SEMPLIFIED) sequence
12
+ * on a TUI. Note: here sequence is hard coded!
40
13
  */
41
- import { IRemix, IDistro, INet } from '../interfaces/index.js';
42
- import Settings from '../classes/settings.js';
43
- import CliAutologin from '../classes/cli-autologin.js';
44
- import { IInstaller, IDevices } from '../interfaces/index.js';
45
- import { ILocation, IKeyboard, IPartitions, IUsers } from '../interfaces/i-krill.js';
46
- import partition from './modules/partition.js';
47
- import { mountFs, umountFs } from './modules/mount-fs.js';
48
- import { mountVfs, umountVfs } from './modules/mount-vfs.js';
49
- import unpackfs from './modules/unpackfs.js';
50
- import machineId from './modules/machine-id.js';
51
- import fstab from './modules/fstab.js';
52
- import locale from './modules/locale.js';
53
- import mKeyboard from './modules/m-keyboard.js';
54
- import localeCfg from './modules/locale-cfg.js';
55
- import addUser from './modules/add-user.js';
56
- import changePassword from './modules/change-password.js';
57
- import networkCfg from './modules/network-cfg.js';
58
- import bootloaderConfig from './modules/bootloader-config.js';
59
- import grubcfg from './modules/grubcfg.js';
60
- import bootloader from './modules/bootloader.js';
61
- import packages from './modules/packages.js';
62
- import removeInstallerLink from './modules/remove-installer-link.js';
63
- import initramfsCfg from './modules/initramfs-cfg.js';
64
- import initramfs from './modules/initramfs.js';
65
- import delLiveUser from './modules/del-live-user.js';
66
- import umount from './modules/umount.js';
67
- import mkfs from './modules/mkfs.js';
68
- import hostname from './modules/hostname.js';
14
+ import { IRemix, IDistro, INet } from '../../interfaces/index.js';
15
+ import Settings from '../../classes/settings.js';
16
+ import CliAutologin from '../../classes/cli-autologin.js';
17
+ import { IInstaller, IDevices } from '../../interfaces/index.js';
18
+ import { ILocation, IKeyboard, IPartitions, IUsers } from '../interfaces/i_krill.js';
19
+ import partition from './sequence.d/partition.js';
20
+ import biosStandard from './sequence.d/partition.d/bios_standard.js';
21
+ import biosLuks from './sequence.d/partition.d/bios_luks.js';
22
+ import uefiStandard from './sequence.d/partition.d/uefi_standard.js';
23
+ import uefiLuks from './sequence.d/partition.d/uefi_luks.js';
24
+ import { mountFs, umountFs } from './sequence.d/mount_fs.js';
25
+ import { mountVfs, umountVfs } from './sequence.d/mount_vfs.js';
26
+ import unpackfs from './sequence.d/unpackfs.js';
27
+ import machineId from './sequence.d/machine_id.js';
28
+ import fstab from './sequence.d/fstab.js';
29
+ import locale from './sequence.d/locale.js';
30
+ import mKeyboard from './sequence.d/m_keyboard.js';
31
+ import localeCfg from './sequence.d/locale_cfg.js';
32
+ import addUser from './sequence.d/add_user.js';
33
+ import changePassword from './sequence.d/change_password.js';
34
+ import networkCfg from './sequence.d/network_cfg.js';
35
+ import bootloaderConfig from './sequence.d/bootloader_config.js';
36
+ import grubcfg from './sequence.d/grubcfg.js';
37
+ import bootloader from './sequence.d/bootloader.js';
38
+ import packages from './sequence.d/packages.js';
39
+ import removeInstallerLink from './sequence.d/remove_installer_link.js';
40
+ import initramfsCfg from './sequence.d/initramfs_cfg.js';
41
+ import initramfs from './sequence.d/initramfs.js';
42
+ import delLiveUser from './sequence.d/del_live_user.js';
43
+ import umount from './sequence.d/umount.js';
44
+ import mkfs from './sequence.d/mkfs.js';
45
+ import hostname from './sequence.d/hostname.js';
69
46
  /**
70
47
  * hatching: installazione o cova!!!
71
48
  */
72
49
  export default class Sequence {
73
50
  partition: typeof partition;
51
+ partitionBiosStandard: typeof biosStandard;
52
+ partitionUefiStandard: typeof uefiStandard;
53
+ partitionBiosLuks: typeof biosLuks;
54
+ partitionUefiLuks: typeof uefiLuks;
74
55
  mountFs: typeof mountFs;
75
56
  mountVfs: typeof mountVfs;
76
57
  unpackfs: typeof unpackfs;
@@ -104,6 +85,7 @@ export default class Sequence {
104
85
  users: IUsers;
105
86
  network: INet;
106
87
  partitions: IPartitions;
88
+ swapSize: number;
107
89
  language: string;
108
90
  region: string;
109
91
  zone: string;
@@ -6,50 +6,55 @@
6
6
  * license: MIT
7
7
  * https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
8
8
  */
9
- import Settings from '../classes/settings.js';
9
+ import Settings from '../../classes/settings.js';
10
10
  import React from 'react';
11
11
  import { render, Box, Text } from 'ink';
12
12
  import Install from '../components/install.js';
13
13
  import Finished from '../components/finished.js';
14
14
  import fs from 'fs';
15
15
  import yaml from 'js-yaml';
16
- import { installer } from '../classes/incubation/installer.js';
17
- import CliAutologin from '../classes/cli-autologin.js';
18
- import Distro from '../classes/distro.js';
19
- import Pacman from '../classes/pacman.js';
20
- import Utils from '../classes/utils.js';
21
- import Xdg from '../classes/xdg.js';
22
- import { exec } from '../lib/utils.js';
16
+ import { installer } from '../../classes/incubation/installer.js';
17
+ import CliAutologin from '../../classes/cli-autologin.js';
18
+ import Distro from '../../classes/distro.js';
19
+ import Pacman from '../../classes/pacman.js';
20
+ import Utils from '../../classes/utils.js';
21
+ import Xdg from '../../classes/xdg.js';
22
+ import { exec } from '../../lib/utils.js';
23
23
  // import krill modules
24
- import partition from './modules/partition.js';
25
- import { mountFs, umountFs } from './modules/mount-fs.js';
26
- import { mountVfs, umountVfs } from './modules/mount-vfs.js';
27
- import unpackfs from './modules/unpackfs.js';
28
- import machineId from './modules/machine-id.js';
29
- import fstab from './modules/fstab.js';
30
- import locale from './modules/locale.js';
31
- import mKeyboard from './modules/m-keyboard.js';
32
- import localeCfg from './modules/locale-cfg.js';
24
+ import partition from './sequence.d/partition.js';
25
+ // import createLvmPartitions from './sequence.d/partition.d/create-lvm-partitions.js'
26
+ import biosStandard from './sequence.d/partition.d/bios_standard.js';
27
+ import biosLuks from './sequence.d/partition.d/bios_luks.js';
28
+ import uefiStandard from './sequence.d/partition.d/uefi_standard.js';
29
+ import uefiLuks from './sequence.d/partition.d/uefi_luks.js';
30
+ import { mountFs, umountFs } from './sequence.d/mount_fs.js';
31
+ import { mountVfs, umountVfs } from './sequence.d/mount_vfs.js';
32
+ import unpackfs from './sequence.d/unpackfs.js';
33
+ import machineId from './sequence.d/machine_id.js';
34
+ import fstab from './sequence.d/fstab.js';
35
+ import locale from './sequence.d/locale.js';
36
+ import mKeyboard from './sequence.d/m_keyboard.js';
37
+ import localeCfg from './sequence.d/locale_cfg.js';
33
38
  // users
34
- import addUser from './modules/add-user.js';
35
- import changePassword from './modules/change-password.js';
39
+ import addUser from './sequence.d/add_user.js';
40
+ import changePassword from './sequence.d/change_password.js';
36
41
  // displaymanager: autologin
37
- import networkCfg from './modules/network-cfg.js';
42
+ import networkCfg from './sequence.d/network_cfg.js';
38
43
  // hwclock:
39
44
  // services-systemd:
40
45
  // bootloader-config
41
- import bootloaderConfig from './modules/bootloader-config.js';
42
- import grubcfg from './modules/grubcfg.js';
43
- import bootloader from './modules/bootloader.js';
44
- import packages from './modules/packages.js';
45
- import removeInstallerLink from './modules/remove-installer-link.js';
46
- import initramfsCfg from './modules/initramfs-cfg.js';
47
- import initramfs from './modules/initramfs.js';
48
- import delLiveUser from './modules/del-live-user.js';
49
- import umount from './modules/umount.js';
50
- import mkfs from './modules/mkfs.js';
51
- import hostname from './modules/hostname.js';
52
- import CFS from '../classes/cfs.js';
46
+ import bootloaderConfig from './sequence.d/bootloader_config.js';
47
+ import grubcfg from './sequence.d/grubcfg.js';
48
+ import bootloader from './sequence.d/bootloader.js';
49
+ import packages from './sequence.d/packages.js';
50
+ import removeInstallerLink from './sequence.d/remove_installer_link.js';
51
+ import initramfsCfg from './sequence.d/initramfs_cfg.js';
52
+ import initramfs from './sequence.d/initramfs.js';
53
+ import delLiveUser from './sequence.d/del_live_user.js';
54
+ import umount from './sequence.d/umount.js';
55
+ import mkfs from './sequence.d/mkfs.js';
56
+ import hostname from './sequence.d/hostname.js';
57
+ import CFS from './cfs.js';
53
58
  import Title from '../components/title.js';
54
59
  import cliCursor from 'cli-cursor';
55
60
  import { spawnSync } from 'child_process';
@@ -58,6 +63,11 @@ import { spawnSync } from 'child_process';
58
63
  */
59
64
  export default class Sequence {
60
65
  partition = partition;
66
+ // createLvmPartitions = createLvmPartitions
67
+ partitionBiosStandard = biosStandard;
68
+ partitionUefiStandard = uefiStandard;
69
+ partitionBiosLuks = biosLuks;
70
+ partitionUefiLuks = uefiLuks;
61
71
  // mount
62
72
  mountFs = mountFs;
63
73
  mountVfs = mountVfs;
@@ -101,6 +111,7 @@ export default class Sequence {
101
111
  users = {};
102
112
  network = {};
103
113
  partitions = {};
114
+ swapSize = 0;
104
115
  language = '';
105
116
  region = '';
106
117
  zone = '';
@@ -6,9 +6,9 @@
6
6
  * license: MIT
7
7
  */
8
8
  import React from 'react';
9
- import Settings from '../classes/settings.js';
10
- import Pacman from '../classes/pacman.js';
11
- import Utils from '../classes/utils.js';
9
+ import Settings from '../../classes/settings.js';
10
+ import Pacman from '../../classes/pacman.js';
11
+ import Utils from '../../classes/utils.js';
12
12
  import Title from './title.js';
13
13
  import { render, Text, Box } from 'ink';
14
14
  export default async function information(verbose = false) {
@@ -14,7 +14,7 @@ import fs from 'fs';
14
14
  // pjson
15
15
  import { createRequire } from 'module';
16
16
  const require = createRequire(import.meta.url);
17
- const pjson = require('../../package.json');
17
+ const pjson = require('../../../package.json');
18
18
  export default function Keyboard({ keyboardModel = '', keyboardLayout = '', keyboardVariant = '', keyboardOptions = '' }) {
19
19
  let productName = "";
20
20
  let version = "";
@@ -14,7 +14,7 @@ import fs from 'fs';
14
14
  // pjson
15
15
  import { createRequire } from 'module';
16
16
  const require = createRequire(import.meta.url);
17
- const pjson = require('../../package.json');
17
+ const pjson = require('../../../package.json');
18
18
  export default function Location({ region = '', zone = '', language = '', dateNumbers = '' }) {
19
19
  let productName = 'unknown';
20
20
  let version = 'x.x.x';
@@ -14,7 +14,7 @@ import fs from 'fs';
14
14
  // pjson
15
15
  import { createRequire } from 'module';
16
16
  const require = createRequire(import.meta.url);
17
- const pjson = require('../../package.json');
17
+ const pjson = require('../../../package.json');
18
18
  export default function Network({ iface, addressType, address, netmask, gateway, domain, dns }) {
19
19
  let productName = '';
20
20
  let version = '';
@@ -6,11 +6,13 @@
6
6
  * license: MIT
7
7
  */
8
8
  import React from 'react';
9
+ import { SwapChoice } from '../classes/krill_enums.js';
9
10
  type partitionsProps = {
10
11
  installationDevice?: string;
11
12
  installationMode?: string;
12
13
  filesystemType?: string;
13
- userSwapChoice?: string;
14
+ userSwapChoice?: SwapChoice;
15
+ replacedPartition?: string;
14
16
  };
15
- export default function Partitions({ installationDevice, installationMode, filesystemType, userSwapChoice }: partitionsProps): React.JSX.Element;
17
+ export default function Partitions({ installationDevice, installationMode, filesystemType, userSwapChoice, replacedPartition }: partitionsProps): React.JSX.Element;
16
18
  export {};