penguins-eggs 10.0.26 → 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 +13 -18
  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 -699
  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 -98
  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,18 +0,0 @@
1
- /**
2
- * ./src/krill/modules/change-password.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
- * changePassword
12
- * @param name
13
- * @param newPassword
14
- */
15
- export default async function changePassword(name = 'live', newPassword = 'evolution') {
16
- const cmd = `echo ${name}:${newPassword} | chroot ${this.installTarget} chpasswd ${this.toNull}`;
17
- await exec(cmd, this.echo);
18
- }
@@ -1,14 +0,0 @@
1
- /**
2
- * ./src/krill/modules/del-live-user.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
- * delUser
12
- * va corretto con users.conf di calamares
13
- */
14
- export default function delLiveUser(this: Sequence): Promise<void>;
@@ -1,38 +0,0 @@
1
- /**
2
- * ./src/krill/modules/del-live-user.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 Utils from '../../classes/utils.js';
10
- import { exec } from '../../lib/utils.js';
11
- /**
12
- * delUser
13
- * va corretto con users.conf di calamares
14
- */
15
- export default async function delLiveUser() {
16
- if (Utils.isLive()) {
17
- const user = this.settings.config.user_opt;
18
- let userExists = false;
19
- try {
20
- const cmd = `#!/bin/sh\ngetent passwd "${user}" > /dev/null`;
21
- await exec(cmd, Utils.setEcho(this.verbose));
22
- userExists = true;
23
- }
24
- catch (error) {
25
- console.log(error);
26
- }
27
- finally {
28
- if (userExists) {
29
- // debian family
30
- let cmd = `chroot ${this.installTarget} deluser --remove-home ${user} ${this.toNull}`;
31
- if (this.distro.familyId === 'archlinux') {
32
- cmd = `chroot ${this.installTarget} sudo userdel -r ${user} ${this.toNull}`;
33
- }
34
- await exec(cmd, this.echo);
35
- }
36
- }
37
- }
38
- }
@@ -1,14 +0,0 @@
1
- /**
2
- * ./src/krill/modules/fstab.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
- * fstab()
12
- * @param devices
13
- */
14
- export default function fstab(this: Sequence, installDevice: string, crypted?: boolean): Promise<void>;
@@ -1,121 +0,0 @@
1
- /**
2
- * ./src/krill/modules/fstab.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 shx from 'shelljs';
10
- import Pacman from '../../classes/pacman.js';
11
- import Utils from '../../classes/utils.js';
12
- /**
13
- * fstab()
14
- * @param devices
15
- */
16
- export default async function fstab(installDevice, crypted = false) {
17
- let text = '';
18
- /**
19
- * crypttab
20
- */
21
- if (this.partitions.installationMode === 'full-encrypted') {
22
- const crypttab = this.installTarget + '/etc/crypttab';
23
- text += '# /etc/crypttab: mappings for encrypted partitions.\n';
24
- text += '#\n';
25
- text += '# Each mapped device will be created in /dev/mapper, so your /etc/fstab\n';
26
- text += '# should use the /dev/mapper/<name> paths for encrypted devices.\n';
27
- text += '#\n';
28
- text += '# See crypttab(5) for the supported syntax.\n';
29
- text += '#\n';
30
- text += '# NOTE: You need not list your root (/) partition here, but it must be set up\n';
31
- text += '# beforehand by the initramfs (/etc/mkinitcpio.conf). The same applies\n';
32
- text += '# to encrypted swap, which should be set up with mkinitcpio-openswap\n';
33
- text += '# for resume support.\n';
34
- text += '#\n';
35
- text += '# <name> <device> <password> <options>\n';
36
- text += `#swap_crypted was ${this.devices.swap.cryptedFrom}\n`;
37
- text += `swap_crypted UUID=${Utils.uuid(this.devices.swap.cryptedFrom)} none luks,discard\n`;
38
- text += `#root_crypted was ${this.devices.root.cryptedFrom}\n`;
39
- text += `root_crypted UUID=${Utils.uuid(this.devices.root.cryptedFrom)} none luks,swap\n`;
40
- Utils.write(crypttab, text);
41
- }
42
- /**
43
- * fstab
44
- */
45
- if (!Pacman.packageIsInstalled('btrfs-progs')) {
46
- this.partitions.filesystemType === 'ext4';
47
- }
48
- const fstab = this.installTarget + '/etc/fstab';
49
- let mountOptsRoot = '';
50
- let mountOptsBoot = '';
51
- let mountOptsData = '';
52
- let mountOptsEfi = '';
53
- let mountOptsSwap = '';
54
- if (this.partitions.filesystemType === 'ext4') {
55
- if (await isRotational(installDevice)) {
56
- mountOptsRoot = 'defaults,relatime 0 1';
57
- mountOptsBoot = 'defaults,relatime 0 1';
58
- mountOptsData = 'defaults,relatime 0 1';
59
- mountOptsEfi = 'defaults,relatime 0 2';
60
- mountOptsSwap = 'defaults,relatime 0 2';
61
- }
62
- else {
63
- mountOptsRoot = 'defaults,noatime 0 1';
64
- mountOptsBoot = 'defaults,noatime 0 1';
65
- mountOptsData = 'defaults,noatime 0 1';
66
- mountOptsEfi = 'defaults,noatime 0 2';
67
- mountOptsSwap = 'defaults,noatime 0 2';
68
- }
69
- text = '';
70
- text += `# ${this.devices.root.name} ${this.devices.root.mountPoint} ${this.devices.root.fsType} ${mountOptsRoot}\n`;
71
- text += `UUID=${Utils.uuid(this.devices.root.name)} ${this.devices.root.mountPoint} ${this.devices.root.fsType} ${mountOptsRoot}\n`;
72
- if (this.devices.boot.name !== 'none') {
73
- text += `# ${this.devices.boot.name} ${this.devices.boot.mountPoint} ${this.devices.boot.fsType} ${mountOptsBoot}\n`;
74
- text += `UUID=${Utils.uuid(this.devices.boot.name)} ${this.devices.boot.mountPoint} ${this.devices.root.fsType} ${mountOptsBoot}\n`;
75
- }
76
- if (this.devices.data.name !== 'none') {
77
- text += `# ${this.devices.data.name} ${this.devices.data.mountPoint} ${this.devices.data.fsType} ${mountOptsData}\n`;
78
- text += `UUID=${Utils.uuid(this.devices.data.name)} ${this.devices.data.mountPoint} ${this.devices.data.fsType} ${mountOptsData}\n`;
79
- }
80
- if (this.efi) {
81
- text += `# ${this.devices.efi.name} ${this.devices.efi.mountPoint} vfat ${mountOptsEfi}\n`;
82
- text += `UUID=${Utils.uuid(this.devices.efi.name)} ${this.devices.efi.mountPoint} vfat ${mountOptsEfi}\n`;
83
- }
84
- text += `# ${this.devices.swap.name} ${this.devices.swap.mountPoint} ${this.devices.swap.fsType} ${mountOptsSwap}\n`;
85
- text += `UUID=${Utils.uuid(this.devices.swap.name)} ${this.devices.swap.mountPoint} ${this.devices.swap.fsType} ${mountOptsSwap}\n`;
86
- }
87
- else if (this.partitions.filesystemType === 'btrfs') {
88
- const base = '/ btrfs subvol=/@,defaults 0 0';
89
- const snapshots = '/.snapshots btrfs subvol=/@snapshots,defaults 0 0';
90
- const home = '/home btrfs subvol=/@home,defaults 0 0';
91
- const root = '/root btrfs subvol=/@root,defaults 0 0';
92
- const var_log = '/var/log btrfs subvol=/@var@log,defaults 0 0';
93
- const var_lib_AccountsService = '/var/lib/AccountsService btrfs subvol=/@var@lib@AccountsService,defaults 0 0';
94
- const var_lib_blueman = '/var/lib/blueman btrfs subvol=/@var@lib@blueman,defaults 0 0';
95
- const tmp = '/tmp btrfs subvol=/@tmp,defaults 0 0';
96
- text += `# ${this.devices.root.name} btrfs ${this.devices.root.mountPoint} subvol\n`;
97
- text += `UUID=${Utils.uuid(this.devices.root.name)} ${base}\n`;
98
- text += `# UUID=${Utils.uuid(this.devices.root.name)} ${snapshots}\n`;
99
- text += `# UUID=${Utils.uuid(this.devices.root.name)} ${home}\n`;
100
- text += `# UUID=${Utils.uuid(this.devices.root.name)} ${root}\n`;
101
- text += `# UUID=${Utils.uuid(this.devices.root.name)} ${var_log}\n`;
102
- text += `# UUID=${Utils.uuid(this.devices.root.name)} ${var_lib_AccountsService}\n`;
103
- text += `# UUID=${Utils.uuid(this.devices.root.name)} ${var_lib_blueman}\n`;
104
- text += `# UUID=${Utils.uuid(this.devices.root.name)} ${tmp}\n`;
105
- }
106
- Utils.write(fstab, text);
107
- }
108
- /**
109
- * isRotational
110
- * @param device
111
- */
112
- async function isRotational(device) {
113
- device = device.slice(4);
114
- let response;
115
- let retVal = false;
116
- response = shx.exec(`cat /sys/block/${device}/queue/rotational`, { silent: true }).stdout.trim();
117
- if (response === '1') {
118
- retVal = true;
119
- }
120
- return retVal;
121
- }
@@ -1,17 +0,0 @@
1
- /**
2
- * ./src/krill/modules/grubcfg.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
- * grubcfg
12
- * - open /etc/default/grub
13
- * - find GRUB_CMDLINE_LINUX_DEFAULT=
14
- * - replace with GRUB_CMDLINE_LINUX_DEFAULT=
15
- * 's/GRUB_CMDLINE_LINUX_DEFAULT=.*$/GRUB_CMDLINE_LINUX_DEFAULT=/g'
16
- */
17
- export default function grubcfg(this: Sequence): Promise<void>;
@@ -1,29 +0,0 @@
1
- /**
2
- * ./src/krill/modules/grubcfg.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 Utils from '../../classes/utils.js';
11
- /**
12
- * grubcfg
13
- * - open /etc/default/grub
14
- * - find GRUB_CMDLINE_LINUX_DEFAULT=
15
- * - replace with GRUB_CMDLINE_LINUX_DEFAULT=
16
- * 's/GRUB_CMDLINE_LINUX_DEFAULT=.*$/GRUB_CMDLINE_LINUX_DEFAULT=/g'
17
- */
18
- export default async function grubcfg() {
19
- const file = `${this.installTarget}/etc/default/grub`;
20
- let content = '';
21
- const grubs = fs.readFileSync(file, 'utf8').split('\n');
22
- for (let i = 0; i < grubs.length; i++) {
23
- if (grubs[i].includes('GRUB_CMDLINE_LINUX_DEFAULT=')) {
24
- grubs[i] = this.partitions.installationMode === 'full-encrypted' ? `GRUB_CMDLINE_LINUX_DEFAULT="resume=UUID=${Utils.uuid(this.devices.swap.name)}"` : `GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=${Utils.uuid(this.devices.swap.name)}"`;
25
- }
26
- content += grubs[i] + '\n';
27
- }
28
- fs.writeFileSync(file, content, 'utf-8');
29
- }
@@ -1,13 +0,0 @@
1
- /**
2
- * ./src/krill/modules/hostnames.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
- * hostname
12
- */
13
- export default function hostname(this: Sequence, domain?: string): Promise<void>;
@@ -1,50 +0,0 @@
1
- /**
2
- * ./src/krill/modules/hostnames.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
- /**
11
- * hostname
12
- */
13
- export default async function hostname(domain = '') {
14
- const { hostname } = this.users;
15
- /**
16
- * hostname
17
- */
18
- {
19
- const file = this.installTarget + '/etc/hostname';
20
- const text = hostname;
21
- fs.writeFileSync(file, text);
22
- }
23
- /**
24
- * hosts
25
- */
26
- {
27
- const file = this.installTarget + '/etc/hosts';
28
- if (domain === '(none)') {
29
- domain = '';
30
- }
31
- let text = '127.0.0.1 localhost localhost.localdomain\n';
32
- if (this.network.addressType === 'static') {
33
- text += `${this.network.address} ${hostname} ${hostname}${domain} pvelocalhost pvelocalhost.pvelocaldomain\n`;
34
- }
35
- else if (domain === '') {
36
- text += `127.0.1.1 ${hostname}\n`;
37
- }
38
- else {
39
- text += `127.0.1.1 ${hostname} ${hostname}${domain}\n`;
40
- }
41
- text += '# The following lines are desirable for IPv6 capable hosts\n';
42
- text += ':: 1 ip6 - localhost ip6 - loopback\n';
43
- text += 'fe00:: 0 ip6 - localnet\n';
44
- text += 'ff00:: 0 ip6 - mcastprefix\n';
45
- text += 'ff02:: 1 ip6 - allnodes\n';
46
- text += 'ff02:: 2 ip6 - allrouters\n';
47
- text += 'ff02:: 3 ip6 - allhosts\n';
48
- fs.writeFileSync(file, text);
49
- }
50
- }
@@ -1,14 +0,0 @@
1
- /**
2
- * ./src/krill/modules/initramfs-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
- *
12
- * @param this
13
- */
14
- export default function initramfsCfg(this: Sequence, installDevice: string): Promise<void>;
@@ -1,25 +0,0 @@
1
- /**
2
- * ./src/krill/modules/initramfs-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 Utils from '../../classes/utils.js';
10
- /**
11
- *
12
- * @param this
13
- */
14
- export default async function initramfsCfg(installDevice) {
15
- if (this.distro.familyId === 'debian') {
16
- // userSwapChoices = ['none', 'small', 'suspend', 'file']
17
- const file = this.installTarget + '/etc/initramfs-tools/conf.d/resume';
18
- let text = '';
19
- text += this.partitions.userSwapChoice === 'none' || this.partitions.userSwapChoice === 'file' ? '#RESUME=none\n' : 'RESUME=UUID=' + Utils.uuid(this.devices.swap.name);
20
- Utils.write(file, text);
21
- }
22
- else if (this.distro.familyId === 'archlinux') {
23
- console.log('initramfsCfg skipped');
24
- }
25
- }
@@ -1,13 +0,0 @@
1
- /**
2
- * ./src/krill/modules/initramfs.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
- * initramfs()
12
- */
13
- export default function initramfs(this: Sequence): Promise<void>;
@@ -1,48 +0,0 @@
1
- /**
2
- * ./src/krill/modules/initramfs.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 path from 'node:path';
10
- import Utils from '../../classes/utils.js';
11
- import { exec } from '../../lib/utils.js';
12
- // _dirname
13
- const __dirname = path.dirname(new URL(import.meta.url).pathname);
14
- /**
15
- * initramfs()
16
- */
17
- export default async function initramfs() {
18
- if (this.distro.familyId === 'debian') {
19
- let cmd = `chroot ${this.installTarget} mkinitramfs -o ~/initrd.img-$(uname -r) ${this.toNull}`;
20
- try {
21
- await exec(cmd, this.echo);
22
- }
23
- catch {
24
- await Utils.pressKeyToExit(cmd);
25
- }
26
- cmd = `chroot ${this.installTarget} mv ~/initrd.img-$(uname -r) /boot ${this.toNull}`;
27
- try {
28
- await exec(cmd, this.echo);
29
- }
30
- catch {
31
- await Utils.pressKeyToExit(cmd);
32
- }
33
- }
34
- else if (this.distro.familyId === 'archlinux') {
35
- let initrdImg = Utils.initrdImg();
36
- initrdImg = initrdImg.slice(Math.max(0, initrdImg.lastIndexOf('/') + 1));
37
- let cmd = `mkinitcpio -c ${path.resolve(__dirname, '../../../mkinitcpio/arch/mkinitcpio-install.conf')} -g ${this.installTarget}/boot/${initrdImg}`;
38
- if (this.distro.distroId === 'Manjaro') {
39
- cmd = `mkinitcpio -c ${path.resolve(__dirname, '../../../mkinitcpio/manjaro/mkinitcpio-install.conf')} -g ${this.installTarget}/boot/${initrdImg}`; // ${this.toNull}
40
- }
41
- try {
42
- await exec(cmd, Utils.setEcho(true));
43
- }
44
- catch {
45
- await Utils.pressKeyToExit(cmd);
46
- }
47
- }
48
- }
@@ -1,10 +0,0 @@
1
- /**
2
- * ./src/krill/modules/locale-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
- export default function localeCfg(this: Sequence): Promise<void>;
@@ -1,61 +0,0 @@
1
- /**
2
- * ./src/krill/modules/locale-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
- /* localeCfg
11
- * Enable the configured locales (those set by the user on the
12
- * user page) in /etc/locale.gen, if they are available in the
13
- * target system.
14
- */
15
- export default async function localeCfg() {
16
- /**
17
- * influence: - locale-gen
18
- */
19
- let supporteds = [];
20
- if (this.distro.familyId === 'debian') {
21
- // Format: en_US.UTF-8 UTF-8
22
- supporteds = fs.readFileSync('/usr/share/i18n/SUPPORTED', 'utf8').split('\n');
23
- }
24
- else if (this.distro.familyId === 'archlinux') {
25
- // shx.exec('localectl list-locales > /tmp/SUPPORTED') // with await exec don't work!
26
- const supportedsSource = fs.readFileSync('/etc/locale.gen', 'utf8').split('\n');
27
- // Original Format: #en_US.UTF-8 UTF-8
28
- for (let line of supportedsSource) {
29
- if (line.slice(0, 2) !== '# ') {
30
- // se non è un commento
31
- line = line.slice(1); // Rimuove #
32
- }
33
- supporteds.push(line);
34
- }
35
- // Format: en_US.UTF-8 UTF-8
36
- }
37
- const localeGenSource = fs.readFileSync(`${this.installTarget}/etc/locale.gen`, 'utf8').split('\n');
38
- let localeGenDest = '';
39
- const krillBookmark = '# Locales enabled by krill\n';
40
- for (const line of localeGenSource) {
41
- if (line.includes(krillBookmark)) {
42
- break;
43
- }
44
- localeGenDest += line + '\n';
45
- }
46
- localeGenDest += '\n';
47
- localeGenDest += krillBookmark;
48
- const locales = [];
49
- if (this.language !== 'en_US.UTF-8') {
50
- locales.push('en_US.UTF-8');
51
- }
52
- locales.push(this.language);
53
- for (const supported of supporteds) {
54
- for (const locale of locales) {
55
- if (supported.includes(locale)) {
56
- localeGenDest += `${supported}\n`;
57
- }
58
- }
59
- }
60
- fs.writeFileSync(`${this.installTarget}/etc/locale.gen`, localeGenDest);
61
- }
@@ -1,13 +0,0 @@
1
- /**
2
- * ./src/krill/modules/locale.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
- * locale
12
- */
13
- export default function locale(this: Sequence): Promise<void>;
@@ -1,48 +0,0 @@
1
- /**
2
- * ./src/krill/modules/locale.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 Utils from '../../classes/utils.js';
10
- /**
11
- * locale
12
- */
13
- export default async function locale() {
14
- /**
15
- * influcence: - /etc/default/locale
16
- * - /etc/locale.conf
17
- * - /etc/timezone
18
- */
19
- const defaultLocale = this.language;
20
- // /etc/default/locale
21
- let file = this.installTarget + '/etc/default/locale';
22
- let content = '';
23
- content += `LANG=${defaultLocale}\n`;
24
- content += `LC_CTYPE=${defaultLocale}\n`;
25
- content += `LC_NUMERIC=${defaultLocale}\n`;
26
- content += `LC_TIME=${defaultLocale}\n`;
27
- content += `LC_COLLATE=${defaultLocale}\n`;
28
- content += `LC_MONETARY=${defaultLocale}\n`;
29
- content += `LC_MESSAGES=${defaultLocale}\n`;
30
- content += `LC_PAPER=${defaultLocale}\n`;
31
- content += `LC_NAME=${defaultLocale}\n`;
32
- content += `LC_ADDRESS=${defaultLocale}\n`;
33
- content += `LC_TELEPHONE=${defaultLocale}\n`;
34
- content += `LC_MEASUREMENT=${defaultLocale}\n`;
35
- content += `LC_IDENTIFICATION=${defaultLocale}\n`;
36
- content += `LC_ALL=${defaultLocale}\n`;
37
- Utils.write(file, content);
38
- // /etc/locale.conf
39
- file = this.installTarget + '/etc/locale.conf';
40
- Utils.write(file, content);
41
- // timezone
42
- try {
43
- await this.timezone();
44
- }
45
- catch (error) {
46
- await Utils.pressKeyToExit(JSON.stringify(error));
47
- }
48
- }
@@ -1,14 +0,0 @@
1
- /**
2
- * ./src/krill/modules/m-keyboard.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 mKeyboard(this: Sequence): Promise<void>;
@@ -1,79 +0,0 @@
1
- /**
2
- * ./src/krill/modules/m-keyboard.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 Utils from '../../classes/utils.js';
11
- import { exec } from '../../lib/utils.js';
12
- /**
13
- *
14
- * @param this
15
- */
16
- export default async function mKeyboard() {
17
- /**
18
- * influence: - /etc/default/keyboard (x11)
19
- * - /etc/vconsole.conf (console)
20
- * - /etc/X11/xorg.conf.d/00-keyboard.conf
21
- *
22
- * Problem: Actually don't update /etc/default/keyboard (x11)
23
- * /etc/vconsole.conf is update in installed systems
24
- */
25
- // systemd as default
26
- let cmd = `chroot ${this.installTarget} localectl set-keymap ${this.keyboardLayout}`;
27
- if (!Utils.isSystemd()) {
28
- cmd = `chroot ${this.installTarget} setupcon ${this.toNull}`;
29
- }
30
- try {
31
- await exec(cmd, this.echo);
32
- }
33
- catch (error) {
34
- console.log(error);
35
- Utils.pressKeyToExit(cmd, true);
36
- }
37
- /**
38
- * this must to be not necessary but...
39
- *
40
- * force change /etc/default/keyboard (x11)
41
- * force change /etc/vconsole.conf
42
- * force change /etc/X11/xorg.conf.d/00-keyboard.conf
43
- */
44
- let content = '# KEYBOARD CONFIGURATION FILE\n\n';
45
- content += '# Consult the keyboard(5) manual page.\n\n';
46
- content += '# See penguins-eggs/src/krill/modules/m-keyboard.ts\n\n';
47
- content += 'XKBMODEL="' + this.keyboardModel + '"\n';
48
- content += 'XKBLAYOUT="' + this.keyboardLayout + '"\n';
49
- content += 'XKBVARIANT="' + this.keyboardVariant + '"\n';
50
- content += 'XKBOPTIONS=""\n';
51
- content += '\n';
52
- content += 'BACKSPACE="guess"\n';
53
- Utils.write(this.installTarget + '/etc/default/keyboard', content);
54
- /**
55
- * vconsole.conf: dovrebbe dipendere da systemd
56
- */
57
- if (Utils.isSystemd()) {
58
- content = '# See penguins-eggs/src/krill/modules/set-keyboard.ts\n\n';
59
- content += 'KEYMAP="' + this.keyboardLayout + '"\n';
60
- content += 'FONT=\n';
61
- content += 'FONT_MAP=\n';
62
- Utils.write(this.installTarget + '/etc/vconsole.conf', content);
63
- }
64
- /**
65
- * 00-keyboard.conf: dovrebbe dipendere da X
66
- */
67
- content = '# See penguins-eggs/src/krill/modules/set-keyboard.ts\n\n';
68
- content += "# Read and parsed by systemd-localed. It's probably wise not to edit this file\n";
69
- content += '# manually too freely.\n';
70
- content += 'Section "InputClass"\n';
71
- content += ' Identifier "system-keyboard"\n';
72
- content += ' MatchIsKeyboard "on"\n';
73
- content += ' Option "XkbLayout" "' + this.keyboardLayout + '"\n';
74
- content += 'EndSection\n';
75
- // Not always exist /etc/X11/xorg.conf.d
76
- if (fs.existsSync(this.installTarget + '/etc/X11/xorg.conf.d')) {
77
- Utils.write(this.installTarget + '/etc/X11/xorg.conf.d/00-keyboard.conf', content);
78
- }
79
- }