penguins-eggs 25.10.28 → 25.11.8
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 +4 -4
- package/README.md +770 -3
- package/addons/eggs/adapt/applications/eggs-adapt.desktop +0 -0
- package/addons/eggs/pve/applications/eggs-pve.desktop +0 -0
- package/addons/eggs/rsupport/applications/eggs-rsupport.desktop +0 -0
- package/addons/eggs/theme/applications/install-system.desktop +8 -6
- package/assets/calamares/install-system.sh +0 -0
- package/assets/calamares/io.calamares.calamares.policy +25 -0
- package/assets/penguins-eggs.desktop +0 -0
- package/assets/penguins-krill.desktop +0 -0
- package/assets/penguins-links-add.desktop +0 -0
- package/assets/penguins-live-installer.desktop +0 -0
- package/bin/dev.js +0 -0
- package/conf/distros/alpine/calamares/calamares-modules/machineid-openrc/machineid-openrc.sh +0 -0
- package/conf/distros/alpine/calamares/modules/packages.mustache +1 -0
- package/conf/distros/alpine/calamares/modules/removeuser.mustache +2 -14
- package/conf/distros/alpine/calamares/modules/unpackfs.mustache +2 -2
- package/conf/distros/buster/calamares/calamares-modules/cleanup/cleanup.sh +0 -0
- package/conf/distros/buster/calamares/calamares-modules/dpkg-unsafe-io/dpkg-unsafe-io.sh +0 -0
- package/conf/distros/buster/calamares/calamares-modules/sources-yolk/sources-yolk.sh +0 -0
- package/conf/distros/buster/calamares/modules/shellprocess@boot_deploy.yml +1 -16
- package/conf/distros/fedora/calamares/calamares-modules/bootloaderspecification/bootloaderspecification.sh +0 -0
- package/conf/distros/noble/calamares/calamares-modules/cleanup/cleanup.sh +0 -0
- package/conf/distros/noble/calamares/calamares-modules/sources-yolk/sources-yolk.sh +0 -0
- package/conf/distros/noble/calamares/libexec/calamares-aptsources.sh +0 -0
- package/conf/distros/noble/calamares/libexec/calamares-l10n-helper.sh +0 -0
- package/conf/distros/noble/calamares/libexec/calamares-logs-helper.sh +1 -1
- package/conf/distros/noble/calamares/libexec/calamares-nomodeset.sh +0 -0
- package/conf/distros/noble/calamares/modules/shellprocess@boot_deploy.yml +1 -11
- package/conf/distros/noble/calamares/modules/shellprocess@logs.yml +1 -1
- package/conf/distros/opensuse/calamares/calamares-modules/bootloaderspecification/bootloaderspecification.sh +0 -0
- package/conf/distros/opensuse/calamares/settings.yml +0 -0
- package/conf/distros/opensuse/calamares/zstd2lzo.sh +0 -0
- package/conf/distros/trixie/calamares/calamares-modules/cleanup/cleanup.sh +0 -0
- package/conf/distros/trixie/calamares/calamares-modules/dpkg-unsafe-io/dpkg-unsafe-io.sh +0 -0
- package/conf/distros/trixie/calamares/calamares-modules/sources-yolk/sources-yolk.sh +0 -0
- package/conf/distros/trixie/calamares/modules/shellprocess@boot_deploy.yml +2 -10
- package/conf/init/unattended.sh +0 -0
- package/dist/classes/bleach.d.ts +37 -0
- package/dist/classes/bleach.js +148 -0
- package/dist/classes/cli-autologin.d.ts +14 -0
- package/dist/classes/cli-autologin.js +227 -0
- package/dist/classes/compressors.d.ts +54 -0
- package/dist/classes/compressors.js +109 -0
- package/dist/classes/daddy.d.ts +44 -0
- package/dist/classes/daddy.js +208 -0
- package/dist/classes/distro-hossein.d.ts +52 -0
- package/dist/classes/distro-hossein.js +239 -0
- package/dist/classes/distro.d.ts +32 -0
- package/dist/classes/distro.js +363 -0
- package/dist/classes/diversions.d.ts +19 -0
- package/dist/classes/diversions.js +100 -0
- package/dist/classes/incubation/branding.d.ts +17 -0
- package/dist/classes/incubation/branding.js +85 -0
- package/dist/classes/incubation/customize/customize-partitions.d.ts +12 -0
- package/dist/classes/incubation/customize/customize-partitions.js +37 -0
- package/dist/classes/incubation/fisherman-helper/initcpio.d.ts +1 -0
- package/dist/classes/incubation/fisherman-helper/initcpio.js +69 -0
- package/dist/classes/incubation/fisherman-helper/packages.d.ts +20 -0
- package/dist/classes/incubation/fisherman-helper/packages.js +72 -0
- package/dist/classes/incubation/fisherman-helper/settings.d.ts +15 -0
- package/dist/classes/incubation/fisherman-helper/settings.js +116 -0
- package/dist/classes/incubation/fisherman.d.ts +76 -0
- package/dist/classes/incubation/fisherman.js +301 -0
- package/dist/classes/incubation/incubator.d/alpine.d.ts +32 -0
- package/dist/classes/incubation/incubator.d/alpine.js +78 -0
- package/dist/classes/incubation/incubator.d/archlinux.d.ts +32 -0
- package/dist/classes/incubation/incubator.d/archlinux.js +82 -0
- package/dist/classes/incubation/incubator.d/bionic.d.ts +32 -0
- package/dist/classes/incubation/incubator.d/bionic.js +83 -0
- package/dist/classes/incubation/incubator.d/buster.d.ts +32 -0
- package/dist/classes/incubation/incubator.d/buster.js +101 -0
- package/dist/classes/incubation/incubator.d/fedora.d.ts +32 -0
- package/dist/classes/incubation/incubator.d/fedora.js +81 -0
- package/dist/classes/incubation/incubator.d/manjaro.d.ts +32 -0
- package/dist/classes/incubation/incubator.d/manjaro.js +82 -0
- package/dist/classes/incubation/incubator.d/noble.d.ts +32 -0
- package/dist/classes/incubation/incubator.d/noble.js +106 -0
- package/dist/classes/incubation/incubator.d/openmamba.d.ts +32 -0
- package/dist/classes/incubation/incubator.d/openmamba.js +81 -0
- package/dist/classes/incubation/incubator.d/opensuse.d.ts +32 -0
- package/dist/classes/incubation/incubator.d/opensuse.js +81 -0
- package/dist/classes/incubation/incubator.d/trixie.d.ts +32 -0
- package/dist/classes/incubation/incubator.d/trixie.js +98 -0
- package/dist/classes/incubation/incubator.d.ts +49 -0
- package/dist/classes/incubation/incubator.js +382 -0
- package/dist/classes/incubation/installer.d.ts +13 -0
- package/dist/classes/incubation/installer.js +52 -0
- package/dist/classes/keyboards.d.ts +31 -0
- package/dist/classes/keyboards.js +136 -0
- package/dist/classes/locales.d.ts +21 -0
- package/dist/classes/locales.js +77 -0
- package/dist/classes/network.d.ts +37 -0
- package/dist/classes/network.js +98 -0
- package/dist/classes/ovary.d/bind-live-fs.d.ts +18 -0
- package/dist/classes/ovary.d/bind-live-fs.js +185 -0
- package/dist/classes/ovary.d/bind-vfs.d.ts +17 -0
- package/dist/classes/ovary.d/bind-vfs.js +37 -0
- package/dist/classes/ovary.d/create-xdg-autostart.d.ts +13 -0
- package/dist/classes/ovary.d/create-xdg-autostart.js +193 -0
- package/dist/classes/ovary.d/edit-live-fs.d.ts +20 -0
- package/dist/classes/ovary.d/edit-live-fs.js +239 -0
- package/dist/classes/ovary.d/fertilization.d.ts +12 -0
- package/dist/classes/ovary.d/fertilization.js +53 -0
- package/dist/classes/ovary.d/finished.d.ts +13 -0
- package/dist/classes/ovary.d/finished.js +40 -0
- package/dist/classes/ovary.d/initrd.d.ts +21 -0
- package/dist/classes/ovary.d/initrd.js +91 -0
- package/dist/classes/ovary.d/kernel-copy.d.ts +12 -0
- package/dist/classes/ovary.d/kernel-copy.js +22 -0
- package/dist/classes/ovary.d/live-create-structure.d.ts +12 -0
- package/dist/classes/ovary.d/live-create-structure.js +70 -0
- package/dist/classes/ovary.d/luks-get-password.d.ts +12 -0
- package/dist/classes/ovary.d/luks-get-password.js +58 -0
- package/dist/classes/ovary.d/luks-helpers.d.ts +19 -0
- package/dist/classes/ovary.d/luks-helpers.js +73 -0
- package/dist/classes/ovary.d/luks-home-support.d.ts +12 -0
- package/dist/classes/ovary.d/luks-home-support.js +70 -0
- package/dist/classes/ovary.d/luks-home.d.ts +15 -0
- package/dist/classes/ovary.d/luks-home.js +132 -0
- package/dist/classes/ovary.d/luks-interactive-crypto-config.d.ts +47 -0
- package/dist/classes/ovary.d/luks-interactive-crypto-config.js +139 -0
- package/dist/classes/ovary.d/luks-root-initrd.d.ts +17 -0
- package/dist/classes/ovary.d/luks-root-initrd.js +213 -0
- package/dist/classes/ovary.d/luks-root.d.ts +15 -0
- package/dist/classes/ovary.d/luks-root.js +123 -0
- package/dist/classes/ovary.d/make-dot-disk.d.ts +12 -0
- package/dist/classes/ovary.d/make-dot-disk.js +71 -0
- package/dist/classes/ovary.d/make-efi.d.ts +14 -0
- package/dist/classes/ovary.d/make-efi.js +296 -0
- package/dist/classes/ovary.d/make-iso.d.ts +13 -0
- package/dist/classes/ovary.d/make-iso.js +45 -0
- package/dist/classes/ovary.d/make-squashfs.d.ts +18 -0
- package/dist/classes/ovary.d/make-squashfs.js +111 -0
- package/dist/classes/ovary.d/merged.d.ts +27 -0
- package/dist/classes/ovary.d/merged.js +78 -0
- package/dist/classes/ovary.d/produce.d.ts +23 -0
- package/dist/classes/ovary.d/produce.js +349 -0
- package/dist/classes/ovary.d/rexec.d.ts +13 -0
- package/dist/classes/ovary.d/rexec.js +34 -0
- package/dist/classes/ovary.d/syslinux.d.ts +12 -0
- package/dist/classes/ovary.d/syslinux.js +99 -0
- package/dist/classes/ovary.d/user-create-live.d.ts +14 -0
- package/dist/classes/ovary.d/user-create-live.js +97 -0
- package/dist/classes/ovary.d/users-remove.d.ts +9 -0
- package/dist/classes/ovary.d/users-remove.js +38 -0
- package/dist/classes/ovary.d/xorriso-command.d.ts +14 -0
- package/dist/classes/ovary.d/xorriso-command.js +125 -0
- package/dist/classes/ovary.d.ts +111 -0
- package/dist/classes/ovary.js +122 -0
- package/dist/classes/pacman.d/alpine.d.ts +56 -0
- package/dist/classes/pacman.d/alpine.js +167 -0
- package/dist/classes/pacman.d/archlinux.d.ts +62 -0
- package/dist/classes/pacman.d/archlinux.js +128 -0
- package/dist/classes/pacman.d/debian.d.ts +65 -0
- package/dist/classes/pacman.d/debian.js +143 -0
- package/dist/classes/pacman.d/fedora.d.ts +53 -0
- package/dist/classes/pacman.d/fedora.js +107 -0
- package/dist/classes/pacman.d/openmamba.d.ts +52 -0
- package/dist/classes/pacman.d/openmamba.js +106 -0
- package/dist/classes/pacman.d/opensuse.d.ts +53 -0
- package/dist/classes/pacman.d/opensuse.js +109 -0
- package/dist/classes/pacman.d.ts +139 -0
- package/dist/classes/pacman.js +681 -0
- package/dist/classes/pve-live.d.ts +17 -0
- package/dist/classes/pve-live.js +52 -0
- package/dist/classes/pxe.d.ts +76 -0
- package/dist/classes/pxe.js +353 -0
- package/dist/classes/settings.d.ts +52 -0
- package/dist/classes/settings.js +185 -0
- package/dist/classes/sources_list.d.ts +28 -0
- package/dist/classes/sources_list.js +89 -0
- package/dist/classes/systemctl.d.ts +47 -0
- package/dist/classes/systemctl.js +86 -0
- package/dist/classes/tailor.d.ts +50 -0
- package/dist/classes/tailor.js +563 -0
- package/dist/classes/tools.d.ts +26 -0
- package/dist/classes/tools.js +50 -0
- package/dist/classes/users.d.ts +28 -0
- package/dist/classes/users.js +143 -0
- package/dist/classes/utils.d/kernel.d.ts +39 -0
- package/dist/classes/utils.d/kernel.js +206 -0
- package/dist/classes/utils.d.ts +330 -0
- package/dist/classes/utils.js +968 -0
- package/dist/classes/xdg.d.ts +45 -0
- package/dist/classes/xdg.js +337 -0
- package/dist/classes/yolk.d.ts +33 -0
- package/dist/classes/yolk.js +114 -0
- package/dist/commands/adapt.d.ts +17 -0
- package/dist/commands/adapt.js +33 -0
- package/dist/commands/analyze.d.ts +26 -0
- package/dist/commands/analyze.js +95 -0
- package/dist/commands/calamares.d.ts +29 -0
- package/dist/commands/calamares.js +112 -0
- package/dist/commands/config.d.ts +35 -0
- package/dist/commands/config.js +120 -0
- package/dist/commands/cuckoo.d.ts +17 -0
- package/dist/commands/cuckoo.js +61 -0
- package/dist/commands/dad.d.ts +21 -0
- package/dist/commands/dad.js +47 -0
- package/dist/commands/export/iso.d.ts +19 -0
- package/dist/commands/export/iso.js +55 -0
- package/dist/commands/export/pkg.d.ts +29 -0
- package/dist/commands/export/pkg.js +173 -0
- package/dist/commands/export/tarballs.d.ts +27 -0
- package/dist/commands/export/tarballs.js +79 -0
- package/dist/commands/install.d.ts +39 -0
- package/dist/commands/install.js +113 -0
- package/dist/commands/kill.d.ts +24 -0
- package/dist/commands/kill.js +50 -0
- package/dist/commands/love.d.ts +25 -0
- package/dist/commands/love.js +118 -0
- package/dist/commands/mom.d.ts +16 -0
- package/dist/commands/mom.js +30 -0
- package/dist/commands/pods.d.ts +22 -0
- package/dist/commands/pods.js +92 -0
- package/dist/commands/produce.d.ts +37 -0
- package/dist/commands/produce.js +232 -0
- package/dist/commands/status.d.ts +23 -0
- package/dist/commands/status.js +31 -0
- package/dist/commands/tools/clean.d.ts +18 -0
- package/dist/commands/tools/clean.js +37 -0
- package/dist/commands/tools/repo.d.ts +31 -0
- package/dist/commands/tools/repo.js +413 -0
- package/dist/commands/tools/skel.d.ts +18 -0
- package/dist/commands/tools/skel.js +44 -0
- package/dist/commands/tools/stat.d.ts +31 -0
- package/dist/commands/tools/stat.js +70 -0
- package/dist/commands/tools/yolk.d.ts +24 -0
- package/dist/commands/tools/yolk.js +45 -0
- package/dist/commands/update.d.ts +46 -0
- package/dist/commands/update.js +238 -0
- package/dist/commands/wardrobe/get.d.ts +23 -0
- package/dist/commands/wardrobe/get.js +52 -0
- package/dist/commands/wardrobe/list.d.ts +24 -0
- package/dist/commands/wardrobe/list.js +125 -0
- package/dist/commands/wardrobe/show.d.ts +25 -0
- package/dist/commands/wardrobe/show.js +97 -0
- package/dist/commands/wardrobe/wear.d.ts +26 -0
- package/dist/commands/wardrobe/wear.js +84 -0
- package/dist/dhcpd-proxy/classes/packet.d.ts +36 -0
- package/dist/dhcpd-proxy/classes/packet.js +124 -0
- package/dist/dhcpd-proxy/index.d.ts +4 -0
- package/dist/dhcpd-proxy/index.js +4 -0
- package/dist/dhcpd-proxy/interfaces/i-pxe.d.ts +45 -0
- package/dist/dhcpd-proxy/interfaces/i-pxe.js +1 -0
- package/dist/dhcpd-proxy/lib/packet/converters.d.ts +11 -0
- package/dist/dhcpd-proxy/lib/packet/converters.js +395 -0
- package/dist/dhcpd-proxy/lib/packet/message-types.d.ts +10 -0
- package/dist/dhcpd-proxy/lib/packet/message-types.js +12 -0
- package/dist/dhcpd-proxy/lib/packet/options.d.ts +8 -0
- package/dist/dhcpd-proxy/lib/packet/options.js +264 -0
- package/dist/dhcpd-proxy/lib/sprintf.d.ts +6 -0
- package/dist/dhcpd-proxy/lib/sprintf.js +130 -0
- package/dist/dhcpd-proxy/lib/utils.d.ts +126 -0
- package/dist/dhcpd-proxy/lib/utils.js +255 -0
- package/dist/dhcpd-proxy/simple-proxy.d.ts +11 -0
- package/dist/dhcpd-proxy/simple-proxy.js +118 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.js +8 -0
- package/dist/interfaces/calamares/i-calamares-bootloader.d.ts +23 -0
- package/dist/interfaces/calamares/i-calamares-bootloader.js +7 -0
- package/dist/interfaces/calamares/i-calamares-branding.d.ts +46 -0
- package/dist/interfaces/calamares/i-calamares-branding.js +1 -0
- package/dist/interfaces/calamares/i-calamares-displaymanager.d.ts +34 -0
- package/dist/interfaces/calamares/i-calamares-displaymanager.js +1 -0
- package/dist/interfaces/calamares/i-calamares-finished.d.ts +14 -0
- package/dist/interfaces/calamares/i-calamares-finished.js +1 -0
- package/dist/interfaces/calamares/i-calamares-packages.d.ts +26 -0
- package/dist/interfaces/calamares/i-calamares-packages.js +1 -0
- package/dist/interfaces/calamares/i-calamares-partitions.d.ts +39 -0
- package/dist/interfaces/calamares/i-calamares-partitions.js +1 -0
- package/dist/interfaces/calamares/i-calamares-settings.d.ts +36 -0
- package/dist/interfaces/calamares/i-calamares-settings.js +1 -0
- package/dist/interfaces/i-addons.d.ts +12 -0
- package/dist/interfaces/i-addons.js +8 -0
- package/dist/interfaces/i-analyze.d.ts +17 -0
- package/dist/interfaces/i-analyze.js +17 -0
- package/dist/interfaces/i-app.d.ts +14 -0
- package/dist/interfaces/i-app.js +8 -0
- package/dist/interfaces/i-config-tools.d.ts +15 -0
- package/dist/interfaces/i-config-tools.js +8 -0
- package/dist/interfaces/i-devices.d.ts +20 -0
- package/dist/interfaces/i-devices.js +8 -0
- package/dist/interfaces/i-distro.d.ts +23 -0
- package/dist/interfaces/i-distro.js +8 -0
- package/dist/interfaces/i-drive-list.d.ts +33 -0
- package/dist/interfaces/i-drive-list.js +8 -0
- package/dist/interfaces/i-eggs-config.d.ts +32 -0
- package/dist/interfaces/i-eggs-config.js +8 -0
- package/dist/interfaces/i-excludes.d.ts +14 -0
- package/dist/interfaces/i-excludes.js +8 -0
- package/dist/interfaces/i-exec.d.ts +11 -0
- package/dist/interfaces/i-exec.js +8 -0
- package/dist/interfaces/i-initrd.d.ts +13 -0
- package/dist/interfaces/i-initrd.js +8 -0
- package/dist/interfaces/i-install.d.ts +16 -0
- package/dist/interfaces/i-install.js +8 -0
- package/dist/interfaces/i-installer.d.ts +17 -0
- package/dist/interfaces/i-installer.js +8 -0
- package/dist/interfaces/i-luks-passphrase.d.ts +11 -0
- package/dist/interfaces/i-luks-passphrase.js +8 -0
- package/dist/interfaces/i-materia.d.ts +36 -0
- package/dist/interfaces/i-materia.js +8 -0
- package/dist/interfaces/i-net.d.ts +16 -0
- package/dist/interfaces/i-net.js +8 -0
- package/dist/interfaces/i-os-release.d.ts +5 -0
- package/dist/interfaces/i-os-release.js +1 -0
- package/dist/interfaces/i-packages.d.ts +16 -0
- package/dist/interfaces/i-packages.js +8 -0
- package/dist/interfaces/i-partitions.d.ts +16 -0
- package/dist/interfaces/i-partitions.js +8 -0
- package/dist/interfaces/i-pxe.d.ts +45 -0
- package/dist/interfaces/i-pxe.js +1 -0
- package/dist/interfaces/i-remix.d.ts +21 -0
- package/dist/interfaces/i-remix.js +8 -0
- package/dist/interfaces/i-settings.d.ts +33 -0
- package/dist/interfaces/i-settings.js +8 -0
- package/dist/interfaces/i-user.d.ts +14 -0
- package/dist/interfaces/i-user.js +8 -0
- package/dist/interfaces/i-workdir.d.ts +14 -0
- package/dist/interfaces/i-workdir.js +8 -0
- package/dist/interfaces/i-xkb-model.d.ts +24 -0
- package/dist/interfaces/i-xkb-model.js +8 -0
- package/dist/interfaces/index.d.ts +26 -0
- package/dist/interfaces/index.js +8 -0
- package/dist/krill/classes/cfs.d.ts +17 -0
- package/dist/krill/classes/cfs.js +39 -0
- package/dist/krill/classes/krill_enums.d.ts +37 -0
- package/dist/krill/classes/krill_enums.js +41 -0
- package/dist/krill/classes/prepare.d/confirm.d.ts +5 -0
- package/dist/krill/classes/prepare.d/confirm.js +30 -0
- package/dist/krill/classes/prepare.d/keyboard.d.ts +14 -0
- package/dist/krill/classes/prepare.d/keyboard.js +62 -0
- package/dist/krill/classes/prepare.d/location.d.ts +17 -0
- package/dist/krill/classes/prepare.d/location.js +59 -0
- package/dist/krill/classes/prepare.d/network.d.ts +14 -0
- package/dist/krill/classes/prepare.d/network.js +68 -0
- package/dist/krill/classes/prepare.d/partitions.d.ts +14 -0
- package/dist/krill/classes/prepare.d/partitions.js +86 -0
- package/dist/krill/classes/prepare.d/summary.d.ts +15 -0
- package/dist/krill/classes/prepare.d/summary.js +72 -0
- package/dist/krill/classes/prepare.d/users.d.ts +6 -0
- package/dist/krill/classes/prepare.d/users.js +63 -0
- package/dist/krill/classes/prepare.d/welcome.d.ts +6 -0
- package/dist/krill/classes/prepare.d/welcome.js +30 -0
- package/dist/krill/classes/prepare.d.ts +89 -0
- package/dist/krill/classes/prepare.js +319 -0
- package/dist/krill/classes/sequence.d/add_user.d.ts +20 -0
- package/dist/krill/classes/sequence.d/add_user.js +77 -0
- package/dist/krill/classes/sequence.d/bootloader.d.ts +14 -0
- package/dist/krill/classes/sequence.d/bootloader.js +117 -0
- package/dist/krill/classes/sequence.d/bootloader_config.d.ts +14 -0
- package/dist/krill/classes/sequence.d/bootloader_config.js +192 -0
- package/dist/krill/classes/sequence.d/change_password.d.ts +15 -0
- package/dist/krill/classes/sequence.d/change_password.js +18 -0
- package/dist/krill/classes/sequence.d/del_live_user.d.ts +14 -0
- package/dist/krill/classes/sequence.d/del_live_user.js +39 -0
- package/dist/krill/classes/sequence.d/fstab.d.ts +14 -0
- package/dist/krill/classes/sequence.d/fstab.js +177 -0
- package/dist/krill/classes/sequence.d/grubcfg.d.ts +17 -0
- package/dist/krill/classes/sequence.d/grubcfg.js +35 -0
- package/dist/krill/classes/sequence.d/hostname.d.ts +13 -0
- package/dist/krill/classes/sequence.d/hostname.js +50 -0
- package/dist/krill/classes/sequence.d/initramfs.d.ts +13 -0
- package/dist/krill/classes/sequence.d/initramfs.js +54 -0
- package/dist/krill/classes/sequence.d/initramfs_cfg.d.ts +14 -0
- package/dist/krill/classes/sequence.d/initramfs_cfg.js +35 -0
- package/dist/krill/classes/sequence.d/locale.d.ts +13 -0
- package/dist/krill/classes/sequence.d/locale.js +91 -0
- package/dist/krill/classes/sequence.d/locale_cfg.d.ts +10 -0
- package/dist/krill/classes/sequence.d/locale_cfg.js +58 -0
- package/dist/krill/classes/sequence.d/m_keyboard.d.ts +14 -0
- package/dist/krill/classes/sequence.d/m_keyboard.js +58 -0
- package/dist/krill/classes/sequence.d/machine_id.d.ts +15 -0
- package/dist/krill/classes/sequence.d/machine_id.js +33 -0
- package/dist/krill/classes/sequence.d/mkfs.d.ts +15 -0
- package/dist/krill/classes/sequence.d/mkfs.js +88 -0
- package/dist/krill/classes/sequence.d/mount_fs.d.ts +17 -0
- package/dist/krill/classes/sequence.d/mount_fs.js +68 -0
- package/dist/krill/classes/sequence.d/mount_vfs.d.ts +17 -0
- package/dist/krill/classes/sequence.d/mount_vfs.js +59 -0
- package/dist/krill/classes/sequence.d/network_cfg.d.ts +19 -0
- package/dist/krill/classes/sequence.d/network_cfg.js +73 -0
- package/dist/krill/classes/sequence.d/packages.d.ts +14 -0
- package/dist/krill/classes/sequence.d/packages.js +111 -0
- package/dist/krill/classes/sequence.d/partition.d/bios_luks.d.ts +17 -0
- package/dist/krill/classes/sequence.d/partition.d/bios_luks.js +73 -0
- package/dist/krill/classes/sequence.d/partition.d/bios_standard.d.ts +16 -0
- package/dist/krill/classes/sequence.d/partition.d/bios_standard.js +51 -0
- package/dist/krill/classes/sequence.d/partition.d/uefi_luks.d.ts +17 -0
- package/dist/krill/classes/sequence.d/partition.d/uefi_luks.js +77 -0
- package/dist/krill/classes/sequence.d/partition.d/uefi_standard.d.ts +10 -0
- package/dist/krill/classes/sequence.d/partition.d/uefi_standard.js +33 -0
- package/dist/krill/classes/sequence.d/partition.d.ts +14 -0
- package/dist/krill/classes/sequence.d/partition.js +84 -0
- package/dist/krill/classes/sequence.d/remove_installer_link.d.ts +13 -0
- package/dist/krill/classes/sequence.d/remove_installer_link.js +35 -0
- package/dist/krill/classes/sequence.d/umount.d.ts +14 -0
- package/dist/krill/classes/sequence.d/umount.js +28 -0
- package/dist/krill/classes/sequence.d/unpackfs.d.ts +13 -0
- package/dist/krill/classes/sequence.d/unpackfs.js +21 -0
- package/dist/krill/classes/sequence.d.ts +134 -0
- package/dist/krill/classes/sequence.js +400 -0
- package/dist/krill/components/finished.d.ts +16 -0
- package/dist/krill/components/finished.js +56 -0
- package/dist/krill/components/information.d.ts +8 -0
- package/dist/krill/components/information.js +162 -0
- package/dist/krill/components/install.d.ts +15 -0
- package/dist/krill/components/install.js +60 -0
- package/dist/krill/components/keyboard.d.ts +16 -0
- package/dist/krill/components/keyboard.js +54 -0
- package/dist/krill/components/location.d.ts +16 -0
- package/dist/krill/components/location.js +59 -0
- package/dist/krill/components/network.d.ts +19 -0
- package/dist/krill/components/network.js +65 -0
- package/dist/krill/components/partitions.d.ts +18 -0
- package/dist/krill/components/partitions.js +89 -0
- package/dist/krill/components/steps.d.ts +13 -0
- package/dist/krill/components/steps.js +148 -0
- package/dist/krill/components/summary.d.ts +25 -0
- package/dist/krill/components/summary.js +77 -0
- package/dist/krill/components/title.d.ts +11 -0
- package/dist/krill/components/title.js +35 -0
- package/dist/krill/components/users.d.ts +24 -0
- package/dist/krill/components/users.js +80 -0
- package/dist/krill/components/welcome.d.ts +13 -0
- package/dist/krill/components/welcome.js +63 -0
- package/dist/krill/interfaces/i_krill.d.ts +44 -0
- package/dist/krill/interfaces/i_krill.js +8 -0
- package/dist/krill/interfaces/i_krill_config.d.ts +35 -0
- package/dist/krill/interfaces/i_krill_config.js +8 -0
- package/dist/krill/lib/get_address.d.ts +8 -0
- package/dist/krill/lib/get_address.js +23 -0
- package/dist/krill/lib/get_dns.d.ts +8 -0
- package/dist/krill/lib/get_dns.js +23 -0
- package/dist/krill/lib/get_domain.d.ts +8 -0
- package/dist/krill/lib/get_domain.js +23 -0
- package/dist/krill/lib/get_gateway.d.ts +8 -0
- package/dist/krill/lib/get_gateway.js +23 -0
- package/dist/krill/lib/get_hostname.d.ts +8 -0
- package/dist/krill/lib/get_hostname.js +23 -0
- package/dist/krill/lib/get_luks_passphrase.d.ts +8 -0
- package/dist/krill/lib/get_luks_passphrase.js +32 -0
- package/dist/krill/lib/get_netmask.d.ts +8 -0
- package/dist/krill/lib/get_netmask.js +23 -0
- package/dist/krill/lib/get_password.d.ts +8 -0
- package/dist/krill/lib/get_password.js +36 -0
- package/dist/krill/lib/get_userfullname.d.ts +8 -0
- package/dist/krill/lib/get_userfullname.js +23 -0
- package/dist/krill/lib/get_username.d.ts +8 -0
- package/dist/krill/lib/get_username.js +23 -0
- package/dist/krill/lib/select_address_type.d.ts +8 -0
- package/dist/krill/lib/select_address_type.js +24 -0
- package/dist/krill/lib/select_filesystem_type.d.ts +8 -0
- package/dist/krill/lib/select_filesystem_type.js +40 -0
- package/dist/krill/lib/select_installation_device.d.ts +8 -0
- package/dist/krill/lib/select_installation_device.js +40 -0
- package/dist/krill/lib/select_installation_mode.d.ts +9 -0
- package/dist/krill/lib/select_installation_mode.js +25 -0
- package/dist/krill/lib/select_interface.d.ts +8 -0
- package/dist/krill/lib/select_interface.js +24 -0
- package/dist/krill/lib/select_keyboard_layout.d.ts +11 -0
- package/dist/krill/lib/select_keyboard_layout.js +36 -0
- package/dist/krill/lib/select_keyboard_model.d.ts +11 -0
- package/dist/krill/lib/select_keyboard_model.js +34 -0
- package/dist/krill/lib/select_keyboard_option.d.ts +11 -0
- package/dist/krill/lib/select_keyboard_option.js +34 -0
- package/dist/krill/lib/select_keyboard_variant.d.ts +11 -0
- package/dist/krill/lib/select_keyboard_variant.js +35 -0
- package/dist/krill/lib/select_languages.d.ts +8 -0
- package/dist/krill/lib/select_languages.js +28 -0
- package/dist/krill/lib/select_regions.d.ts +8 -0
- package/dist/krill/lib/select_regions.js +24 -0
- package/dist/krill/lib/select_replaced_partition.d.ts +8 -0
- package/dist/krill/lib/select_replaced_partition.js +31 -0
- package/dist/krill/lib/select_user_swap_choice.d.ts +9 -0
- package/dist/krill/lib/select_user_swap_choice.js +35 -0
- package/dist/krill/lib/select_zones.d.ts +8 -0
- package/dist/krill/lib/select_zones.js +518 -0
- package/dist/lib/kill_me_softly.d.ts +11 -0
- package/dist/lib/kill_me_softly.js +61 -0
- package/dist/lib/utils.d.ts +19 -0
- package/dist/lib/utils.js +65 -0
- package/dracut/create-symlink +0 -0
- package/dracut/dracut.conf.d/50-live.conf +12 -13
- package/dracut/export +0 -0
- package/dracut/export-dracut-analysis +0 -0
- package/dracut/export-dracut-log +0 -0
- package/dracut/mkisofs +0 -0
- package/dracut/modules.d/00debug-shell/debug-hook.sh +0 -0
- package/dracut/modules.d/00debug-shell/module-setup.sh +0 -0
- package/dracut/modules.d/90block/block-cmdline.sh +0 -0
- package/dracut/modules.d/90block/module-setup.sh +0 -0
- package/dracut/modules.d/95iso-scan/iso-scan-fallback.sh +0 -0
- package/dracut/modules.d/95iso-scan/iso-scan.sh +0 -0
- package/dracut/modules.d/95iso-scan/module-setup.sh +0 -0
- package/dracut/modules.d/95luks-loop/luks-loop.sh +0 -0
- package/dracut/modules.d/95luks-loop/module-setup.sh +0 -0
- package/dracut/renew-initramfs +0 -0
- package/dracut/sbin2bin +0 -0
- package/dracut/update-dracut-conf-d +0 -0
- package/dracut/update-dracut-modules +0 -0
- package/eui/eui-autostart-cinnamon.desktop +0 -0
- package/eui/eui-autostart-xfce.desktop +0 -0
- package/eui/eui-create-image.sh +0 -0
- package/eui/eui-start.sh +0 -0
- package/package.json +130 -124
- package/perrisbrewery/scripts/postinst +0 -0
- package/perrisbrewery/scripts/postrm +0 -0
- package/perrisbrewery/scripts/preinst +0 -0
- package/perrisbrewery/scripts/prerm +0 -0
- package/perrisbrewery/template/dependencies.yaml +7 -5
- package/scripts/99clean +0 -0
- package/scripts/adapt.sh +0 -0
- package/scripts/boot-encrypted-root.sh +0 -0
- package/scripts/bros/waydroid-helper.sh +0 -0
- package/scripts/lsb_release +0 -0
- package/scripts/mom.sh +0 -0
- package/scripts/mount-encrypted-home.sh +0 -0
- package/scripts/pve-live.service +0 -0
- package/scripts/pve-live.sh +0 -0
- package/scripts/resy +0 -0
- package/conf/distros/focal/calamares/calamares-modules/.keepit +0 -0
- package/conf/distros/focal/calamares/calamares-modules/cleanup/cleanup.sh +0 -20
- package/conf/distros/focal/calamares/calamares-modules/cleanup/module.yml +0 -9
- package/conf/distros/focal/calamares/calamares-modules/sources-yolk/module.yml +0 -8
- package/conf/distros/focal/calamares/calamares-modules/sources-yolk/sources-yolk.sh +0 -50
- package/conf/distros/focal/calamares/calamares-modules/sources-yolk-undo/module.yml +0 -8
- package/conf/distros/focal/calamares/modules/after_bootloader_context.yml +0 -19
- package/conf/distros/focal/calamares/modules/automirror.yml +0 -6
- package/conf/distros/focal/calamares/modules/before_bootloader_context.yml +0 -19
- package/conf/distros/focal/calamares/modules/before_bootloader_mkdirs_context.yml +0 -11
- package/conf/distros/focal/calamares/modules/bootloader.yml +0 -34
- package/conf/distros/focal/calamares/modules/displaymanager.yml +0 -12
- package/conf/distros/focal/calamares/modules/finished.yml +0 -4
- package/conf/distros/focal/calamares/modules/fstab.yml +0 -13
- package/conf/distros/focal/calamares/modules/grubcfg.yml +0 -5
- package/conf/distros/focal/calamares/modules/locale.yml +0 -9
- package/conf/distros/focal/calamares/modules/machineid.yml +0 -9
- package/conf/distros/focal/calamares/modules/mount.yml +0 -41
- package/conf/distros/focal/calamares/modules/packages.mustache +0 -5
- package/conf/distros/focal/calamares/modules/partition.yml +0 -10
- package/conf/distros/focal/calamares/modules/removeuser.mustache +0 -3
- package/conf/distros/focal/calamares/modules/shellprocess_add386arch.yml +0 -6
- package/conf/distros/focal/calamares/modules/shellprocess_bug-LP#1829805.yml +0 -5
- package/conf/distros/focal/calamares/modules/shellprocess_logs.yml +0 -6
- package/conf/distros/focal/calamares/modules/unpackfs.mustache +0 -6
- package/conf/distros/focal/calamares/modules/users.yml +0 -19
- package/conf/distros/focal/calamares/modules/welcome.yml +0 -26
- package/conf/distros/focal/calamares/settings.yml +0 -72
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/classes/diversions.ts
|
|
3
|
+
* penguins-eggs v.25.7.x / ecmascript 2020
|
|
4
|
+
* author: Piero Proietti (modified by Hossein Seilani)
|
|
5
|
+
* license: MIT
|
|
6
|
+
*
|
|
7
|
+
* NEW VERSION: Improved and cleaned with detailed comments and new changes
|
|
8
|
+
*/
|
|
9
|
+
import Distro from './distro.js';
|
|
10
|
+
export default class Diversions {
|
|
11
|
+
// NEW CHANGE [1]
|
|
12
|
+
// Made isSystemDBoot more readable by using direct return without extra variable.
|
|
13
|
+
// Simplified logic for clarity.
|
|
14
|
+
static isSystemDBoot(familyId, isEfi) {
|
|
15
|
+
return familyId === 'fedora' && isEfi;
|
|
16
|
+
}
|
|
17
|
+
// NEW CHANGE [2]
|
|
18
|
+
// Simplified deluser function using array.includes and default value.
|
|
19
|
+
// This makes adding new families easier and avoids long OR chains.
|
|
20
|
+
static deluser(familyId) {
|
|
21
|
+
const userdelFamilies = ['aldos', 'archlinux', 'fedora', 'openmamba', 'opensuse', 'voidlinux'];
|
|
22
|
+
return userdelFamilies.includes(familyId) ? 'userdel' : 'deluser';
|
|
23
|
+
}
|
|
24
|
+
// NEW CHANGE [3]
|
|
25
|
+
// Improved grubName using array.includes and direct return
|
|
26
|
+
// Cleaner, easier to maintain if new families are added
|
|
27
|
+
static grubName(familyId) {
|
|
28
|
+
const grub2Families = ['aldos', 'fedora', 'opensuse'];
|
|
29
|
+
return grub2Families.includes(familyId) ? 'grub2' : 'grub';
|
|
30
|
+
}
|
|
31
|
+
// NEW CHANGE [4]
|
|
32
|
+
// Simplified grubForce function with array.includes
|
|
33
|
+
// Provides explicit "--force" only for specific families
|
|
34
|
+
static grubForce(familyId) {
|
|
35
|
+
const forceFamilies = ['aldos', 'fedora'];
|
|
36
|
+
return forceFamilies.includes(familyId) ? '--force' : '';
|
|
37
|
+
}
|
|
38
|
+
// NEW CHANGE [5]
|
|
39
|
+
// Improved kernelParameters function:
|
|
40
|
+
// - Use template literals consistently
|
|
41
|
+
// - Reduce redundant code
|
|
42
|
+
// - Added optional `fullCrypt` handling for debian
|
|
43
|
+
static kernelParameters(familyId, volid, fullCrypt = false) {
|
|
44
|
+
let kp = '';
|
|
45
|
+
switch (familyId) {
|
|
46
|
+
case 'alpine':
|
|
47
|
+
kp += `alpinelivelabel=${volid} alpinelivesquashfs=/mnt/live/filesystem.squashfs`;
|
|
48
|
+
break;
|
|
49
|
+
case 'archlinux': {
|
|
50
|
+
const distroId = this.distro().distroId;
|
|
51
|
+
kp += `boot=live components locales=${process.env.LANG}`;
|
|
52
|
+
if (this.isManjaroBased(distroId)) {
|
|
53
|
+
kp += ` misobasedir=manjaro misolabel=${volid}`;
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
kp += ` archisobasedir=arch archisolabel=${volid}`;
|
|
57
|
+
}
|
|
58
|
+
break;
|
|
59
|
+
}
|
|
60
|
+
case 'debian':
|
|
61
|
+
kp += `boot=live components locales=${process.env.LANG} cow_spacesize=2G`;
|
|
62
|
+
if (fullCrypt)
|
|
63
|
+
kp += ` live-media=/run/live/medium`;
|
|
64
|
+
break;
|
|
65
|
+
case 'fedora':
|
|
66
|
+
case 'openmamba':
|
|
67
|
+
kp += `root=live:CDLABEL=${volid} rd.live.image rd.live.dir=/live rd.live.squashimg=filesystem.squashfs selinux=0`;
|
|
68
|
+
break;
|
|
69
|
+
case 'opensuse':
|
|
70
|
+
kp += `root=live:CDLABEL=${volid} rd.live.image rd.live.dir=/live rd.live.squashimg=filesystem.squashfs apparmor=0`;
|
|
71
|
+
break;
|
|
72
|
+
case 'voidlinux':
|
|
73
|
+
kp += `root=live:CDLABEL=${volid} rd.live.image rd.live.dir=/live rd.live.squashimg=filesystem.squashfs rd.debug`;
|
|
74
|
+
break;
|
|
75
|
+
default:
|
|
76
|
+
kp += '';
|
|
77
|
+
break;
|
|
78
|
+
}
|
|
79
|
+
return kp;
|
|
80
|
+
}
|
|
81
|
+
// NEW CHANGE [6]
|
|
82
|
+
// Centralized creation of Distro instance
|
|
83
|
+
// Ensures only one point of modification for Distro
|
|
84
|
+
static distro() {
|
|
85
|
+
return new Distro();
|
|
86
|
+
}
|
|
87
|
+
// NEW CHANGE [7]
|
|
88
|
+
// Simplified isManjaroBased function using array.includes
|
|
89
|
+
// Makes it easier to maintain and extend to new derivatives
|
|
90
|
+
static isManjaroBased(distro) {
|
|
91
|
+
const manjaroFamilies = ['Manjaro', 'Biglinux', 'Bigcommunity'];
|
|
92
|
+
return manjaroFamilies.includes(distro);
|
|
93
|
+
}
|
|
94
|
+
// NEW CHANGE [8]
|
|
95
|
+
// bootloaders path handling improved
|
|
96
|
+
// Default path for debian, custom path for all other families
|
|
97
|
+
static bootloaders(familyId) {
|
|
98
|
+
return familyId === 'debian' ? '/usr/lib/' : '/usr/lib/penguins-eggs/bootloaders/';
|
|
99
|
+
}
|
|
100
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/classes/incubation/branding.ts
|
|
3
|
+
* penguins-eggs v.25.7.x / ecmascript 2020
|
|
4
|
+
* author: Piero Proietti
|
|
5
|
+
* email: piero.proietti@gmail.com
|
|
6
|
+
* license: MIT
|
|
7
|
+
*/
|
|
8
|
+
import { IDistro, IRemix } from '../../interfaces/index.js';
|
|
9
|
+
/**
|
|
10
|
+
*
|
|
11
|
+
* @param remix
|
|
12
|
+
* @param distro
|
|
13
|
+
* @param theme
|
|
14
|
+
* @param verbose
|
|
15
|
+
* @returns
|
|
16
|
+
*/
|
|
17
|
+
export declare function branding(remix: IRemix, distro: IDistro, theme?: string, verbose?: boolean): string;
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/classes/incubation/branding.ts
|
|
3
|
+
* penguins-eggs v.25.7.x / ecmascript 2020
|
|
4
|
+
* author: Piero Proietti
|
|
5
|
+
* email: piero.proietti@gmail.com
|
|
6
|
+
* license: MIT
|
|
7
|
+
*/
|
|
8
|
+
import yaml from 'js-yaml';
|
|
9
|
+
/**
|
|
10
|
+
*
|
|
11
|
+
* @param remix
|
|
12
|
+
* @param distro
|
|
13
|
+
* @param theme
|
|
14
|
+
* @param verbose
|
|
15
|
+
* @returns
|
|
16
|
+
*/
|
|
17
|
+
export function branding(remix, distro, theme = '', verbose = false) {
|
|
18
|
+
const { bugReportUrl, homeUrl, supportUrl } = distro;
|
|
19
|
+
// Li ridenomino per calamares
|
|
20
|
+
const productUrl = homeUrl;
|
|
21
|
+
// const supportUrl= supportUrl
|
|
22
|
+
const releaseNotesUrl = bugReportUrl;
|
|
23
|
+
const knownIssuesUrl = 'https://github.com/pieroproietti/penguins-eggs/issues/';
|
|
24
|
+
const productName = remix.versionName; // Questa va nel titolo ed in basso
|
|
25
|
+
const shortProductName = remix.fullname;
|
|
26
|
+
const today = new Date();
|
|
27
|
+
const version = today.toISOString().split('T')[0]; // 2021-09-30
|
|
28
|
+
const shortVersion = version.split('-').join('.'); // 2021.09.30
|
|
29
|
+
const versionedName = remix.fullname + ' (' + shortVersion + ')';
|
|
30
|
+
const shortVersionedName = remix.versionName + ' ' + version;
|
|
31
|
+
/**
|
|
32
|
+
* some distros: Devuan, LMDE, syslinuxos
|
|
33
|
+
* must have: bootloaderEntryName=Debian
|
|
34
|
+
* to work on EFI
|
|
35
|
+
*/
|
|
36
|
+
let bootloaderEntryName = '';
|
|
37
|
+
const distroId = distro.distroId.toLowerCase();
|
|
38
|
+
if (distroId === 'devuan' || distroId === 'lmde' || distroId === 'syslinuxos') {
|
|
39
|
+
bootloaderEntryName = 'Debian';
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
bootloaderEntryName = distro.distroId;
|
|
43
|
+
}
|
|
44
|
+
const productLogo = `${remix.branding}-logo.png`;
|
|
45
|
+
const productIcon = `${remix.branding}-logo.png`;
|
|
46
|
+
const productWelcome = 'welcome.png';
|
|
47
|
+
const slideshow = 'show.qml';
|
|
48
|
+
const branding = {
|
|
49
|
+
componentName: remix.branding,
|
|
50
|
+
images: {
|
|
51
|
+
productIcon,
|
|
52
|
+
productLogo,
|
|
53
|
+
productWelcome
|
|
54
|
+
},
|
|
55
|
+
slideshow,
|
|
56
|
+
slideshowAPI: 1,
|
|
57
|
+
strings: {
|
|
58
|
+
bootloaderEntryName,
|
|
59
|
+
knownIssuesUrl,
|
|
60
|
+
productName,
|
|
61
|
+
productUrl,
|
|
62
|
+
releaseNotesUrl,
|
|
63
|
+
shortProductName,
|
|
64
|
+
shortVersion,
|
|
65
|
+
shortVersionedName,
|
|
66
|
+
supportUrl,
|
|
67
|
+
version,
|
|
68
|
+
versionedName
|
|
69
|
+
},
|
|
70
|
+
style: {
|
|
71
|
+
// 3.3.x
|
|
72
|
+
SidebarBackground: '#292F34',
|
|
73
|
+
SidebarBackgroundCurrent: '#D35400',
|
|
74
|
+
SidebarText: '#FFFFFF',
|
|
75
|
+
SidebarTextCurrent: '#292F34',
|
|
76
|
+
// 3.2.x
|
|
77
|
+
sidebarBackground: '#292F34',
|
|
78
|
+
sidebarBackgroundCurrent: '#D35400',
|
|
79
|
+
sidebarText: '#FFFFFF',
|
|
80
|
+
sidebarTextCurrent: '#292F34'
|
|
81
|
+
},
|
|
82
|
+
welcomeStyleCalamares: true
|
|
83
|
+
};
|
|
84
|
+
return yaml.dump(branding);
|
|
85
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/classes/incubation/customize/customize-partitions.ts
|
|
3
|
+
* penguins-eggs v.25.7.x / ecmascript 2020
|
|
4
|
+
* author: Piero Proietti
|
|
5
|
+
* email: piero.proietti@gmail.com
|
|
6
|
+
* license: MIT
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* customize module partition
|
|
10
|
+
* add/remove filesystem available
|
|
11
|
+
*/
|
|
12
|
+
export declare function customizePartitions(): Promise<void>;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/classes/incubation/customize/customize-partitions.ts
|
|
3
|
+
* penguins-eggs v.25.7.x / ecmascript 2020
|
|
4
|
+
* author: Piero Proietti
|
|
5
|
+
* email: piero.proietti@gmail.com
|
|
6
|
+
* license: MIT
|
|
7
|
+
*/
|
|
8
|
+
import fs from 'node:fs';
|
|
9
|
+
import Pacman from '../../pacman.js';
|
|
10
|
+
import yaml from 'js-yaml';
|
|
11
|
+
import { exec } from '../../../lib/utils.js';
|
|
12
|
+
/**
|
|
13
|
+
* customize module partition
|
|
14
|
+
* add/remove filesystem available
|
|
15
|
+
*/
|
|
16
|
+
export async function customizePartitions() {
|
|
17
|
+
const filePartition = '/etc/calamares/modules/partition.conf';
|
|
18
|
+
const partition = yaml.load(fs.readFileSync(filePartition, 'utf8'));
|
|
19
|
+
// detect filesystem type
|
|
20
|
+
let test = await exec(`df -T / | awk 'NR==2 {print $2}'`, { capture: true, echo: false });
|
|
21
|
+
partition.defaultFileSystemType = test.data.trim();
|
|
22
|
+
/**
|
|
23
|
+
* Determino i filesystem disponibili
|
|
24
|
+
*/
|
|
25
|
+
partition.availableFileSystemTypes = ['ext4'];
|
|
26
|
+
if (Pacman.packageIsInstalled('progs') ||
|
|
27
|
+
Pacman.packageIsInstalled('btrfsprogs')) {
|
|
28
|
+
partition.availableFileSystemTypes.push('btrfs');
|
|
29
|
+
}
|
|
30
|
+
if (Pacman.packageIsInstalled('xfsprogs')) {
|
|
31
|
+
partition.availableFileSystemTypes.push('xfs');
|
|
32
|
+
}
|
|
33
|
+
if (Pacman.packageIsInstalled('f2fs-tools')) {
|
|
34
|
+
partition.availableFileSystemTypes.push('f2fs');
|
|
35
|
+
}
|
|
36
|
+
fs.writeFileSync(filePartition, yaml.dump(partition), 'utf-8');
|
|
37
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function initcpio(): Promise<string>;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { exec } from 'child_process';
|
|
2
|
+
import { promisify } from 'util';
|
|
3
|
+
import { access } from 'fs/promises';
|
|
4
|
+
const execAsync = promisify(exec);
|
|
5
|
+
export async function initcpio() {
|
|
6
|
+
try {
|
|
7
|
+
const { stdout: kernelVersion } = await execAsync('uname -r');
|
|
8
|
+
const version = kernelVersion.trim();
|
|
9
|
+
// Manjaro
|
|
10
|
+
if (version.includes('MANJARO')) {
|
|
11
|
+
try {
|
|
12
|
+
// Estrai major e minor version. Es: da "6.12.48-1-MANJARO" -> ["6", "12", "48-1-MANJARO"]
|
|
13
|
+
const parts = version.split('.');
|
|
14
|
+
// Costruisci il nome del preset come "linux" + "6" + "12" -> "linux612"
|
|
15
|
+
const kernelName = `linux${parts[0]}${parts[1]}`;
|
|
16
|
+
const manjaroPreset = `/etc/mkinitcpio.d/${kernelName}.preset`;
|
|
17
|
+
await access(manjaroPreset); // Verifica se esiste /etc/mkinitcpio.d/linux612.preset
|
|
18
|
+
return manjaroPreset; // Se esiste, lo restituisce e la funzione termina
|
|
19
|
+
}
|
|
20
|
+
catch {
|
|
21
|
+
// Se anche questa logica fallisce, lascia che proceda al fallback per Arch
|
|
22
|
+
// console.warn('Logica Manjaro fallita, si tenta il fallback per Arch...');
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
else if (version.includes('cachyos')) {
|
|
26
|
+
try {
|
|
27
|
+
let kernelType = 'linux-cachyos'; // default
|
|
28
|
+
if (version.includes('lts')) {
|
|
29
|
+
kernelType = 'linux-cachyos-lts';
|
|
30
|
+
}
|
|
31
|
+
else if (version.includes('zen')) {
|
|
32
|
+
kernelType = 'linux-cachyos-zen';
|
|
33
|
+
}
|
|
34
|
+
else if (version.includes('hardened')) {
|
|
35
|
+
kernelType = 'linux-hardened';
|
|
36
|
+
}
|
|
37
|
+
const cachyPreset = `/etc/mkinitcpio.d/${kernelType}.preset`;
|
|
38
|
+
await access(cachyPreset);
|
|
39
|
+
return cachyPreset;
|
|
40
|
+
}
|
|
41
|
+
catch {
|
|
42
|
+
// Se anche questa logica fallisce, lascia che proceda al fallback per Arch
|
|
43
|
+
// console.warn('Logica Manjaro fallita, si tenta il fallback per Arch...');
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* FALLBACK ARCH
|
|
48
|
+
*/
|
|
49
|
+
// Determina il tipo di kernel
|
|
50
|
+
let kernelType = 'linux'; // default
|
|
51
|
+
if (version.includes('lts')) {
|
|
52
|
+
kernelType = 'linux-lts';
|
|
53
|
+
}
|
|
54
|
+
else if (version.includes('zen')) {
|
|
55
|
+
kernelType = 'linux-zen';
|
|
56
|
+
}
|
|
57
|
+
else if (version.includes('hardened')) {
|
|
58
|
+
kernelType = 'linux-hardened';
|
|
59
|
+
}
|
|
60
|
+
const archPreset = `/etc/mkinitcpio.d/${kernelType}.preset`;
|
|
61
|
+
// Verifica che esista
|
|
62
|
+
await access(archPreset);
|
|
63
|
+
return archPreset;
|
|
64
|
+
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
// Rimuoviamo l'errore originale dalla stringa per un messaggio più pulito
|
|
67
|
+
throw new Error(`Impossibile trovare un file .preset valido in /etc/mkinitcpio.d/`);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/classes/incubation/fisherman-helper/packages.ts
|
|
3
|
+
* penguins-eggs v.25.7.x / ecmascript 2020
|
|
4
|
+
* author: Piero Proietti
|
|
5
|
+
* email: piero.proietti@gmail.com
|
|
6
|
+
* license: MIT
|
|
7
|
+
*/
|
|
8
|
+
import { IDistro } from '../../../interfaces/index.js';
|
|
9
|
+
/**
|
|
10
|
+
*
|
|
11
|
+
* @param distro
|
|
12
|
+
* @returns yaml-string
|
|
13
|
+
*/
|
|
14
|
+
export declare function remove(distro: IDistro): string;
|
|
15
|
+
/**
|
|
16
|
+
*
|
|
17
|
+
* @param distro
|
|
18
|
+
* @returns yaml-string
|
|
19
|
+
*/
|
|
20
|
+
export declare function tryInstall(distro: IDistro): string;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/classes/incubation/fisherman-helper/packages.ts
|
|
3
|
+
* penguins-eggs v.25.7.x / ecmascript 2020
|
|
4
|
+
* author: Piero Proietti
|
|
5
|
+
* email: piero.proietti@gmail.com
|
|
6
|
+
* license: MIT
|
|
7
|
+
*/
|
|
8
|
+
import Pacman from '../../pacman.js';
|
|
9
|
+
/**
|
|
10
|
+
*
|
|
11
|
+
* @param distro
|
|
12
|
+
* @returns yaml-string
|
|
13
|
+
*/
|
|
14
|
+
export function remove(distro) {
|
|
15
|
+
const packages = ['calamares-eggs', 'calamares'];
|
|
16
|
+
if (distro.familyId === 'archlinux') {
|
|
17
|
+
packages.push('penguins-eggs');
|
|
18
|
+
}
|
|
19
|
+
if (distro.familyId === 'debian') {
|
|
20
|
+
packages.push('penguins-eggs', 'live-boot', 'live-boot-doc', 'live-boot-initramfs-tools', 'live-tools');
|
|
21
|
+
}
|
|
22
|
+
const installedPackages = [];
|
|
23
|
+
for (const elem of packages) {
|
|
24
|
+
if (Pacman.packageIsInstalled(elem)) {
|
|
25
|
+
installedPackages.push(elem);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
installedPackages.sort();
|
|
29
|
+
let yaml = '';
|
|
30
|
+
for (const elem of installedPackages) {
|
|
31
|
+
yaml += ` - ${elem.trim()}\n`;
|
|
32
|
+
}
|
|
33
|
+
if (yaml !== '') {
|
|
34
|
+
yaml = '- try_remove:\n' + yaml;
|
|
35
|
+
}
|
|
36
|
+
return yaml;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
*
|
|
40
|
+
* @param distro
|
|
41
|
+
* @returns yaml-string
|
|
42
|
+
*/
|
|
43
|
+
export function tryInstall(distro) {
|
|
44
|
+
let yaml = '';
|
|
45
|
+
/**
|
|
46
|
+
* Depending on the distro
|
|
47
|
+
*/
|
|
48
|
+
if (distro.distroLike === 'Ubuntu') {
|
|
49
|
+
yaml += ' - language-pack-$LOCALE\n';
|
|
50
|
+
}
|
|
51
|
+
// Da localizzare se presenti
|
|
52
|
+
if (Pacman.packageIsInstalled('hunspell')) {
|
|
53
|
+
yaml += ' - hunspell-$LOCALE\n';
|
|
54
|
+
}
|
|
55
|
+
if (Pacman.packageIsInstalled('libreoffice-base-core')) {
|
|
56
|
+
yaml += ' - libreoffice-l10n-$LOCALE\n';
|
|
57
|
+
yaml += ' - libreoffice-help-$LOCALE\n';
|
|
58
|
+
}
|
|
59
|
+
if (Pacman.packageIsInstalled('firefox-esr')) {
|
|
60
|
+
yaml += ' - firefox-esr-$LOCALE\n';
|
|
61
|
+
}
|
|
62
|
+
if (Pacman.packageIsInstalled('firefox')) {
|
|
63
|
+
yaml += ' - firefox-$LOCALE\n';
|
|
64
|
+
}
|
|
65
|
+
if (Pacman.packageIsInstalled('thunderbird')) {
|
|
66
|
+
yaml += ' - thunderbird-locale-$LOCALE\n';
|
|
67
|
+
}
|
|
68
|
+
if (yaml !== '') {
|
|
69
|
+
yaml = '- try_install:\n' + yaml;
|
|
70
|
+
}
|
|
71
|
+
return yaml;
|
|
72
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/classes/incubation/fisherman-helper/settings.ts
|
|
3
|
+
* penguins-eggs v.25.7.x / ecmascript 2020
|
|
4
|
+
* author: Piero Proietti
|
|
5
|
+
* email: piero.proietti@gmail.com
|
|
6
|
+
* license: MIT
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
*
|
|
10
|
+
* @param src
|
|
11
|
+
* @param dest
|
|
12
|
+
* @param theme
|
|
13
|
+
* @param isClone
|
|
14
|
+
*/
|
|
15
|
+
export declare function settings(src: string, dest: string, theme?: string, isClone?: boolean): Promise<void>;
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/classes/incubation/fisherman-helper/settings.ts
|
|
3
|
+
* penguins-eggs v.25.7.x / ecmascript 2020
|
|
4
|
+
* author: Piero Proietti
|
|
5
|
+
* email: piero.proietti@gmail.com
|
|
6
|
+
* license: MIT
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
*
|
|
10
|
+
* @param theme
|
|
11
|
+
* @param isClone
|
|
12
|
+
*/
|
|
13
|
+
import yaml from 'js-yaml';
|
|
14
|
+
import fs from 'node:fs';
|
|
15
|
+
import shx from 'shelljs';
|
|
16
|
+
import Utils from '../../utils.js';
|
|
17
|
+
import { installer } from '../installer.js';
|
|
18
|
+
/**
|
|
19
|
+
*
|
|
20
|
+
* @param src
|
|
21
|
+
* @param dest
|
|
22
|
+
* @param theme
|
|
23
|
+
* @param isClone
|
|
24
|
+
*/
|
|
25
|
+
export async function settings(src, dest, theme = 'eggs', isClone = false) {
|
|
26
|
+
let branding = theme;
|
|
27
|
+
const settingsSrc = src + 'settings.yml';
|
|
28
|
+
if (theme.includes('/')) {
|
|
29
|
+
branding = theme.slice(Math.max(0, theme.lastIndexOf('/') + 1));
|
|
30
|
+
}
|
|
31
|
+
const settingsDest = dest + 'settings.conf';
|
|
32
|
+
const contentSrc = fs.readFileSync(settingsSrc, "utf-8");
|
|
33
|
+
const yamlDest = yaml.load(contentSrc);
|
|
34
|
+
// Trova gli elementi in modo sicuro
|
|
35
|
+
const showSequenceItem = yamlDest.sequence.find(item => item.show);
|
|
36
|
+
const execSequenceItem = yamlDest.sequence.find(item => item.exec);
|
|
37
|
+
if (!showSequenceItem || !execSequenceItem) {
|
|
38
|
+
throw new Error("Impossibile trovare le sezioni 'show' o 'exec' nel file settings.yml");
|
|
39
|
+
}
|
|
40
|
+
// Il '!' dice a TS: "sono sicuro che non è undefined"
|
|
41
|
+
let showModules = showSequenceItem.show;
|
|
42
|
+
let execModules = execSequenceItem.exec;
|
|
43
|
+
// Filtra la lista (ora con type safety)
|
|
44
|
+
if (!Utils.isSystemd()) {
|
|
45
|
+
execModules = execModules.filter(module => module !== 'machineid' && module !== 'services-systemd');
|
|
46
|
+
}
|
|
47
|
+
// if (displaymanager()) {
|
|
48
|
+
// execModules = execModules.filter(module => module !== 'displaymanager')
|
|
49
|
+
// }
|
|
50
|
+
if (isClone) {
|
|
51
|
+
execModules = execModules.filter(module => module !== 'users');
|
|
52
|
+
showModules = showModules.filter(module => module !== 'users');
|
|
53
|
+
}
|
|
54
|
+
// Riassegna gli array
|
|
55
|
+
showSequenceItem.show = showModules;
|
|
56
|
+
execSequenceItem.exec = execModules;
|
|
57
|
+
yamlDest.branding = branding;
|
|
58
|
+
const contentDeest = yaml.dump(yamlDest);
|
|
59
|
+
fs.writeFileSync(settingsDest, contentDeest);
|
|
60
|
+
/*
|
|
61
|
+
shx.cp(settingsSrc, settingsDest)
|
|
62
|
+
let hasSystemd = '# '
|
|
63
|
+
if (Utils.isSystemd()) {
|
|
64
|
+
hasSystemd = '- '
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
let createUsers = '- '
|
|
68
|
+
if (isClone) {
|
|
69
|
+
createUsers = '# '
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
let hasDisplaymanager = '# '
|
|
73
|
+
if (displaymanager().length > 0) {
|
|
74
|
+
hasDisplaymanager = '- '
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
shx.sed('-i', '{{hasSystemd}}', hasSystemd, settingsDest)
|
|
78
|
+
shx.sed('-i', '{{hasDisplaymanager}}', hasDisplaymanager, settingsDest)
|
|
79
|
+
shx.sed('-i', '{{branding}}', branding, settingsDest)
|
|
80
|
+
shx.sed('-i', '{{createUsers}}', createUsers, settingsDest)
|
|
81
|
+
|
|
82
|
+
*/
|
|
83
|
+
/**
|
|
84
|
+
* cfsAppend
|
|
85
|
+
*/
|
|
86
|
+
const cfsPath = `${theme}/theme/calamares/cfs.yml`;
|
|
87
|
+
if (fs.existsSync(cfsPath)) {
|
|
88
|
+
cfsAppend(cfsPath);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
*
|
|
93
|
+
*/
|
|
94
|
+
function cfsAppend(cfs) {
|
|
95
|
+
const configRoot = installer().configRoot + 'settings.conf';
|
|
96
|
+
const soContent = fs.readFileSync(configRoot, 'utf8');
|
|
97
|
+
const so = yaml.load(soContent);
|
|
98
|
+
const cfsContent = fs.readFileSync(cfs, 'utf8');
|
|
99
|
+
const cfsSteps = yaml.load(cfsContent);
|
|
100
|
+
const execSteps = so.sequence[1].exec;
|
|
101
|
+
for (const execStep of execSteps) {
|
|
102
|
+
if (execStep.includes('umount')) {
|
|
103
|
+
so.sequence[1].exec.pop(); // OK remove umount
|
|
104
|
+
/**
|
|
105
|
+
* insert cfsStep
|
|
106
|
+
*/
|
|
107
|
+
for (const cfsStep of cfsSteps) {
|
|
108
|
+
so.sequence[1].exec.push(cfsStep);
|
|
109
|
+
}
|
|
110
|
+
so.sequence[1].exec.push('end-cfs'); // we will replace with umount
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
// ***
|
|
114
|
+
fs.writeFileSync(configRoot, yaml.dump(so), 'utf-8');
|
|
115
|
+
shx.sed('-i', 'end-cfs', 'umount', configRoot);
|
|
116
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { IDistro, IInstaller } from '../../interfaces/index.js';
|
|
2
|
+
export default class Fisherman {
|
|
3
|
+
distro: IDistro;
|
|
4
|
+
installer: IInstaller;
|
|
5
|
+
verbose: boolean;
|
|
6
|
+
constructor(distro: IDistro, installer: IInstaller, verbose?: boolean);
|
|
7
|
+
/**
|
|
8
|
+
*
|
|
9
|
+
* @param name
|
|
10
|
+
* @param isScript
|
|
11
|
+
*/
|
|
12
|
+
buildCalamaresModule(name: string, isScript?: boolean, theme?: string): Promise<string>;
|
|
13
|
+
/**
|
|
14
|
+
*
|
|
15
|
+
* @param name
|
|
16
|
+
*/
|
|
17
|
+
buildCalamaresPy(name: string): Promise<void>;
|
|
18
|
+
/**
|
|
19
|
+
*
|
|
20
|
+
* @param name
|
|
21
|
+
* @param replaces [['search','replace']]
|
|
22
|
+
*/
|
|
23
|
+
buildModule(name: string, vendor?: string): Promise<void>;
|
|
24
|
+
/**
|
|
25
|
+
*
|
|
26
|
+
* @param name
|
|
27
|
+
*/
|
|
28
|
+
contextualprocess(name: string): Promise<void>;
|
|
29
|
+
/**
|
|
30
|
+
* write settings
|
|
31
|
+
*/
|
|
32
|
+
createCalamaresSettings(theme?: string, isClone?: boolean): Promise<void>;
|
|
33
|
+
/**
|
|
34
|
+
*
|
|
35
|
+
* @param name
|
|
36
|
+
*/
|
|
37
|
+
shellprocess(name: string): Promise<void>;
|
|
38
|
+
/**
|
|
39
|
+
*
|
|
40
|
+
* @param name
|
|
41
|
+
*/
|
|
42
|
+
helper(name: string): Promise<void>;
|
|
43
|
+
/**
|
|
44
|
+
*
|
|
45
|
+
* @param module
|
|
46
|
+
* @param type
|
|
47
|
+
* @param path
|
|
48
|
+
*/
|
|
49
|
+
show(name: string, type: string, path: string): void;
|
|
50
|
+
/**
|
|
51
|
+
* ====================================================================================
|
|
52
|
+
* buildModule...
|
|
53
|
+
* ====================================================================================
|
|
54
|
+
*/
|
|
55
|
+
/**
|
|
56
|
+
* buildModuleDracut
|
|
57
|
+
*/
|
|
58
|
+
buildModuleDracut(initrd: string): Promise<void>;
|
|
59
|
+
buildModuleInitcpio(): Promise<void>;
|
|
60
|
+
/**
|
|
61
|
+
* buildModuleFinished
|
|
62
|
+
*/
|
|
63
|
+
buildModuleFinished(): Promise<void>;
|
|
64
|
+
/**
|
|
65
|
+
* buildModulePackages
|
|
66
|
+
*/
|
|
67
|
+
buildModulePackages(distro: IDistro, release?: boolean): Promise<void>;
|
|
68
|
+
/**
|
|
69
|
+
* buildModuleRemoveuser
|
|
70
|
+
*/
|
|
71
|
+
buildModuleRemoveuser(username: string): Promise<void>;
|
|
72
|
+
/**
|
|
73
|
+
* buildModuleUnpackfs
|
|
74
|
+
*/
|
|
75
|
+
buildModuleUnpackfs(): Promise<void>;
|
|
76
|
+
}
|