penguins-eggs 10.0.28 → 10.0.31
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 +1500 -2
- package/README.md +760 -0
- package/addons/README.md +0 -2
- package/addons/eggs/adapt/applications/eggs-adapt.desktop +1 -1
- package/addons/eggs/theme/livecd/isolinux.main.alpine.cfg +43 -0
- package/addons/eggs/theme/livecd/{isolinux.main.cfg → isolinux.main.original.cfg} +1 -1
- package/conf/distros/alpine/README.md +1 -1
- package/conf/distros/alpine/calamares/calamares-modules/bootloader-config/bootloader-config.sh +40 -0
- package/conf/distros/alpine/calamares/calamares-modules/bootloader-config/module.yml +9 -0
- package/conf/distros/alpine/calamares/calamares-modules/cleanup/cleanup.sh +13 -0
- package/conf/distros/alpine/calamares/calamares-modules/cleanup/module.yml +9 -0
- package/conf/distros/alpine/calamares/modules/bootloader.yml +57 -0
- package/conf/distros/alpine/calamares/modules/displaymanager.yml +23 -0
- package/conf/distros/alpine/calamares/modules/finished.yml +5 -0
- package/conf/distros/alpine/calamares/modules/fstab.yml +12 -0
- package/conf/distros/alpine/calamares/modules/locale.yml +98 -0
- package/conf/distros/alpine/calamares/modules/luksopenswaphookcfg.yml +5 -0
- package/conf/distros/alpine/calamares/modules/machineid.yml +17 -0
- package/conf/distros/alpine/calamares/modules/mount.yml +56 -0
- package/conf/distros/alpine/calamares/modules/packages.yml +6 -0
- package/conf/distros/alpine/calamares/modules/partition.yml +242 -0
- package/conf/distros/alpine/calamares/modules/removeuser.yml +15 -0
- package/conf/distros/alpine/calamares/modules/unpackfs.yml +6 -0
- package/conf/distros/alpine/calamares/modules/users.yml +18 -0
- package/conf/distros/alpine/calamares/modules/welcome.yml +19 -0
- package/conf/distros/alpine/calamares/settings.yml +57 -0
- package/conf/love.yaml +8 -0
- package/dist/classes/bleach.d.ts +32 -0
- package/dist/classes/bleach.js +136 -0
- package/dist/classes/cfs.d.ts +17 -0
- package/dist/classes/cfs.js +39 -0
- package/dist/classes/cli-autologin.d.ts +52 -0
- package/dist/classes/cli-autologin.js +230 -0
- package/dist/classes/compressors.d.ts +54 -0
- package/dist/classes/compressors.js +109 -0
- package/dist/classes/daddy.d.ts +26 -0
- package/dist/classes/daddy.js +161 -0
- package/dist/classes/distro.d.ts +36 -0
- package/dist/classes/distro.js +346 -0
- package/dist/classes/families/alpine.d.ts +55 -0
- package/dist/classes/families/alpine.js +163 -0
- package/dist/classes/families/archlinux.d.ts +61 -0
- package/dist/classes/families/archlinux.js +140 -0
- package/dist/classes/families/debian.d.ts +65 -0
- package/dist/classes/families/debian.js +138 -0
- package/dist/classes/families/fedora.d.ts +52 -0
- package/dist/classes/families/fedora.js +100 -0
- package/dist/classes/families/mockup.d.ts +60 -0
- package/dist/classes/families/mockup.js +79 -0
- package/dist/classes/families/opensuse.d.ts +52 -0
- package/dist/classes/families/opensuse.js +104 -0
- package/dist/classes/incubation/branding.d.ts +17 -0
- package/dist/classes/incubation/branding.js +89 -0
- package/dist/classes/incubation/distros/alpine.d.ts +32 -0
- package/dist/classes/incubation/distros/alpine.js +80 -0
- package/dist/classes/incubation/distros/bionic.d.ts +32 -0
- package/dist/classes/incubation/distros/bionic.js +83 -0
- package/dist/classes/incubation/distros/buster.d.ts +32 -0
- package/dist/classes/incubation/distros/buster.js +85 -0
- package/dist/classes/incubation/distros/jessie.d.ts +31 -0
- package/dist/classes/incubation/distros/jessie.js +44 -0
- package/dist/classes/incubation/distros/noble.d.ts +32 -0
- package/dist/classes/incubation/distros/noble.js +85 -0
- package/dist/classes/incubation/distros/rolling.d.ts +32 -0
- package/dist/classes/incubation/distros/rolling.js +82 -0
- package/dist/classes/incubation/fisherman-helper/displaymanager.d.ts +11 -0
- package/dist/classes/incubation/fisherman-helper/displaymanager.js +39 -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 +83 -0
- package/dist/classes/incubation/fisherman.d.ts +77 -0
- package/dist/classes/incubation/fisherman.js +251 -0
- package/dist/classes/incubation/incubator.d.ts +40 -0
- package/dist/classes/incubation/incubator.js +328 -0
- package/dist/classes/incubation/installer.d.ts +13 -0
- package/dist/classes/incubation/installer.js +64 -0
- package/dist/classes/keyboards.d.ts +50 -0
- package/dist/classes/keyboards.js +287 -0
- package/dist/classes/locales.d.ts +21 -0
- package/dist/classes/locales.js +80 -0
- package/dist/classes/n8.d.ts +18 -0
- package/dist/classes/n8.js +36 -0
- package/dist/classes/network.d.ts +37 -0
- package/dist/classes/network.js +98 -0
- package/dist/classes/ovary.d.ts +214 -0
- package/dist/classes/ovary.js +1872 -0
- package/dist/classes/pacman.d.ts +149 -0
- package/dist/classes/pacman.js +703 -0
- package/dist/classes/pve-live.d.ts +17 -0
- package/dist/classes/pve-live.js +52 -0
- package/dist/classes/pxe.d.ts +74 -0
- package/dist/classes/pxe.js +410 -0
- package/dist/classes/settings.d.ts +53 -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 +46 -0
- package/dist/classes/tailor.js +587 -0
- package/dist/classes/tools.d.ts +30 -0
- package/dist/classes/tools.js +54 -0
- package/dist/classes/users.d.ts +28 -0
- package/dist/classes/users.js +143 -0
- package/dist/classes/utils.d.ts +323 -0
- package/dist/classes/utils.js +951 -0
- package/dist/classes/xdg.d.ts +45 -0
- package/dist/classes/xdg.js +329 -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 +110 -0
- package/dist/commands/config.d.ts +35 -0
- package/dist/commands/config.js +192 -0
- package/dist/commands/cuckoo.d.ts +16 -0
- package/dist/commands/cuckoo.js +62 -0
- package/dist/commands/dad.d.ts +20 -0
- package/dist/commands/dad.js +46 -0
- package/dist/commands/export/deb.d.ts +19 -0
- package/dist/commands/export/deb.js +51 -0
- package/dist/commands/export/iso.d.ts +19 -0
- package/dist/commands/export/iso.js +55 -0
- package/dist/commands/install.d.ts +37 -0
- package/dist/commands/install.js +88 -0
- package/dist/commands/kill.d.ts +24 -0
- package/dist/commands/kill.js +50 -0
- package/dist/commands/love.d.ts +20 -0
- package/dist/commands/love.js +55 -0
- package/dist/commands/mom.d.ts +16 -0
- package/dist/commands/mom.js +30 -0
- package/dist/commands/produce.d.ts +34 -0
- package/dist/commands/produce.js +196 -0
- package/dist/commands/status.d.ts +23 -0
- package/dist/commands/status.js +31 -0
- package/dist/commands/syncfrom.d.ts +45 -0
- package/dist/commands/syncfrom.js +152 -0
- package/dist/commands/syncto.d.ts +40 -0
- package/dist/commands/syncto.js +175 -0
- package/dist/commands/tools/clean.d.ts +18 -0
- package/dist/commands/tools/clean.js +37 -0
- package/dist/commands/tools/ppa.d.ts +26 -0
- package/dist/commands/tools/ppa.js +138 -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 +47 -0
- package/dist/commands/update.js +140 -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 +81 -0
- package/dist/components/finished.d.ts +16 -0
- package/dist/components/finished.js +55 -0
- package/dist/components/information.d.ts +8 -0
- package/dist/components/information.js +153 -0
- package/dist/components/install.d.ts +15 -0
- package/dist/components/install.js +56 -0
- package/dist/components/keyboard.d.ts +16 -0
- package/dist/components/keyboard.js +54 -0
- package/dist/components/location.d.ts +16 -0
- package/dist/components/location.js +59 -0
- package/dist/components/network.d.ts +19 -0
- package/dist/components/network.js +65 -0
- package/dist/components/partitions.d.ts +16 -0
- package/dist/components/partitions.js +73 -0
- package/dist/components/steps.d.ts +13 -0
- package/dist/components/steps.js +148 -0
- package/dist/components/summary.d.ts +24 -0
- package/dist/components/summary.js +81 -0
- package/dist/components/title.d.ts +11 -0
- package/dist/components/title.js +35 -0
- package/dist/components/users.d.ts +24 -0
- package/dist/components/users.js +80 -0
- package/dist/components/welcome.d.ts +13 -0
- package/dist/components/welcome.js +63 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.js +8 -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-branding.d.ts +36 -0
- package/dist/interfaces/i-branding.js +8 -0
- package/dist/interfaces/i-calamares-partition.d.ts +18 -0
- package/dist/interfaces/i-calamares-partition.js +8 -0
- package/dist/interfaces/i-config-tools.d.ts +18 -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 +27 -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-krill-config.d.ts +33 -0
- package/dist/interfaces/i-krill-config.js +8 -0
- package/dist/interfaces/i-krill.d.ts +42 -0
- package/dist/interfaces/i-krill.js +8 -0
- package/dist/interfaces/i-materia.d.ts +41 -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-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 +25 -0
- package/dist/interfaces/index.js +8 -0
- package/dist/krill/modules/add-user.d.ts +20 -0
- package/dist/krill/modules/add-user.js +49 -0
- package/dist/krill/modules/bootloader-config-alpine.d.ts +14 -0
- package/dist/krill/modules/bootloader-config-alpine.js +37 -0
- package/dist/krill/modules/bootloader-config-arch.d.ts +14 -0
- package/dist/krill/modules/bootloader-config-arch.js +37 -0
- package/dist/krill/modules/bootloader-config-debian.d.ts +10 -0
- package/dist/krill/modules/bootloader-config-debian.js +50 -0
- package/dist/krill/modules/bootloader-config.d.ts +10 -0
- package/dist/krill/modules/bootloader-config.js +25 -0
- package/dist/krill/modules/bootloader.d.ts +14 -0
- package/dist/krill/modules/bootloader.js +30 -0
- package/dist/krill/modules/change-password.d.ts +15 -0
- package/dist/krill/modules/change-password.js +18 -0
- package/dist/krill/modules/del-live-user.d.ts +14 -0
- package/dist/krill/modules/del-live-user.js +38 -0
- package/dist/krill/modules/fstab.d.ts +14 -0
- package/dist/krill/modules/fstab.js +121 -0
- package/dist/krill/modules/grubcfg.d.ts +17 -0
- package/dist/krill/modules/grubcfg.js +29 -0
- package/dist/krill/modules/hostname.d.ts +13 -0
- package/dist/krill/modules/hostname.js +50 -0
- package/dist/krill/modules/initramfs-cfg.d.ts +14 -0
- package/dist/krill/modules/initramfs-cfg.js +25 -0
- package/dist/krill/modules/initramfs.d.ts +13 -0
- package/dist/krill/modules/initramfs.js +48 -0
- package/dist/krill/modules/locale-cfg.d.ts +10 -0
- package/dist/krill/modules/locale-cfg.js +61 -0
- package/dist/krill/modules/locale.d.ts +13 -0
- package/dist/krill/modules/locale.js +91 -0
- package/dist/krill/modules/m-keyboard.d.ts +14 -0
- package/dist/krill/modules/m-keyboard.js +70 -0
- package/dist/krill/modules/machine-id.d.ts +15 -0
- package/dist/krill/modules/machine-id.js +30 -0
- package/dist/krill/modules/mkfs.d.ts +13 -0
- package/dist/krill/modules/mkfs.js +48 -0
- package/dist/krill/modules/mount-fs.d.ts +17 -0
- package/dist/krill/modules/mount-fs.js +60 -0
- package/dist/krill/modules/mount-vfs.d.ts +17 -0
- package/dist/krill/modules/mount-vfs.js +40 -0
- package/dist/krill/modules/network-cfg.d.ts +19 -0
- package/dist/krill/modules/network-cfg.js +64 -0
- package/dist/krill/modules/packages.d.ts +14 -0
- package/dist/krill/modules/packages.js +111 -0
- package/dist/krill/modules/partition.d.ts +20 -0
- package/dist/krill/modules/partition.js +324 -0
- package/dist/krill/modules/remove-installer-link.d.ts +13 -0
- package/dist/krill/modules/remove-installer-link.js +35 -0
- package/dist/krill/modules/umount.d.ts +14 -0
- package/dist/krill/modules/umount.js +27 -0
- package/dist/krill/modules/unpackfs.d.ts +13 -0
- package/dist/krill/modules/unpackfs.js +19 -0
- package/dist/krill/prepare.d.ts +78 -0
- package/dist/krill/prepare.js +624 -0
- package/dist/krill/sequence.d.ts +157 -0
- package/dist/krill/sequence.js +685 -0
- package/dist/lib/get_address.d.ts +8 -0
- package/dist/lib/get_address.js +23 -0
- package/dist/lib/get_dns.d.ts +8 -0
- package/dist/lib/get_dns.js +23 -0
- package/dist/lib/get_domain.d.ts +8 -0
- package/dist/lib/get_domain.js +23 -0
- package/dist/lib/get_gateway.d.ts +8 -0
- package/dist/lib/get_gateway.js +23 -0
- package/dist/lib/get_hostname.d.ts +8 -0
- package/dist/lib/get_hostname.js +23 -0
- package/dist/lib/get_netmask.d.ts +8 -0
- package/dist/lib/get_netmask.js +23 -0
- package/dist/lib/get_password.d.ts +8 -0
- package/dist/lib/get_password.js +36 -0
- package/dist/lib/get_userfullname.d.ts +8 -0
- package/dist/lib/get_userfullname.js +23 -0
- package/dist/lib/get_username.d.ts +8 -0
- package/dist/lib/get_username.js +23 -0
- package/dist/lib/kill_me_softly.d.ts +11 -0
- package/dist/lib/kill_me_softly.js +61 -0
- package/dist/lib/select_address_type.d.ts +8 -0
- package/dist/lib/select_address_type.js +24 -0
- package/dist/lib/select_filesystem_type.d.ts +8 -0
- package/dist/lib/select_filesystem_type.js +46 -0
- package/dist/lib/select_installation_device.d.ts +8 -0
- package/dist/lib/select_installation_device.js +30 -0
- package/dist/lib/select_installation_mode.d.ts +8 -0
- package/dist/lib/select_installation_mode.js +24 -0
- package/dist/lib/select_interface.d.ts +8 -0
- package/dist/lib/select_interface.js +24 -0
- package/dist/lib/select_keyboard_layout.d.ts +11 -0
- package/dist/lib/select_keyboard_layout.js +36 -0
- package/dist/lib/select_keyboard_model.d.ts +11 -0
- package/dist/lib/select_keyboard_model.js +34 -0
- package/dist/lib/select_keyboard_option.d.ts +11 -0
- package/dist/lib/select_keyboard_option.js +34 -0
- package/dist/lib/select_keyboard_variant.d.ts +11 -0
- package/dist/lib/select_keyboard_variant.js +35 -0
- package/dist/lib/select_languages.d.ts +8 -0
- package/dist/lib/select_languages.js +28 -0
- package/dist/lib/select_regions.d.ts +8 -0
- package/dist/lib/select_regions.js +24 -0
- package/dist/lib/select_user_swap_choice.d.ts +8 -0
- package/dist/lib/select_user_swap_choice.js +34 -0
- package/dist/lib/select_zones.d.ts +8 -0
- package/dist/lib/select_zones.js +518 -0
- package/dist/lib/utils.d.ts +34 -0
- package/dist/lib/utils.js +79 -0
- package/manpages/doc/man/eggs.1.gz +0 -0
- package/manpages/doc/man/eggs.html +4 -588
- package/mkinitfs/README.md +9 -0
- package/package.json +4 -4
- package/scripts/_eggs +9 -2
- package/scripts/eggs.bash +2 -1
- package/addons/eggs/ichoice/applications/eggs-ichoice.desktop +0 -23
- package/addons/eggs/ichoice/bin/eggs-ichoice.sh +0 -44
- package/scripts/love +0 -25
- /package/{addons/eggs/adapt/bin/adapt → scripts/adapt.sh} +0 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/lib/get_address.ts
|
|
3
|
+
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
+
* author: Piero Proietti
|
|
5
|
+
* email: piero.proietti@gmail.com
|
|
6
|
+
* license: MIT
|
|
7
|
+
*/
|
|
8
|
+
import inquirer from 'inquirer';
|
|
9
|
+
export default async function getAddress(initial) {
|
|
10
|
+
return new Promise((resolve) => {
|
|
11
|
+
const questions = [
|
|
12
|
+
{
|
|
13
|
+
default: initial,
|
|
14
|
+
message: 'What is ip address of this computer? ',
|
|
15
|
+
name: 'address',
|
|
16
|
+
type: 'input'
|
|
17
|
+
}
|
|
18
|
+
];
|
|
19
|
+
inquirer.prompt(questions).then((options) => {
|
|
20
|
+
resolve(options.address);
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/lib/get_dns.ts
|
|
3
|
+
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
+
* author: Piero Proietti
|
|
5
|
+
* email: piero.proietti@gmail.com
|
|
6
|
+
* license: MIT
|
|
7
|
+
*/
|
|
8
|
+
import inquirer from 'inquirer';
|
|
9
|
+
export default async function getDns(initial) {
|
|
10
|
+
return new Promise((resolve) => {
|
|
11
|
+
const questions = [
|
|
12
|
+
{
|
|
13
|
+
default: initial,
|
|
14
|
+
message: 'use ; to separe: ',
|
|
15
|
+
name: 'dns',
|
|
16
|
+
type: 'input'
|
|
17
|
+
}
|
|
18
|
+
];
|
|
19
|
+
inquirer.prompt(questions).then((options) => {
|
|
20
|
+
resolve(options.dns);
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/lib/get_domain.ts
|
|
3
|
+
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
+
* author: Piero Proietti
|
|
5
|
+
* email: piero.proietti@gmail.com
|
|
6
|
+
* license: MIT
|
|
7
|
+
*/
|
|
8
|
+
import inquirer from 'inquirer';
|
|
9
|
+
export default async function getDomain(initial = '') {
|
|
10
|
+
return new Promise((resolve) => {
|
|
11
|
+
const questions = [
|
|
12
|
+
{
|
|
13
|
+
default: initial,
|
|
14
|
+
message: 'What is domain of this network? ',
|
|
15
|
+
name: 'domain',
|
|
16
|
+
type: 'input'
|
|
17
|
+
}
|
|
18
|
+
];
|
|
19
|
+
inquirer.prompt(questions).then((options) => {
|
|
20
|
+
resolve(options.domain);
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/lib/get_gateway.ts
|
|
3
|
+
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
+
* author: Piero Proietti
|
|
5
|
+
* email: piero.proietti@gmail.com
|
|
6
|
+
* license: MIT
|
|
7
|
+
*/
|
|
8
|
+
import inquirer from 'inquirer';
|
|
9
|
+
export default async function getGateway(initial) {
|
|
10
|
+
return new Promise((resolve) => {
|
|
11
|
+
const questions = [
|
|
12
|
+
{
|
|
13
|
+
default: initial,
|
|
14
|
+
message: 'What is gateway of this network? ',
|
|
15
|
+
name: 'gateway',
|
|
16
|
+
type: 'input'
|
|
17
|
+
}
|
|
18
|
+
];
|
|
19
|
+
inquirer.prompt(questions).then((options) => {
|
|
20
|
+
resolve(options.gateway);
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/lib/get_hostname.ts
|
|
3
|
+
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
+
* author: Piero Proietti
|
|
5
|
+
* email: piero.proietti@gmail.com
|
|
6
|
+
* license: MIT
|
|
7
|
+
*/
|
|
8
|
+
import inquirer from 'inquirer';
|
|
9
|
+
export default async function getHostname(initial) {
|
|
10
|
+
return new Promise((resolve) => {
|
|
11
|
+
const questions = [
|
|
12
|
+
{
|
|
13
|
+
default: initial,
|
|
14
|
+
message: 'Choose a name for this computer? ',
|
|
15
|
+
name: 'hostname',
|
|
16
|
+
type: 'input'
|
|
17
|
+
}
|
|
18
|
+
];
|
|
19
|
+
inquirer.prompt(questions).then((options) => {
|
|
20
|
+
resolve(options.hostname);
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/lib/get_netmask.ts
|
|
3
|
+
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
+
* author: Piero Proietti
|
|
5
|
+
* email: piero.proietti@gmail.com
|
|
6
|
+
* license: MIT
|
|
7
|
+
*/
|
|
8
|
+
import inquirer from 'inquirer';
|
|
9
|
+
export default async function getNetmask(initial) {
|
|
10
|
+
return new Promise((resolve) => {
|
|
11
|
+
const questions = [
|
|
12
|
+
{
|
|
13
|
+
default: initial,
|
|
14
|
+
message: 'What is netmask of this computer? ',
|
|
15
|
+
name: 'netmask',
|
|
16
|
+
type: 'input'
|
|
17
|
+
}
|
|
18
|
+
];
|
|
19
|
+
inquirer.prompt(questions).then((options) => {
|
|
20
|
+
resolve(options.netmask);
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/lib/get_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
|
+
*/
|
|
8
|
+
import inquirer from 'inquirer';
|
|
9
|
+
export default async function getPassword(user = 'root', initial) {
|
|
10
|
+
const requireLetterAndNumber = (value) => {
|
|
11
|
+
if (/\w/.test(value) && /\d/.test(value)) {
|
|
12
|
+
return true;
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
return new Promise((resolve) => {
|
|
16
|
+
const questions = [
|
|
17
|
+
{
|
|
18
|
+
default: initial,
|
|
19
|
+
message: `Choose a password for ${user}: `,
|
|
20
|
+
name: 'password',
|
|
21
|
+
type: 'password'
|
|
22
|
+
// validate: requireLetterAndNumber,
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
default: initial,
|
|
26
|
+
message: `Confirm your ${user} password: `,
|
|
27
|
+
name: 'confirmPassword',
|
|
28
|
+
type: 'password'
|
|
29
|
+
// validate: requireLetterAndNumber,
|
|
30
|
+
}
|
|
31
|
+
];
|
|
32
|
+
inquirer.prompt(questions).then((options) => {
|
|
33
|
+
resolve(options.password);
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/lib/get_userfullname.ts
|
|
3
|
+
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
+
* author: Piero Proietti
|
|
5
|
+
* email: piero.proietti@gmail.com
|
|
6
|
+
* license: MIT
|
|
7
|
+
*/
|
|
8
|
+
import inquirer from 'inquirer';
|
|
9
|
+
export default async function getUserfullname(initial) {
|
|
10
|
+
return new Promise((resolve) => {
|
|
11
|
+
const questions = [
|
|
12
|
+
{
|
|
13
|
+
default: initial,
|
|
14
|
+
message: 'What name do you want to use? ',
|
|
15
|
+
name: 'fullname',
|
|
16
|
+
type: 'input'
|
|
17
|
+
}
|
|
18
|
+
];
|
|
19
|
+
inquirer.prompt(questions).then((options) => {
|
|
20
|
+
resolve(options.fullname);
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/lib/get_username.ts
|
|
3
|
+
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
+
* author: Piero Proietti
|
|
5
|
+
* email: piero.proietti@gmail.com
|
|
6
|
+
* license: MIT
|
|
7
|
+
*/
|
|
8
|
+
import inquirer from 'inquirer';
|
|
9
|
+
export default async function getUsername(initial) {
|
|
10
|
+
return new Promise((resolve) => {
|
|
11
|
+
const questions = [
|
|
12
|
+
{
|
|
13
|
+
default: initial,
|
|
14
|
+
message: 'What is your name? ',
|
|
15
|
+
name: 'name',
|
|
16
|
+
type: 'input'
|
|
17
|
+
}
|
|
18
|
+
];
|
|
19
|
+
inquirer.prompt(questions).then((options) => {
|
|
20
|
+
resolve(options.name);
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/lib/kill_me_softly.ts
|
|
3
|
+
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
+
* author: Piero Proietti
|
|
5
|
+
* email: piero.proietti@gmail.com
|
|
6
|
+
* license: MIT
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
*
|
|
10
|
+
*/
|
|
11
|
+
export default function killMeSoftly(eggsRoot?: string, eggsMnt?: string, isos?: boolean): Promise<void>;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/lib/kill_me_softly.ts
|
|
3
|
+
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
+
* author: Piero Proietti
|
|
5
|
+
* email: piero.proietti@gmail.com
|
|
6
|
+
* license: MIT
|
|
7
|
+
*/
|
|
8
|
+
import fs from 'node:fs';
|
|
9
|
+
import Utils from '../classes/utils.js';
|
|
10
|
+
import { exec } from './utils.js';
|
|
11
|
+
/**
|
|
12
|
+
*
|
|
13
|
+
*/
|
|
14
|
+
export default async function killMeSoftly(eggsRoot = `/home/eggs`, eggsMnt = '/home/eggs/.mnt', isos = false) {
|
|
15
|
+
const echo = Utils.setEcho(false);
|
|
16
|
+
const liveFs = `${eggsMnt}filesystem.squashfs`;
|
|
17
|
+
/**
|
|
18
|
+
* refuse if /home/eggs/mnt/filesystem.squashfs
|
|
19
|
+
*/
|
|
20
|
+
if (haveBindedDirs(liveFs)) {
|
|
21
|
+
Utils.warning(`You have binded dirs under ${liveFs}, kill is not possible!`);
|
|
22
|
+
process.exit(1);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* if eggsMnt is mountpoint
|
|
26
|
+
*/
|
|
27
|
+
if (Utils.isMountpoint(eggsMnt)) {
|
|
28
|
+
// Just delete
|
|
29
|
+
await exec(`rm -rf ${eggsMnt}efi-work`);
|
|
30
|
+
await exec(`rm -rf ${eggsMnt}iso`);
|
|
31
|
+
await exec(`rm -rf ${eggsMnt}memdiskDir`);
|
|
32
|
+
await exec(`rm -rf ${eggsRoot}ovarium`);
|
|
33
|
+
// Remove all ISOs if --isos
|
|
34
|
+
if (isos) {
|
|
35
|
+
await exec(`rm -rf ${eggsMnt}*.iso`);
|
|
36
|
+
}
|
|
37
|
+
// double check !haveBindedDirs
|
|
38
|
+
if (!haveBindedDirs(liveFs)) {
|
|
39
|
+
await exec(`rm -rf ${liveFs}`);
|
|
40
|
+
}
|
|
41
|
+
process.exit(0);
|
|
42
|
+
}
|
|
43
|
+
await exec(`rm ${eggsRoot} -rf`, echo);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
*
|
|
47
|
+
* @param path
|
|
48
|
+
* @returns
|
|
49
|
+
*/
|
|
50
|
+
function haveBindedDirs(path) {
|
|
51
|
+
let retVal = false;
|
|
52
|
+
const dirs = ['bin', 'boot', 'etc', 'lib', 'lib32', 'lib64', 'libx32', 'opt', 'root', 'sbin', 'srv', 'usr', 'var'];
|
|
53
|
+
for (const dir of dirs) {
|
|
54
|
+
const dirToCheck = `${path}/${dir}`;
|
|
55
|
+
if (fs.existsSync(dirToCheck) && Utils.isMountpoint(dirToCheck)) {
|
|
56
|
+
console.log(`Warning: ${dirToCheck}, is a mountpoint!`);
|
|
57
|
+
retVal = true;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return retVal;
|
|
61
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/lib/select_address_type.ts
|
|
3
|
+
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
+
* author: Piero Proietti
|
|
5
|
+
* email: piero.proietti@gmail.com
|
|
6
|
+
* license: MIT
|
|
7
|
+
*/
|
|
8
|
+
import inquirer from 'inquirer';
|
|
9
|
+
export default async function selectAddressType() {
|
|
10
|
+
const questions = [
|
|
11
|
+
{
|
|
12
|
+
choices: ['dhcp', 'static'],
|
|
13
|
+
default: 'dhcp',
|
|
14
|
+
message: 'Select address type: ',
|
|
15
|
+
name: 'option',
|
|
16
|
+
type: 'list'
|
|
17
|
+
}
|
|
18
|
+
];
|
|
19
|
+
return new Promise((resolve) => {
|
|
20
|
+
inquirer.prompt(questions).then((options) => {
|
|
21
|
+
resolve(options.option);
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/lib/select_filesystem_type.ts
|
|
3
|
+
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
+
* author: Piero Proietti
|
|
5
|
+
* email: piero.proietti@gmail.com
|
|
6
|
+
* license: MIT
|
|
7
|
+
*/
|
|
8
|
+
import inquirer from 'inquirer';
|
|
9
|
+
import yaml from 'js-yaml';
|
|
10
|
+
import fs from 'node:fs';
|
|
11
|
+
import Pacman from '../classes/pacman.js';
|
|
12
|
+
export default async function selectFileSystemType() {
|
|
13
|
+
let partitions = {};
|
|
14
|
+
if (fs.existsSync('/etc/calamares/modules/partition.conf')) {
|
|
15
|
+
partitions = yaml.load(fs.readFileSync('/etc/calamares/modules/partition.conf', 'utf8'));
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
partitions.defaultFileSystemType = 'ext4';
|
|
19
|
+
}
|
|
20
|
+
const choices = ['ext4'];
|
|
21
|
+
if (Pacman.packageIsInstalled('btrfs-progs')) {
|
|
22
|
+
choices.push('btrfs');
|
|
23
|
+
}
|
|
24
|
+
partitions.defaultFileSystemType = 'ext4';
|
|
25
|
+
const questions = [
|
|
26
|
+
{
|
|
27
|
+
choices: choices,
|
|
28
|
+
default: partitions.defaultFileSystemType,
|
|
29
|
+
message: 'Select file system tyèe',
|
|
30
|
+
name: 'fileSystemChoices',
|
|
31
|
+
type: 'list'
|
|
32
|
+
}
|
|
33
|
+
];
|
|
34
|
+
return new Promise((resolve) => {
|
|
35
|
+
inquirer.prompt(questions).then((options) => {
|
|
36
|
+
resolve(options.fileSystemChoices);
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
/*
|
|
41
|
+
"efiSystemPartition":"/boot/efi","userSwapChoices": │
|
|
42
|
+
│Users ["none","small","suspend","file"],"drawNestedPartiti │
|
|
43
|
+
│Summary ons":false,"alwaysShowPartitionLabels":true,"initial │
|
|
44
|
+
│Install PartitioningChoice":"none","initialSwapChoice":"smal │
|
|
45
|
+
│Finish l","defaultFileSystemType":"ext4"}
|
|
46
|
+
*/
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/lib/installation_device.ts
|
|
3
|
+
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
+
* author: Piero Proietti
|
|
5
|
+
* email: piero.proietti@gmail.com
|
|
6
|
+
* license: MIT
|
|
7
|
+
*/
|
|
8
|
+
import inquirer from 'inquirer';
|
|
9
|
+
import shx from 'shelljs';
|
|
10
|
+
export default async function selectInstallationDevice() {
|
|
11
|
+
const drives = shx.exec('lsblk |grep disk|cut -f 1 "-d "', { silent: true }).stdout.trim().split('\n');
|
|
12
|
+
const driveList = [];
|
|
13
|
+
drives.forEach((element) => {
|
|
14
|
+
driveList.push('/dev/' + element);
|
|
15
|
+
});
|
|
16
|
+
const questions = [
|
|
17
|
+
// nvme0n1p1, nvme0n1p2, nvme0n1p3
|
|
18
|
+
{
|
|
19
|
+
choices: driveList,
|
|
20
|
+
message: 'Select the installation disk: ',
|
|
21
|
+
name: 'installationDevice',
|
|
22
|
+
type: 'list'
|
|
23
|
+
}
|
|
24
|
+
];
|
|
25
|
+
return new Promise((resolve) => {
|
|
26
|
+
inquirer.prompt(questions).then((options) => {
|
|
27
|
+
resolve(options.installationDevice);
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/lib/select_installation_mode.ts
|
|
3
|
+
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
+
* author: Piero Proietti
|
|
5
|
+
* email: piero.proietti@gmail.com
|
|
6
|
+
* license: MIT
|
|
7
|
+
*/
|
|
8
|
+
import inquirer from 'inquirer';
|
|
9
|
+
export default async function selectInstallationMode() {
|
|
10
|
+
const modes = ['standard', 'full-encrypted', 'lvm2'];
|
|
11
|
+
const questions = [
|
|
12
|
+
{
|
|
13
|
+
choices: modes,
|
|
14
|
+
message: 'Select the installation mode: ',
|
|
15
|
+
name: 'installationMode',
|
|
16
|
+
type: 'list'
|
|
17
|
+
}
|
|
18
|
+
];
|
|
19
|
+
return new Promise((resolve) => {
|
|
20
|
+
inquirer.prompt(questions).then((options) => {
|
|
21
|
+
resolve(options.installationMode);
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/lib/select_interface.ts
|
|
3
|
+
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
+
* author: Piero Proietti
|
|
5
|
+
* email: piero.proietti@gmail.com
|
|
6
|
+
* license: MIT
|
|
7
|
+
*/
|
|
8
|
+
export default function selectInterface(iface: string | undefined, ifaces: string[]): Promise<string>;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/lib/select_interface.ts
|
|
3
|
+
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
+
* author: Piero Proietti
|
|
5
|
+
* email: piero.proietti@gmail.com
|
|
6
|
+
* license: MIT
|
|
7
|
+
*/
|
|
8
|
+
import inquirer from 'inquirer';
|
|
9
|
+
export default async function selectInterface(iface = 'eth0', ifaces) {
|
|
10
|
+
const questions = [
|
|
11
|
+
{
|
|
12
|
+
choices: ifaces,
|
|
13
|
+
default: iface,
|
|
14
|
+
message: 'Select interface: ',
|
|
15
|
+
name: 'option',
|
|
16
|
+
type: 'list'
|
|
17
|
+
}
|
|
18
|
+
];
|
|
19
|
+
return new Promise((resolve) => {
|
|
20
|
+
inquirer.prompt(questions).then((options) => {
|
|
21
|
+
resolve(options.option);
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/lib/select_keyboard_layout.ts
|
|
3
|
+
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
+
* author: Piero Proietti
|
|
5
|
+
* email: piero.proietti@gmail.com
|
|
6
|
+
* license: MIT
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
*
|
|
10
|
+
*/
|
|
11
|
+
export default function selectKeyboardLayout(selected?: string): Promise<string>;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/lib/select_keyboard_layout.ts
|
|
3
|
+
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
+
* author: Piero Proietti
|
|
5
|
+
* email: piero.proietti@gmail.com
|
|
6
|
+
* license: MIT
|
|
7
|
+
*/
|
|
8
|
+
import inquirer from 'inquirer';
|
|
9
|
+
import Keyboards from '../classes/keyboards.js';
|
|
10
|
+
/**
|
|
11
|
+
*
|
|
12
|
+
*/
|
|
13
|
+
export default async function selectKeyboardLayout(selected = '') {
|
|
14
|
+
const keyboards = new Keyboards();
|
|
15
|
+
const layouts = keyboards.getLayouts();
|
|
16
|
+
const supported = [];
|
|
17
|
+
for (const l of layouts) {
|
|
18
|
+
supported.push(l.code);
|
|
19
|
+
}
|
|
20
|
+
// sord keyboard layouts
|
|
21
|
+
supported.sort();
|
|
22
|
+
const questions = [
|
|
23
|
+
{
|
|
24
|
+
choices: supported,
|
|
25
|
+
default: selected,
|
|
26
|
+
message: 'Select layout: ',
|
|
27
|
+
name: 'layout',
|
|
28
|
+
type: 'list'
|
|
29
|
+
}
|
|
30
|
+
];
|
|
31
|
+
return new Promise((resolve) => {
|
|
32
|
+
inquirer.prompt(questions).then((options) => {
|
|
33
|
+
resolve(options.layout);
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/lib/select_keyboard_model.ts
|
|
3
|
+
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
+
* author: Piero Proietti
|
|
5
|
+
* email: piero.proietti@gmail.com
|
|
6
|
+
* license: MIT
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
*
|
|
10
|
+
*/
|
|
11
|
+
export default function selectKeyboardModel(selected?: string): Promise<string>;
|