penguins-eggs 25.11.8 → 25.11.12
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.
- package/.oclif.manifest.json +1 -1
- package/README.md +0 -767
- package/conf/distros/archlinux/calamares/modules/bootloader.yml +1 -1
- package/conf/distros/archlinux/calamares/modules/partition.yml +385 -8
- package/dist/classes/distro.js +11 -27
- package/dist/classes/incubation/customize/customize-partitions.js +8 -1
- package/dist/classes/incubation/fisherman-helper/packages.js +1 -1
- package/dist/classes/incubation/incubator.js +2 -2
- package/dist/classes/pacman.d/archlinux.js +5 -5
- package/dist/classes/pacman.d/debian.js +0 -2
- package/dist/classes/pacman.d/opensuse.js +2 -2
- package/package.json +6 -6
- package/dist/classes/distro-hossein.d.ts +0 -52
- package/dist/classes/distro-hossein.js +0 -239
- package/dist/classes/incubation/incubator.d/bionic.d.ts +0 -32
- package/dist/classes/incubation/incubator.d/bionic.js +0 -83
|
@@ -1,15 +1,392 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
# SPDX-FileCopyrightText: no
|
|
2
|
+
# SPDX-License-Identifier: CC0-1.0
|
|
3
|
+
#
|
|
4
|
+
|
|
5
|
+
# Options for EFI system partition.
|
|
6
|
+
#
|
|
7
|
+
# - *mountPoint*
|
|
8
|
+
# This setting specifies the mount point of the EFI system partition. Some
|
|
9
|
+
# distributions (Fedora, Debian, Manjaro, etc.) use /boot/efi, others (KaOS,
|
|
10
|
+
# etc.) use just /boot.
|
|
11
|
+
#
|
|
12
|
+
# Defaults to "/boot/efi", may be empty (but weird effects ensue)
|
|
13
|
+
# - *recommendedSize*
|
|
14
|
+
# This optional setting specifies the size of the EFI system partition.
|
|
15
|
+
# If nothing is specified, the default size of 300MiB will be used.
|
|
16
|
+
# When writing quantities here, M is treated as MiB, and if you really
|
|
17
|
+
# want one-million (10^6) bytes, use MB.
|
|
18
|
+
# - *minimumSize*
|
|
19
|
+
# This optional setting specifies the absolute minimum size of the EFI
|
|
20
|
+
# system partition. If nothing is specified, the *recommendedSize*
|
|
21
|
+
# is used instead.
|
|
22
|
+
# - *label*
|
|
23
|
+
# This optional setting specifies the name of the EFI system partition (see
|
|
24
|
+
# PARTLABEL; gpt only; requires KPMCore >= 4.2.0).
|
|
25
|
+
# If nothing is specified, the partition name is left unset.
|
|
26
|
+
#
|
|
27
|
+
# Going below the *recommended* size is allowed, but the user will
|
|
28
|
+
# get a warning that it might not work. Going below the *minimum*
|
|
29
|
+
# size is not allowed and the user will be told it will not work.
|
|
30
|
+
#
|
|
31
|
+
# Both quantities must be at least 32MiB, this is enforced by the EFI
|
|
32
|
+
# spec. If minimum is not specified, it defaults to the recommended
|
|
33
|
+
# size. Distros that allow more user latitude can set the minimum lower.
|
|
34
|
+
efi:
|
|
35
|
+
mountPoint: "/boot/efi"
|
|
36
|
+
recommendedSize: 300MiB
|
|
37
|
+
minimumSize: 32MiB
|
|
38
|
+
label: "EFI"
|
|
39
|
+
|
|
40
|
+
# Deprecated alias of efi.mountPoint
|
|
41
|
+
# efiSystemPartition: "/boot/efi"
|
|
42
|
+
|
|
43
|
+
# Deprecated alias of efi.recommendedSize
|
|
44
|
+
# efiSystemPartitionSize: 300MiB
|
|
45
|
+
|
|
46
|
+
# Deprecated alias of efi.label
|
|
47
|
+
# efiSystemPartitionName: EFI
|
|
48
|
+
|
|
49
|
+
# In autogenerated partitioning, allow the user to select a swap size?
|
|
50
|
+
# If there is exactly one choice, no UI is presented, and the user
|
|
51
|
+
# cannot make a choice -- this setting is used. If there is more than
|
|
52
|
+
# one choice, a UI is presented.
|
|
53
|
+
#
|
|
54
|
+
# Legacy settings *neverCreateSwap* and *ensureSuspendToDisk* correspond
|
|
55
|
+
# to values of *userSwapChoices* as follows:
|
|
56
|
+
# - *neverCreateSwap* is true, means [none]
|
|
57
|
+
# - *neverCreateSwap* is false, *ensureSuspendToDisk* is false, [small]
|
|
58
|
+
# - *neverCreateSwap* is false, *ensureSuspendToDisk* is true, [suspend]
|
|
59
|
+
#
|
|
60
|
+
# Autogenerated swap sizes are as follows:
|
|
61
|
+
# - *suspend*: Swap is always at least total memory size,
|
|
62
|
+
# and up to 4GiB RAM follows the rule-of-thumb 2 * memory;
|
|
63
|
+
# from 4GiB to 8 GiB it stays steady at 8GiB, and over 8 GiB memory
|
|
64
|
+
# swap is the size of main memory.
|
|
65
|
+
# - *small*: Follows the rules above, but Swap is at
|
|
66
|
+
# most 8GiB, and no more than 10% of available disk.
|
|
67
|
+
# In both cases, a fudge factor (usually 10% extra) is applied so that there
|
|
68
|
+
# is some space for administrative overhead (e.g. 8 GiB swap will allocate
|
|
69
|
+
# 8.8GiB on disk in the end).
|
|
70
|
+
#
|
|
71
|
+
# If *file* is enabled here, make sure to have the *fstab* module
|
|
72
|
+
# as well (later in the exec phase) so that the swap file is
|
|
73
|
+
# actually created.
|
|
4
74
|
userSwapChoices:
|
|
5
75
|
- none # Create no swap, use no swap
|
|
6
76
|
- small # Up to 4GB
|
|
7
77
|
- suspend # At least main memory size
|
|
78
|
+
# - reuse # Re-use existing swap, but don't create any (unsupported right now)
|
|
8
79
|
- file # To swap file instead of partition
|
|
80
|
+
|
|
81
|
+
# This optional setting specifies the name of the swap partition (see
|
|
82
|
+
# PARTLABEL; gpt only; requires KPMCore >= 4.2.0).
|
|
83
|
+
# If nothing is specified, the partition name is left unset.
|
|
84
|
+
# swapPartitionName: swap
|
|
85
|
+
|
|
86
|
+
# LEGACY SETTINGS (these will generate a warning)
|
|
87
|
+
# ensureSuspendToDisk: true
|
|
88
|
+
# neverCreateSwap: false
|
|
89
|
+
|
|
90
|
+
# This setting specifies the LUKS generation (i.e LUKS1, LUKS2) used internally by
|
|
91
|
+
# cryptsetup when creating an encrypted partition.
|
|
92
|
+
#
|
|
93
|
+
# This option is set to luks1 by default, as grub doesn't support LUKS2 + Argon2id
|
|
94
|
+
# currently. On the other hand grub does support LUKS2 with PBKDF2 and could therefore be
|
|
95
|
+
# also set to luks2. Also there are some patches for grub and Argon2.
|
|
96
|
+
# See: https://aur.archlinux.org/packages/grub-improved-luks2-git
|
|
97
|
+
#
|
|
98
|
+
# Choices: luks1, luks2 (in addition, "luks" means "luks1")
|
|
99
|
+
#
|
|
100
|
+
# The default is luks1
|
|
101
|
+
#
|
|
102
|
+
luksGeneration: luks1
|
|
103
|
+
|
|
104
|
+
# This setting determines if encryption should be allowed when using zfs. This
|
|
105
|
+
# setting has no effect unless zfs support is provided.
|
|
106
|
+
#
|
|
107
|
+
# This setting is to handle the fact that some bootloaders(such as grub) do not
|
|
108
|
+
# support zfs encryption.
|
|
109
|
+
#
|
|
110
|
+
# The default is true
|
|
111
|
+
#
|
|
112
|
+
# allowZfsEncryption: true
|
|
113
|
+
|
|
114
|
+
# Correctly draw nested (e.g. logical) partitions as such.
|
|
115
|
+
drawNestedPartitions: false
|
|
116
|
+
|
|
117
|
+
# Show/hide partition labels on manual partitioning page.
|
|
9
118
|
alwaysShowPartitionLabels: true
|
|
10
|
-
|
|
11
|
-
#
|
|
12
|
-
|
|
119
|
+
|
|
120
|
+
# Allow manual partitioning.
|
|
121
|
+
#
|
|
122
|
+
# When set to false, this option hides the "Manual partitioning" button,
|
|
123
|
+
# limiting the user's choice to "Erase", "Replace" or "Alongside".
|
|
124
|
+
# This can be useful when using a custom partition layout we don't want
|
|
125
|
+
# the user to modify.
|
|
126
|
+
#
|
|
127
|
+
# If nothing is specified, manual partitioning is enabled.
|
|
128
|
+
#allowManualPartitioning: true
|
|
129
|
+
|
|
130
|
+
# Show not encrypted boot partition warning.
|
|
131
|
+
#
|
|
132
|
+
# When set to false, this option does not show the
|
|
133
|
+
# "Boot partition not encrypted" warning when encrypting the
|
|
134
|
+
# root partition but not /boot partition.
|
|
135
|
+
#
|
|
136
|
+
# If nothing is specified, the warning is shown.
|
|
137
|
+
#showNotEncryptedBootMessage: true
|
|
138
|
+
|
|
139
|
+
# Initial selection on the Choice page
|
|
140
|
+
#
|
|
141
|
+
# There are four radio buttons (in principle: erase, replace, alongside, manual),
|
|
142
|
+
# and you can pick which of them, if any, is initially selected. For most
|
|
143
|
+
# installers, "none" is the right choice: it makes the user pick something specific,
|
|
144
|
+
# rather than accidentally being able to click past an important choice (in particular,
|
|
145
|
+
# "erase" is a dangerous choice).
|
|
146
|
+
#
|
|
147
|
+
# The default is "none"
|
|
148
|
+
#
|
|
149
|
+
initialPartitioningChoice: none
|
|
150
|
+
#
|
|
151
|
+
# Similarly, some of the installation choices may offer a choice of swap;
|
|
152
|
+
# the available choices depend on *userSwapChoices*, above, and this
|
|
153
|
+
# setting can be used to pick a specific one.
|
|
154
|
+
#
|
|
155
|
+
# The default is "none" (no swap) if that is one of the enabled options, otherwise
|
|
156
|
+
# one of the items from the options.
|
|
13
157
|
initialSwapChoice: none
|
|
14
|
-
|
|
15
|
-
|
|
158
|
+
|
|
159
|
+
# armInstall
|
|
160
|
+
#
|
|
161
|
+
# Leaves 16MB empty at the start of a drive when partitioning
|
|
162
|
+
# where usually the u-boot loader goes
|
|
163
|
+
#
|
|
164
|
+
# armInstall: false
|
|
165
|
+
|
|
166
|
+
# Default partition table type, used when a "erase" disk is made.
|
|
167
|
+
#
|
|
168
|
+
# When erasing a disk, a new partition table is created on disk.
|
|
169
|
+
# In other cases, e.g. Replace and Alongside, as well as when using
|
|
170
|
+
# manual partitioning, this partition table exists already on disk
|
|
171
|
+
# and it is left unmodified.
|
|
172
|
+
#
|
|
173
|
+
# Possible values: gpt, msdos (or other names defined by KPMcore).
|
|
174
|
+
# Names are case-sensitive.
|
|
175
|
+
#
|
|
176
|
+
# If nothing is specified, Calamares defaults to "gpt" if system is
|
|
177
|
+
# efi or "msdos" otherwise.
|
|
178
|
+
#
|
|
179
|
+
# defaultPartitionTableType: msdos
|
|
180
|
+
|
|
181
|
+
# Specify whether to create a partition table layout suitable for a hybrid
|
|
182
|
+
# (BIOS + EFI) bootloader installation. This will prepend both bios-boot and
|
|
183
|
+
# EFI system partitions to the partition layout, regardless of whether the
|
|
184
|
+
# booted system uses BIOS or EFI firmware. Defaults to false.
|
|
185
|
+
#
|
|
186
|
+
# createHybridBootloaderLayout: false
|
|
187
|
+
|
|
188
|
+
# Requirement for partition table type
|
|
189
|
+
#
|
|
190
|
+
# Restrict the installation on disks that match the type of partition
|
|
191
|
+
# tables that are specified.
|
|
192
|
+
#
|
|
193
|
+
# Possible values: msdos, gpt (or other names defined by KPMcore).
|
|
194
|
+
# Names are case-sensitive.
|
|
195
|
+
#
|
|
196
|
+
# If nothing is specified, Calamares defaults to both "msdos" and "gpt".
|
|
197
|
+
#
|
|
198
|
+
# requiredPartitionTableType: gpt
|
|
199
|
+
# requiredPartitionTableType:
|
|
200
|
+
# - msdos
|
|
201
|
+
# - gpt
|
|
202
|
+
|
|
203
|
+
# Default filesystem type, used when a "new" partition is made.
|
|
204
|
+
#
|
|
205
|
+
# When replacing a partition, the new filesystem type will be from the
|
|
206
|
+
# defaultFileSystemType value. In other cases, e.g. Erase and Alongside,
|
|
207
|
+
# as well as when using manual partitioning and creating a new
|
|
208
|
+
# partition, this filesystem type is pre-selected. Note that
|
|
209
|
+
# editing a partition in manual-creation mode will not automatically
|
|
210
|
+
# change the filesystem type to this default value -- it is not
|
|
211
|
+
# creating a new partition.
|
|
212
|
+
#
|
|
213
|
+
# Suggested values: ext2, ext3, ext4, reiser, xfs, jfs, btrfs
|
|
214
|
+
# If nothing is specified, Calamares defaults to "ext4".
|
|
215
|
+
#
|
|
216
|
+
# Names are case-sensitive and defined by KPMCore.
|
|
217
|
+
defaultFileSystemType: "ext4"
|
|
218
|
+
|
|
219
|
+
# Selectable filesystem type, used when "erase" is done.
|
|
220
|
+
#
|
|
221
|
+
# When erasing the disk, the *defaultFileSystemType* is used (see
|
|
222
|
+
# above), but it is also possible to give users a choice:
|
|
223
|
+
# list suitable filesystems here. A drop-down is provided
|
|
224
|
+
# to pick which is the filesystems will be used.
|
|
225
|
+
#
|
|
226
|
+
# The value *defaultFileSystemType* is added to this list (with a warning)
|
|
227
|
+
# if not present; the default pick is the *defaultFileSystemType*.
|
|
228
|
+
#
|
|
229
|
+
# If not specified at all, uses *defaultFileSystemType* without a
|
|
230
|
+
# warning (this matches traditional no-choice-available behavior best).
|
|
231
|
+
# availableFileSystemTypes: ["ext4","f2fs"]
|
|
232
|
+
|
|
233
|
+
# Per-directory filesystem restrictions.
|
|
234
|
+
#
|
|
235
|
+
# This optional setting specifies what filesystems the user can and cannot use
|
|
236
|
+
# for various directories and mountpoints when using manual partitioning.
|
|
237
|
+
#
|
|
238
|
+
# If nothing is specified, the only restriction enforced by default is that
|
|
239
|
+
# the EFI system partition must use the fat32 filesystem.
|
|
240
|
+
#
|
|
241
|
+
# Otherwise, the filesystem restrictions are defined as follow:
|
|
242
|
+
#
|
|
243
|
+
# directoryFilesystemRestrictions:
|
|
244
|
+
# - directory: "any"
|
|
245
|
+
# allowedFilesystemTypes: ["all"]
|
|
246
|
+
# - directory: "/"
|
|
247
|
+
# allowedFilesystemTypes: ["ext4","xfs","btrfs","jfs","f2fs"]
|
|
248
|
+
# - mountpoint: "efi"
|
|
249
|
+
# allowedFilesystemTypes: ["fat32"]
|
|
250
|
+
# onlyWhenMountpoint: true
|
|
251
|
+
#
|
|
252
|
+
# There can be any number of mountpoints listed, each entry having the
|
|
253
|
+
# following attributes:
|
|
254
|
+
# - mountpoint: mountpoint's full path
|
|
255
|
+
# or
|
|
256
|
+
# "any" to specify a global whitelist that applies to all
|
|
257
|
+
# mountpoints
|
|
258
|
+
# or
|
|
259
|
+
# "efi" to specify a whitelist specific to the EFI system
|
|
260
|
+
# partition, wherever that partition is located
|
|
261
|
+
# - allowedFilesystemTypes: the list of all filesystems valid for this
|
|
262
|
+
# mountpoint. If the list contains exactly one
|
|
263
|
+
# element, and that element is the special value
|
|
264
|
+
# "any", all filesystem types recognized by
|
|
265
|
+
# Calamares will be allowed.
|
|
266
|
+
# - onlyWhenMountpoint: Whether the restriction should apply only when the
|
|
267
|
+
# specified directory is a mountpoint. When set to
|
|
268
|
+
# true, Calamares will only enforce the listed
|
|
269
|
+
# restrictions when the user makes a separate partition
|
|
270
|
+
# for this directory and assigns the mountpoint
|
|
271
|
+
# accordingly. When set to false, Calamares will
|
|
272
|
+
# ensure this directory uses the specified filesystem
|
|
273
|
+
# even if the directory is part of a filesystem on a
|
|
274
|
+
# different mountpoint. Defaults to false.
|
|
275
|
+
|
|
276
|
+
# The ClearMounts job unmounts / unmaps things before partitioning.
|
|
277
|
+
# Some special entries under /dev/mapper are excepted from this process.
|
|
278
|
+
# The example lists the three hard-coded exceptions which always apply
|
|
279
|
+
# (they don't need to be listed here). Add other names or wildcards (with
|
|
280
|
+
# a trailing '*') to this list if the live-ISO has additional mounts.
|
|
281
|
+
essentialMounts: [ "live-*", "control", "ventoy" ]
|
|
282
|
+
|
|
283
|
+
# Show/hide LUKS related functionality in automated partitioning modes.
|
|
284
|
+
# Disable this if you choose not to deploy early unlocking support in GRUB2
|
|
285
|
+
# and/or your distribution's initramfs solution.
|
|
286
|
+
#
|
|
287
|
+
# BIG FAT WARNING:
|
|
288
|
+
#
|
|
289
|
+
# This option is unsupported, as it cuts out a crucial security feature.
|
|
290
|
+
# Disabling LUKS and shipping Calamares without a correctly configured GRUB2
|
|
291
|
+
# and initramfs is considered suboptimal use of the Calamares software. The
|
|
292
|
+
# Calamares team will not provide user support for any potential issue that
|
|
293
|
+
# may arise as a consequence of setting this option to false.
|
|
294
|
+
# It is strongly recommended that system integrators put in the work to support
|
|
295
|
+
# LUKS unlocking support in GRUB2 and initramfs/dracut/mkinitcpio/etc.
|
|
296
|
+
# For more information on setting up GRUB2 for Calamares with LUKS, see
|
|
297
|
+
# the Calamares website at https://calamares.io/docs/partitions/#luks .
|
|
298
|
+
#
|
|
299
|
+
# If nothing is specified, LUKS is enabled in automated modes.
|
|
300
|
+
#enableLuksAutomatedPartitioning: true
|
|
301
|
+
|
|
302
|
+
# When enableLuksAutomatedPartitioning is true, this option will pre-check
|
|
303
|
+
# encryption checkbox. This option is only usefull to help people to not forget
|
|
304
|
+
# to cypher their disk when installing in enterprise (for example).
|
|
305
|
+
#preCheckEncryption: false
|
|
306
|
+
|
|
307
|
+
# LVM support
|
|
308
|
+
#
|
|
309
|
+
# There is only one sub-key available, *enable* (defaults to true)
|
|
310
|
+
# which can be used to show (default) or hide the LVM buttons in the partitioning module.
|
|
311
|
+
lvm:
|
|
312
|
+
enable: true
|
|
313
|
+
|
|
314
|
+
# Partition layout.
|
|
315
|
+
#
|
|
316
|
+
# This optional setting specifies a custom partition layout.
|
|
317
|
+
#
|
|
318
|
+
# If nothing is specified, the default partition layout is a single partition
|
|
319
|
+
# for root that uses 100% of the space and uses the filesystem defined by
|
|
320
|
+
# defaultFileSystemType.
|
|
321
|
+
#
|
|
322
|
+
# Note: the EFI system partition is prepended automatically to the layout if
|
|
323
|
+
# needed; the swap partition is appended to the layout if enabled (selections
|
|
324
|
+
# "small" or "suspend" in *userSwapChoices*).
|
|
325
|
+
#
|
|
326
|
+
# Otherwise, the partition layout is defined as follow:
|
|
327
|
+
#
|
|
328
|
+
# partitionLayout:
|
|
329
|
+
# - name: "rootfs"
|
|
330
|
+
# type: "4f68bce3-e8cd-4db1-96e7-fbcaf984b709"
|
|
331
|
+
# filesystem: "ext4"
|
|
332
|
+
# noEncrypt: false
|
|
333
|
+
# mountPoint: "/"
|
|
334
|
+
# size: 20%
|
|
335
|
+
# minSize: 500M
|
|
336
|
+
# maxSize: 10G
|
|
337
|
+
# attributes: 0xffff000000000003
|
|
338
|
+
# - name: "home"
|
|
339
|
+
# type: "933ac7e1-2eb4-4f13-b844-0e14e2aef915"
|
|
340
|
+
# filesystem: "ext4"
|
|
341
|
+
# noEncrypt: false
|
|
342
|
+
# mountPoint: "/home"
|
|
343
|
+
# size: 3G
|
|
344
|
+
# minSize: 1.5G
|
|
345
|
+
# features:
|
|
346
|
+
# 64bit: false
|
|
347
|
+
# casefold: true
|
|
348
|
+
# - name: "data"
|
|
349
|
+
# filesystem: "fat32"
|
|
350
|
+
# mountPoint: "/data"
|
|
351
|
+
# features:
|
|
352
|
+
# sector-size: 4096
|
|
353
|
+
# sectors-per-cluster: 128
|
|
354
|
+
# size: 100%
|
|
355
|
+
#
|
|
356
|
+
# There can be any number of partitions, each entry having the following attributes:
|
|
357
|
+
# - name: filesystem label
|
|
358
|
+
# and
|
|
359
|
+
# partition name (gpt only; since KPMCore 4.2.0)
|
|
360
|
+
# - uuid: partition uuid (optional parameter; gpt only; requires KPMCore >= 4.2.0)
|
|
361
|
+
# - type: partition type (optional parameter; gpt only; requires KPMCore >= 4.2.0)
|
|
362
|
+
# - attributes: partition attributes (optional parameter; gpt only; requires KPMCore >= 4.2.0)
|
|
363
|
+
# - filesystem: filesystem type (optional parameter)
|
|
364
|
+
# - if not set at all, treat as "unformatted"
|
|
365
|
+
# - if "unformatted", no filesystem will be created
|
|
366
|
+
# - if "unknown" (or an unknown FS name, like "elephant") then the
|
|
367
|
+
# default filesystem type, or the user's choice, will be applied instead
|
|
368
|
+
# of "unknown" (e.g. the user might pick ext4, or xfs).
|
|
369
|
+
# - noEncrypt: whether this partition is exempt from encryption if enabled (optional parameter; default is false)
|
|
370
|
+
# - mountPoint: partition mount point (optional parameter; not mounted if unset)
|
|
371
|
+
# - size: partition size in bytes (append 'K', 'M' or 'G' for KiB, MiB or GiB)
|
|
372
|
+
# or
|
|
373
|
+
# % of the available drive space if a '%' is appended to the value
|
|
374
|
+
# - minSize: minimum partition size (optional parameter)
|
|
375
|
+
# - maxSize: maximum partition size (optional parameter)
|
|
376
|
+
# - features: filesystem features (optional parameter; requires KPMCore >= 4.2.0)
|
|
377
|
+
# name: boolean or integer or string
|
|
378
|
+
|
|
379
|
+
# Checking for available storage
|
|
380
|
+
#
|
|
381
|
+
# This overlaps with the setting of the same name in the welcome module's
|
|
382
|
+
# requirements section. If nothing is set by the welcome module, this
|
|
383
|
+
# value is used instead. It is still a problem if there is no required
|
|
384
|
+
# size set at all, and the replace and resize options will not be offered
|
|
385
|
+
# if no required size is set.
|
|
386
|
+
#
|
|
387
|
+
# The value is in Gibibytes (GiB).
|
|
388
|
+
#
|
|
389
|
+
# BIG FAT WARNING: except for OEM-phase-0 use, you should be using
|
|
390
|
+
# the welcome module, **and** configure this value in
|
|
391
|
+
# `welcome.conf`, not here.
|
|
392
|
+
# requiredStorage: 3.5
|
package/dist/classes/distro.js
CHANGED
|
@@ -67,10 +67,9 @@ class Distro {
|
|
|
67
67
|
this.distroId = "Bigcommunity";
|
|
68
68
|
}
|
|
69
69
|
/**
|
|
70
|
-
* Alpine, Fedora, openmamba, opensuse
|
|
70
|
+
* Alpine, Fedora, openmamba, opensuse analyze **distroId**
|
|
71
71
|
*
|
|
72
|
-
* Debian, Devuan, Ubuntu
|
|
73
|
-
* default e si analizza il codebaseId
|
|
72
|
+
* Arch, Debian, Devuan, Ubuntu and derivatives we analyze **codebaseId**
|
|
74
73
|
*
|
|
75
74
|
*/
|
|
76
75
|
if (this.distroId === 'Alpine') {
|
|
@@ -118,7 +117,7 @@ class Distro {
|
|
|
118
117
|
}
|
|
119
118
|
else {
|
|
120
119
|
/**
|
|
121
|
-
*
|
|
120
|
+
* Debian/ARCH: we analize **codenameId**
|
|
122
121
|
*/
|
|
123
122
|
/**
|
|
124
123
|
* Arch
|
|
@@ -177,13 +176,6 @@ class Distro {
|
|
|
177
176
|
this.distroLike = 'Debian';
|
|
178
177
|
this.distroUniqueId = 'trixie';
|
|
179
178
|
this.liveMediumPath = '/run/live/medium/'; //initramfs
|
|
180
|
-
// this.liveMediumPath = '/run/initramfs/live/' // dracut
|
|
181
|
-
/**
|
|
182
|
-
* dracut su trixie
|
|
183
|
-
if (Pacman.packageIsInstalled('dracut')) {
|
|
184
|
-
this.liveMediumPath = '/run/initramfs/live/'
|
|
185
|
-
}
|
|
186
|
-
*/
|
|
187
179
|
/**
|
|
188
180
|
* Debian 14 forky
|
|
189
181
|
*/
|
|
@@ -219,14 +211,6 @@ class Distro {
|
|
|
219
211
|
else if (this.codenameId === 'excalibur') {
|
|
220
212
|
this.distroLike = 'Devuan';
|
|
221
213
|
this.distroUniqueId = 'excalibur';
|
|
222
|
-
/**
|
|
223
|
-
* Ubuntu bionic
|
|
224
|
-
*/
|
|
225
|
-
}
|
|
226
|
-
else if (this.codenameId === 'bionic') {
|
|
227
|
-
this.distroLike = 'Ubuntu';
|
|
228
|
-
this.distroUniqueId = 'bionic';
|
|
229
|
-
this.liveMediumPath = '/lib/live/mount/medium/';
|
|
230
214
|
/**
|
|
231
215
|
* Ubuntu focal
|
|
232
216
|
*/
|
|
@@ -264,11 +248,11 @@ class Distro {
|
|
|
264
248
|
/**
|
|
265
249
|
* derivatives: families archlinux, debian
|
|
266
250
|
*/
|
|
267
|
-
let
|
|
251
|
+
let archDebianDerivatives = path.resolve(__dirname, '../../conf/derivatives.yaml');
|
|
268
252
|
if (fs.existsSync('/etc/penguins-eggs.d/derivatives.yaml')) {
|
|
269
|
-
|
|
253
|
+
archDebianDerivatives = '/etc/penguins-eggs.d/derivatives.yaml';
|
|
270
254
|
}
|
|
271
|
-
const content = fs.readFileSync(
|
|
255
|
+
const content = fs.readFileSync(archDebianDerivatives, 'utf8');
|
|
272
256
|
const distros = yaml.load(content);
|
|
273
257
|
for (const distro of distros) {
|
|
274
258
|
if (distro.ids !== undefined) {
|
|
@@ -287,11 +271,11 @@ class Distro {
|
|
|
287
271
|
* derivatives: family fedora
|
|
288
272
|
*/
|
|
289
273
|
if (!found) {
|
|
290
|
-
let
|
|
274
|
+
let fedoraDerivatives = path.resolve(__dirname, '../../conf/derivatives_fedora.yaml');
|
|
291
275
|
if (fs.existsSync('/etc/penguins-eggs.d/derivatives_fedora.yaml')) {
|
|
292
|
-
|
|
276
|
+
fedoraDerivatives = '/etc/penguins-eggs.d/derivatives_fedora.yaml';
|
|
293
277
|
}
|
|
294
|
-
const content = fs.readFileSync(
|
|
278
|
+
const content = fs.readFileSync(fedoraDerivatives, 'utf8');
|
|
295
279
|
const elem = yaml.load(content);
|
|
296
280
|
if (elem.includes(this.distroId)) {
|
|
297
281
|
this.familyId = 'fedora';
|
|
@@ -327,7 +311,7 @@ class Distro {
|
|
|
327
311
|
this.usrLibPath = '/usr/lib64/';
|
|
328
312
|
}
|
|
329
313
|
/**
|
|
330
|
-
* Manjarolinux
|
|
314
|
+
* Manjarolinux anf derivatives (biglinux)
|
|
331
315
|
*/
|
|
332
316
|
if (Diversions.isManjaroBased(this.distroId)) {
|
|
333
317
|
this.liveMediumPath = '/run/miso/bootmnt/';
|
|
@@ -345,7 +329,7 @@ class Distro {
|
|
|
345
329
|
const data = fs.readFileSync(os_release, 'utf8');
|
|
346
330
|
lines = data.split('\n');
|
|
347
331
|
}
|
|
348
|
-
//
|
|
332
|
+
// read every line
|
|
349
333
|
for (const line of lines) {
|
|
350
334
|
if (line.startsWith('HOME_URL=')) {
|
|
351
335
|
this.homeUrl = line.slice('HOME_URL='.length).replaceAll('"', '');
|
|
@@ -24,7 +24,8 @@ export async function customizePartitions() {
|
|
|
24
24
|
*/
|
|
25
25
|
partition.availableFileSystemTypes = ['ext4'];
|
|
26
26
|
if (Pacman.packageIsInstalled('progs') ||
|
|
27
|
-
Pacman.packageIsInstalled('btrfsprogs')
|
|
27
|
+
Pacman.packageIsInstalled('btrfsprogs') ||
|
|
28
|
+
Pacman.packageIsInstalled('btrfs-progs')) {
|
|
28
29
|
partition.availableFileSystemTypes.push('btrfs');
|
|
29
30
|
}
|
|
30
31
|
if (Pacman.packageIsInstalled('xfsprogs')) {
|
|
@@ -33,5 +34,11 @@ export async function customizePartitions() {
|
|
|
33
34
|
if (Pacman.packageIsInstalled('f2fs-tools')) {
|
|
34
35
|
partition.availableFileSystemTypes.push('f2fs');
|
|
35
36
|
}
|
|
37
|
+
// Cannot work here
|
|
38
|
+
// if (!fs.existsSync('/sys/firmware/efi')) {
|
|
39
|
+
// if (partition.efi) {
|
|
40
|
+
// delete partition.efi
|
|
41
|
+
// }
|
|
42
|
+
// }
|
|
36
43
|
fs.writeFileSync(filePartition, yaml.dump(partition), 'utf-8');
|
|
37
44
|
}
|
|
@@ -12,7 +12,7 @@ import Pacman from '../../pacman.js';
|
|
|
12
12
|
* @returns yaml-string
|
|
13
13
|
*/
|
|
14
14
|
export function remove(distro) {
|
|
15
|
-
const packages = ['calamares
|
|
15
|
+
const packages = ['calamares'];
|
|
16
16
|
if (distro.familyId === 'archlinux') {
|
|
17
17
|
packages.push('penguins-eggs');
|
|
18
18
|
}
|
|
@@ -23,12 +23,12 @@ import { customizePartitions } from './customize/customize-partitions.js';
|
|
|
23
23
|
import { Alpine } from './incubator.d/alpine.js';
|
|
24
24
|
import { Archlinux } from './incubator.d/archlinux.js';
|
|
25
25
|
import { Buster } from './incubator.d/buster.js';
|
|
26
|
-
import { Trixie } from './incubator.d/trixie.js';
|
|
27
26
|
import { Fedora } from './incubator.d/fedora.js';
|
|
27
|
+
import { Manjaro } from './incubator.d/manjaro.js';
|
|
28
28
|
import { Noble } from './incubator.d/noble.js';
|
|
29
29
|
import { Openmamba } from './incubator.d/openmamba.js';
|
|
30
30
|
import { Opensuse } from './incubator.d/opensuse.js';
|
|
31
|
-
import {
|
|
31
|
+
import { Trixie } from './incubator.d/trixie.js';
|
|
32
32
|
// _dirname
|
|
33
33
|
const __dirname = path.dirname(new URL(import.meta.url).pathname);
|
|
34
34
|
/**
|
|
@@ -14,19 +14,19 @@ import Utils from '../utils.js';
|
|
|
14
14
|
* @remarks all the utilities
|
|
15
15
|
*/
|
|
16
16
|
export default class Archlinux {
|
|
17
|
-
static packs4calamares = ['calamares
|
|
17
|
+
static packs4calamares = ['calamares']; // , 'calamares']
|
|
18
18
|
/**
|
|
19
19
|
* Archlinux: calamaresInstall
|
|
20
20
|
*/
|
|
21
21
|
static async calamaresInstall(verbose = false) {
|
|
22
22
|
verbose = true; // serve per pacman
|
|
23
23
|
const echo = Utils.setEcho(verbose);
|
|
24
|
-
let cmd = `pacman -S calamares
|
|
24
|
+
let cmd = `pacman -S calamares --noconfirm`;
|
|
25
25
|
try {
|
|
26
26
|
await exec(cmd, echo);
|
|
27
27
|
}
|
|
28
28
|
catch {
|
|
29
|
-
Utils.error(`Cannot install calamares
|
|
29
|
+
Utils.error(`Cannot install calamares`);
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
32
|
/**
|
|
@@ -44,11 +44,11 @@ export default class Archlinux {
|
|
|
44
44
|
let success = false;
|
|
45
45
|
const echo = Utils.setEcho(verbose);
|
|
46
46
|
try {
|
|
47
|
-
await exec('pacman -R calamares calamares
|
|
47
|
+
await exec('pacman -R calamares calamares --noconfirm', echo);
|
|
48
48
|
success = true;
|
|
49
49
|
}
|
|
50
50
|
catch {
|
|
51
|
-
Utils.error(`Cannot remove calamares
|
|
51
|
+
Utils.error(`Cannot remove calamares`);
|
|
52
52
|
}
|
|
53
53
|
if (success && fs.existsSync('/etc/calamares')) {
|
|
54
54
|
await exec('rm /etc/calamares -rf', echo);
|
|
@@ -34,8 +34,6 @@ export default class Debian {
|
|
|
34
34
|
Utils.error(`Debian.calamaresInstall() apt-get install --yes ${array2spaced(this.debs4calamares)}`); // + e.error)
|
|
35
35
|
}
|
|
36
36
|
// remove others calamares links
|
|
37
|
-
await exec('rm -f /usr/share/applications/calamares-eggs-debugging.desktop');
|
|
38
|
-
await exec('rm -f /usr/share/applications/calamares-eggs.desktop');
|
|
39
37
|
await exec('rm -f /usr/share/applications/calamares.desktop');
|
|
40
38
|
}
|
|
41
39
|
/**
|
|
@@ -42,11 +42,11 @@ export default class Opensuse {
|
|
|
42
42
|
let success = false;
|
|
43
43
|
const echo = Utils.setEcho(verbose);
|
|
44
44
|
try {
|
|
45
|
-
await exec('zypper remove -y calamares calamares
|
|
45
|
+
await exec('zypper remove -y calamares calamares', echo);
|
|
46
46
|
success = true;
|
|
47
47
|
}
|
|
48
48
|
catch {
|
|
49
|
-
Utils.error(`Cannot remove calamares
|
|
49
|
+
Utils.error(`Cannot remove calamares`);
|
|
50
50
|
}
|
|
51
51
|
if (success && fs.existsSync('/etc/calamares')) {
|
|
52
52
|
await exec('rm /etc/calamares -rf', echo);
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "penguins-eggs",
|
|
3
3
|
"shortName": "eggs",
|
|
4
4
|
"description": "A remaster system tool, compatible with Arch, Debian, Devuan, Ubuntu and others",
|
|
5
|
-
"version": "25.11.
|
|
5
|
+
"version": "25.11.12",
|
|
6
6
|
"author": "Piero Proietti",
|
|
7
7
|
"bin": {
|
|
8
8
|
"eggs": "./bin/run.js"
|
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
"ink": "^5",
|
|
24
24
|
"ink-progress-bar": "^3.0.0",
|
|
25
25
|
"ink-spinner": "^5.0.0",
|
|
26
|
-
"inquirer": "^12.
|
|
27
|
-
"js-yaml": "^4.1.
|
|
26
|
+
"inquirer": "^12.11.0",
|
|
27
|
+
"js-yaml": "^4.1.1",
|
|
28
28
|
"mustache": "^4.2.0",
|
|
29
29
|
"netmask": "^2.0.2",
|
|
30
30
|
"react": "^18.3.1",
|
|
@@ -50,13 +50,13 @@
|
|
|
50
50
|
"@types/read": "^0.0.32",
|
|
51
51
|
"@types/shelljs": "^0.8.17",
|
|
52
52
|
"@types/ws": "^8.18.1",
|
|
53
|
-
"chai": "^6.2.
|
|
53
|
+
"chai": "^6.2.1",
|
|
54
54
|
"eslint": "^9.39.1",
|
|
55
|
-
"eslint-config-oclif": "^6.0.
|
|
55
|
+
"eslint-config-oclif": "^6.0.116",
|
|
56
56
|
"eslint-config-prettier": "^10.1.8",
|
|
57
57
|
"glob": "^11.0.3",
|
|
58
58
|
"mocha": "^11.7.5",
|
|
59
|
-
"oclif": "^4.22.
|
|
59
|
+
"oclif": "^4.22.44",
|
|
60
60
|
"perrisbrewery": "^25.9.16",
|
|
61
61
|
"prettier": "^3.6.2",
|
|
62
62
|
"shx": "^0.4.0",
|