penguins-eggs 9.6.34 → 10.0.0
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 +1458 -1
- package/README.md +823 -8
- package/addons/eggs/theme/livecd/grub.main.cfg +4 -4
- package/addons/eggs/theme/livecd/isolinux.main.cfg +5 -5
- package/bin/dev.cmd +1 -1
- package/bin/dev.js +6 -0
- package/bin/run.js +5 -0
- package/conf/derivatives.yaml +2 -0
- package/conf/distros/buster/calamares/calamares-modules/bootloader-config/bootloader-config.sh +3 -3
- package/conf/distros/buster/calamares/calamares-modules/sources-yolk/sources-yolk.sh +1 -1
- package/conf/distros/buster/calamares/modules/fstab.yml +1 -1
- package/conf/distros/focal/calamares/modules/fstab.yml +1 -1
- package/conf/{exclude.list.homes → exclude.list.d/home.list} +6 -1
- package/conf/{exclude.list.template → exclude.list.d/master.list} +15 -24
- package/conf/exclude.list.d/var.list +21 -0
- package/conf/tools.yaml +1 -3
- package/dist/classes/bleach.d.ts +37 -0
- package/dist/classes/bleach.js +43 -91
- package/dist/classes/cfs.d.ts +17 -0
- package/dist/classes/cfs.js +15 -12
- package/dist/classes/compressors.d.ts +53 -0
- package/dist/classes/compressors.js +51 -58
- package/dist/classes/daddy.d.ts +18 -0
- package/dist/classes/daddy.js +93 -101
- package/dist/classes/distro.d.ts +26 -0
- package/dist/classes/distro.js +45 -27
- package/dist/classes/families/archlinux.d.ts +61 -0
- package/dist/classes/families/archlinux.js +56 -113
- package/dist/classes/families/debian.d.ts +65 -0
- package/dist/classes/families/debian.js +68 -143
- package/dist/classes/families/fedora.d.ts +52 -0
- package/dist/classes/families/fedora.js +43 -99
- package/dist/classes/families/mockup.d.ts +60 -0
- package/dist/classes/families/mockup.js +27 -46
- package/dist/classes/families/suse.d.ts +52 -0
- package/dist/classes/families/suse.js +45 -97
- package/dist/classes/incubation/branding.d.ts +17 -0
- package/dist/classes/incubation/branding.js +33 -32
- package/dist/classes/incubation/distros/bionic.d.ts +32 -0
- package/dist/classes/incubation/distros/bionic.js +15 -15
- package/dist/classes/incubation/distros/buster.d.ts +32 -0
- package/dist/classes/incubation/distros/buster.js +15 -15
- package/dist/classes/incubation/distros/focal.d.ts +32 -0
- package/dist/classes/incubation/distros/focal.js +15 -15
- package/dist/classes/incubation/distros/jessie.d.ts +31 -0
- package/dist/classes/incubation/distros/jessie.js +11 -13
- package/dist/classes/incubation/distros/rolling.d.ts +32 -0
- package/dist/classes/incubation/distros/rolling.js +15 -16
- package/dist/classes/incubation/fisherman-helper/displaymanager.d.ts +11 -0
- package/dist/classes/incubation/fisherman-helper/displaymanager.js +8 -9
- package/dist/classes/incubation/fisherman-helper/packages.d.ts +20 -0
- package/dist/classes/incubation/fisherman-helper/packages.js +17 -17
- package/dist/classes/incubation/fisherman-helper/settings.d.ts +15 -0
- package/dist/classes/incubation/fisherman-helper/settings.js +30 -28
- package/dist/classes/incubation/fisherman.d.ts +77 -0
- package/dist/classes/incubation/fisherman.js +137 -132
- package/dist/classes/incubation/incubator.d.ts +40 -0
- package/dist/classes/incubation/incubator.js +93 -87
- package/dist/classes/incubation/installer.d.ts +13 -0
- package/dist/classes/incubation/installer.js +27 -12
- package/dist/classes/initrd.d.ts +41 -0
- package/dist/classes/initrd.js +42 -44
- package/dist/classes/keyboards.d.ts +50 -0
- package/dist/classes/keyboards.js +110 -107
- package/dist/classes/locales.d.ts +21 -0
- package/dist/classes/locales.js +30 -34
- package/dist/classes/n8.d.ts +17 -0
- package/dist/classes/n8.js +16 -22
- package/dist/classes/network.d.ts +37 -0
- package/dist/classes/network.js +21 -25
- package/dist/classes/ovary.d.ts +205 -0
- package/dist/classes/ovary.js +1262 -1334
- package/dist/classes/pacman.d.ts +149 -0
- package/dist/classes/pacman.js +347 -426
- package/dist/classes/pve-live.d.ts +17 -0
- package/dist/classes/pve-live.js +23 -25
- package/dist/classes/pxe.d.ts +65 -0
- package/dist/classes/pxe.js +206 -210
- package/dist/classes/settings.d.ts +53 -0
- package/dist/classes/settings.js +99 -102
- package/dist/classes/sources_list.d.ts +28 -0
- package/dist/classes/sources_list.js +35 -39
- package/dist/classes/systemctl.d.ts +47 -0
- package/dist/classes/systemctl.js +35 -39
- package/dist/classes/tailor.d.ts +46 -0
- package/dist/classes/tailor.js +225 -241
- package/dist/classes/tools.d.ts +30 -0
- package/dist/classes/tools.js +20 -26
- package/dist/classes/users.d.ts +28 -0
- package/dist/classes/users.js +22 -16
- package/dist/classes/utils.d.ts +318 -0
- package/dist/classes/utils.js +91 -76
- package/dist/classes/xdg.d.ts +45 -0
- package/dist/classes/xdg.js +129 -133
- package/dist/classes/yolk.d.ts +33 -0
- package/dist/classes/yolk.js +54 -60
- package/dist/commands/adapt.d.ts +17 -0
- package/dist/commands/adapt.js +21 -25
- package/dist/commands/analyze.d.ts +26 -0
- package/dist/commands/analyze.js +60 -74
- package/dist/commands/calamares.d.ts +29 -0
- package/dist/commands/calamares.js +53 -60
- package/dist/commands/config.d.ts +36 -0
- package/dist/commands/config.js +120 -142
- package/dist/commands/cuckoo.d.ts +16 -0
- package/dist/commands/cuckoo.js +24 -28
- package/dist/commands/dad.d.ts +19 -0
- package/dist/commands/dad.js +26 -30
- package/dist/commands/export/deb.d.ts +19 -0
- package/dist/commands/export/deb.js +33 -42
- package/dist/commands/export/iso.d.ts +19 -0
- package/dist/commands/export/iso.js +24 -28
- package/dist/commands/install.d.ts +37 -0
- package/dist/commands/install.js +68 -68
- package/dist/commands/kill.d.ts +24 -0
- package/dist/commands/kill.js +31 -38
- package/dist/commands/mom.d.ts +16 -0
- package/dist/commands/mom.js +20 -22
- package/dist/commands/produce.d.ts +33 -0
- package/dist/commands/produce.js +100 -92
- package/dist/commands/status.d.ts +23 -0
- package/dist/commands/status.js +14 -20
- package/dist/commands/syncfrom.d.ts +45 -0
- package/dist/commands/syncfrom.js +99 -109
- package/dist/commands/syncto.d.ts +40 -0
- package/dist/commands/syncto.js +152 -216
- package/dist/commands/tools/clean.d.ts +18 -0
- package/dist/commands/tools/clean.js +21 -25
- package/dist/commands/tools/ppa.d.ts +26 -0
- package/dist/commands/tools/ppa.js +46 -50
- package/dist/commands/tools/skel.d.ts +18 -0
- package/dist/commands/tools/skel.js +27 -31
- package/dist/commands/tools/stat.d.ts +31 -0
- package/dist/commands/tools/stat.js +21 -25
- package/dist/commands/tools/yolk.d.ts +24 -0
- package/dist/commands/tools/yolk.js +23 -27
- package/dist/commands/update.d.ts +47 -0
- package/dist/commands/update.js +66 -70
- package/dist/commands/wardrobe/get.d.ts +23 -0
- package/dist/commands/wardrobe/get.js +26 -28
- package/dist/commands/wardrobe/list.d.ts +24 -0
- package/dist/commands/wardrobe/list.js +69 -67
- package/dist/commands/wardrobe/show.d.ts +25 -0
- package/dist/commands/wardrobe/show.js +57 -52
- package/dist/commands/wardrobe/wear.d.ts +26 -0
- package/dist/commands/wardrobe/wear.js +39 -41
- package/dist/components/finished.d.ts +15 -0
- package/dist/components/finished.js +37 -42
- package/dist/components/information.d.ts +8 -0
- package/dist/components/information.js +155 -0
- package/dist/components/install.d.ts +15 -0
- package/dist/components/install.js +31 -35
- package/dist/components/keyboard.d.ts +16 -0
- package/dist/components/keyboard.js +37 -40
- package/dist/components/location.d.ts +16 -0
- package/dist/components/location.js +38 -38
- package/dist/components/network.d.ts +19 -0
- package/dist/components/network.js +47 -48
- package/dist/components/partitions.d.ts +16 -0
- package/dist/components/partitions.js +47 -51
- 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 +53 -54
- package/dist/components/title.d.ts +12 -0
- package/dist/components/title.js +35 -0
- package/dist/components/users.d.ts +24 -0
- package/dist/components/users.js +43 -43
- package/dist/components/welcome.d.ts +13 -0
- package/dist/components/welcome.js +37 -38
- package/dist/index.d.ts +8 -0
- package/dist/index.js +8 -5
- package/dist/interfaces/i-addons.d.ts +13 -0
- package/dist/interfaces/i-addons.js +8 -3
- package/dist/interfaces/i-analyze.d.ts +17 -0
- package/dist/interfaces/i-analyze.js +11 -16
- package/dist/interfaces/i-app.d.ts +14 -0
- package/dist/interfaces/i-app.js +8 -2
- package/dist/interfaces/i-branding.d.ts +36 -0
- package/dist/interfaces/i-branding.js +8 -2
- package/dist/interfaces/i-calamares-partition.d.ts +18 -0
- package/dist/interfaces/i-calamares-partition.js +3 -4
- package/dist/interfaces/i-config-tools.d.ts +18 -0
- package/dist/interfaces/i-config-tools.js +8 -2
- package/dist/interfaces/i-devices.d.ts +20 -0
- package/dist/interfaces/i-devices.js +8 -2
- package/dist/interfaces/i-distro.d.ts +27 -0
- package/dist/interfaces/i-distro.js +3 -4
- package/dist/interfaces/i-drive-list.d.ts +33 -0
- package/dist/interfaces/i-drive-list.js +3 -4
- package/dist/interfaces/i-eggs-config.d.ts +32 -0
- package/dist/interfaces/i-eggs-config.js +3 -4
- 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 +3 -4
- package/dist/interfaces/i-initrd.d.ts +13 -0
- package/dist/interfaces/i-initrd.js +8 -2
- package/dist/interfaces/i-install.d.ts +16 -0
- package/dist/interfaces/i-install.js +8 -2
- package/dist/interfaces/i-installer.d.ts +17 -0
- package/dist/interfaces/i-installer.js +8 -2
- package/dist/interfaces/i-krill-config.d.ts +33 -0
- package/dist/interfaces/i-krill-config.js +3 -4
- package/dist/interfaces/i-krill.d.ts +42 -0
- package/dist/interfaces/i-krill.js +8 -2
- package/dist/interfaces/i-materia.d.ts +41 -0
- package/dist/interfaces/i-materia.js +8 -2
- package/dist/interfaces/i-net.d.ts +16 -0
- package/dist/interfaces/i-net.js +8 -2
- package/dist/interfaces/i-packages.d.ts +29 -0
- package/dist/interfaces/i-packages.js +3 -4
- package/dist/interfaces/i-partitions.d.ts +16 -0
- package/dist/interfaces/i-partitions.js +8 -2
- package/dist/interfaces/i-pxe.d.ts +21 -0
- package/dist/interfaces/i-pxe.js +8 -39
- package/dist/interfaces/i-remix.d.ts +21 -0
- package/dist/interfaces/i-remix.js +3 -4
- package/dist/interfaces/i-settings.d.ts +39 -0
- package/dist/interfaces/i-settings.js +8 -2
- package/dist/interfaces/i-user.d.ts +14 -0
- package/dist/interfaces/i-user.js +8 -2
- package/dist/interfaces/i-workdir.d.ts +14 -0
- package/dist/interfaces/i-workdir.js +8 -2
- package/dist/interfaces/i-xkb-model.d.ts +24 -0
- package/dist/interfaces/i-xkb-model.js +8 -2
- package/dist/interfaces/index.d.ts +25 -0
- package/dist/interfaces/index.js +3 -4
- package/dist/krill/modules/add-user.d.ts +20 -0
- package/dist/krill/modules/add-user.js +11 -15
- package/dist/krill/modules/bootloader-config-arch.d.ts +14 -0
- package/dist/krill/modules/bootloader-config-arch.js +15 -11
- package/dist/krill/modules/bootloader-config-debian.d.ts +10 -0
- package/dist/krill/modules/bootloader-config-debian.js +20 -16
- package/dist/krill/modules/bootloader-config.d.ts +10 -0
- package/dist/krill/modules/bootloader-config.js +3 -6
- package/dist/krill/modules/bootloader.d.ts +14 -0
- package/dist/krill/modules/bootloader.js +9 -13
- package/dist/krill/modules/change-password.d.ts +15 -0
- package/dist/krill/modules/change-password.js +5 -8
- package/dist/krill/modules/del-live-user.d.ts +14 -0
- package/dist/krill/modules/del-live-user.js +8 -12
- package/dist/krill/modules/fstab.d.ts +14 -0
- package/dist/krill/modules/fstab.js +69 -46
- package/dist/krill/modules/grubcfg.d.ts +17 -0
- package/dist/krill/modules/grubcfg.js +8 -17
- package/dist/krill/modules/hostname.d.ts +13 -0
- package/dist/krill/modules/hostname.js +11 -17
- package/dist/krill/modules/initramfs-cfg.d.ts +14 -0
- package/dist/krill/modules/initramfs-cfg.js +6 -15
- package/dist/krill/modules/initramfs.d.ts +13 -0
- package/dist/krill/modules/initramfs.js +17 -19
- package/dist/krill/modules/locale-cfg.d.ts +10 -0
- package/dist/krill/modules/locale-cfg.js +8 -12
- package/dist/krill/modules/locale.d.ts +13 -0
- package/dist/krill/modules/locale.js +7 -11
- package/dist/krill/modules/m-keyboard.d.ts +14 -0
- package/dist/krill/modules/m-keyboard.js +14 -18
- package/dist/krill/modules/m-timezone.d.ts +14 -0
- package/dist/krill/modules/m-timezone.js +8 -12
- package/dist/krill/modules/machine-id.d.ts +15 -0
- package/dist/krill/modules/machine-id.js +6 -10
- package/dist/krill/modules/mkfs.d.ts +13 -0
- package/dist/krill/modules/mkfs.js +33 -23
- package/dist/krill/modules/mount-fs.d.ts +17 -0
- package/dist/krill/modules/mount-fs.js +20 -26
- package/dist/krill/modules/mount-vfs.d.ts +17 -0
- package/dist/krill/modules/mount-vfs.js +16 -21
- package/dist/krill/modules/network-cfg.d.ts +19 -0
- package/dist/krill/modules/network-cfg.js +28 -31
- package/dist/krill/modules/packages.d.ts +14 -0
- package/dist/krill/modules/packages.js +17 -21
- package/dist/krill/modules/partition.d.ts +20 -0
- package/dist/krill/modules/partition.js +80 -86
- package/dist/krill/modules/remove-installer-link.d.ts +13 -0
- package/dist/krill/modules/remove-installer-link.js +7 -11
- package/dist/krill/modules/umount.d.ts +14 -0
- package/dist/krill/modules/umount.js +9 -13
- package/dist/krill/modules/unpackfs.d.ts +13 -0
- package/dist/krill/modules/unpackfs.js +7 -11
- package/dist/krill/prepare.d.ts +77 -0
- package/dist/krill/{krill-prepare.js → prepare.js} +136 -130
- package/dist/krill/sequence.d.ts +156 -0
- package/dist/krill/sequence.js +640 -0
- package/dist/lib/cli-autologin.d.ts +43 -0
- package/dist/lib/cli-autologin.js +88 -92
- package/dist/lib/get_address.d.ts +8 -0
- package/dist/lib/get_address.js +9 -11
- package/dist/lib/get_dns.d.ts +8 -0
- package/dist/lib/get_dns.js +9 -11
- package/dist/lib/get_domain.d.ts +8 -0
- package/dist/lib/get_domain.js +9 -11
- package/dist/lib/get_gateway.d.ts +8 -0
- package/dist/lib/get_gateway.js +9 -11
- package/dist/lib/get_hostname.d.ts +8 -0
- package/dist/lib/get_hostname.js +9 -11
- package/dist/lib/get_netmask.d.ts +8 -0
- package/dist/lib/get_netmask.js +9 -11
- package/dist/lib/get_password.d.ts +8 -0
- package/dist/lib/get_password.js +10 -13
- package/dist/lib/get_userfullname.d.ts +8 -0
- package/dist/lib/get_userfullname.js +9 -11
- package/dist/lib/get_username.d.ts +8 -0
- package/dist/lib/get_username.js +9 -12
- package/dist/lib/kill_me_softly.d.ts +11 -0
- package/dist/lib/kill_me_softly.js +19 -24
- package/dist/lib/select_address_type.d.ts +8 -0
- package/dist/lib/select_address_type.js +9 -12
- package/dist/lib/select_filesystem_type.d.ts +8 -0
- package/dist/lib/select_filesystem_type.js +19 -17
- package/dist/lib/select_installation_device.d.ts +8 -0
- package/dist/lib/select_installation_device.js +11 -15
- package/dist/lib/select_installation_mode.d.ts +8 -0
- package/dist/lib/select_installation_mode.js +9 -11
- package/dist/lib/select_interface.d.ts +8 -0
- package/dist/lib/select_interface.js +9 -12
- package/dist/lib/select_keyboard_layout.d.ts +11 -0
- package/dist/lib/select_keyboard_layout.js +11 -15
- package/dist/lib/select_keyboard_model.d.ts +11 -0
- package/dist/lib/select_keyboard_model.js +11 -15
- package/dist/lib/select_keyboard_option.d.ts +11 -0
- package/dist/lib/select_keyboard_option.js +11 -15
- package/dist/lib/select_keyboard_variant.d.ts +11 -0
- package/dist/lib/select_keyboard_variant.js +11 -15
- package/dist/lib/select_languages.d.ts +8 -0
- package/dist/lib/select_languages.js +11 -15
- package/dist/lib/select_regions.d.ts +8 -0
- package/dist/lib/select_regions.js +9 -11
- package/dist/lib/select_user_swap_choice.d.ts +8 -0
- package/dist/lib/select_user_swap_choice.js +13 -17
- package/dist/lib/select_zones.d.ts +8 -0
- package/dist/lib/select_zones.js +9 -11
- package/dist/lib/utils.d.ts +34 -0
- package/dist/lib/utils.js +24 -14
- package/manpages/doc/man/eggs.1.gz +0 -0
- package/manpages/doc/man/eggs.html +130 -76
- package/package.json +55 -74
- package/scripts/_eggs +9 -7
- package/scripts/eggs.bash +4 -4
- package/LICENSE +0 -339
- package/bin/dev +0 -17
- package/bin/run +0 -5
- package/conf/exclude.list.custom +0 -3
- package/dist/components/elements/information.js +0 -194
- package/dist/components/elements/steps.js +0 -152
- package/dist/components/elements/title.js +0 -36
- package/dist/interfaces/i-filters.js +0 -3
- package/dist/krill/krill-sequence.js +0 -645
- package/dist/lib/dependencies.js +0 -120
- package/manpages/doc/man/README.md +0 -0
- /package/conf/{exclude.list.usr → exclude.list.d/usr.list} +0 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/commands/adapt.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 { Command } from '@oclif/core';
|
|
9
|
+
export default class Adapt extends Command {
|
|
10
|
+
static description: string;
|
|
11
|
+
static examples: string[];
|
|
12
|
+
static flags: {
|
|
13
|
+
help: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<void>;
|
|
14
|
+
verbose: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
15
|
+
};
|
|
16
|
+
run(): Promise<void>;
|
|
17
|
+
}
|
package/dist/commands/adapt.js
CHANGED
|
@@ -1,39 +1,35 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
1
|
/**
|
|
5
|
-
*
|
|
6
|
-
*
|
|
2
|
+
* ./src/commands/adapt.ts
|
|
3
|
+
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
7
4
|
* author: Piero Proietti
|
|
8
5
|
* email: piero.proietti@gmail.com
|
|
9
6
|
* license: MIT
|
|
10
7
|
*/
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
class Adapt extends
|
|
8
|
+
import { Command, Flags } from '@oclif/core';
|
|
9
|
+
import Utils from '../classes/utils.js';
|
|
10
|
+
import { exec } from '../lib/utils.js';
|
|
11
|
+
export default class Adapt extends Command {
|
|
12
|
+
static description = 'adapt monitor resolution for VM only';
|
|
13
|
+
static examples = [
|
|
14
|
+
'eggs adapt',
|
|
15
|
+
];
|
|
16
|
+
static flags = {
|
|
17
|
+
help: Flags.help({ char: 'h' }),
|
|
18
|
+
verbose: Flags.boolean({ char: 'v' }),
|
|
19
|
+
};
|
|
15
20
|
async run() {
|
|
16
21
|
const { args, flags } = await this.parse(Adapt);
|
|
17
22
|
let verbose = false;
|
|
18
23
|
if (flags.verbose) {
|
|
19
24
|
verbose = true;
|
|
20
25
|
}
|
|
21
|
-
const echo =
|
|
26
|
+
const echo = Utils.setEcho(verbose);
|
|
22
27
|
// const {args, flags} = this.parse(Adjust)
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
await
|
|
26
|
-
await
|
|
27
|
-
await
|
|
28
|
-
await
|
|
28
|
+
Utils.titles(this.id + ' ' + this.argv);
|
|
29
|
+
Utils.warning('Adapt monitor resolutions to the size of window in virtual machines');
|
|
30
|
+
await exec('xrandr --output Virtual-0 --auto', echo);
|
|
31
|
+
await exec('xrandr --output Virtual-1 --auto', echo);
|
|
32
|
+
await exec('xrandr --output Virtual-2 --auto', echo);
|
|
33
|
+
await exec('xrandr --output Virtual-3 --auto', echo);
|
|
29
34
|
}
|
|
30
35
|
}
|
|
31
|
-
Adapt.flags = {
|
|
32
|
-
help: core_1.Flags.help({ char: 'h' }),
|
|
33
|
-
verbose: core_1.Flags.boolean({ char: 'v' }),
|
|
34
|
-
};
|
|
35
|
-
Adapt.description = 'adapt monitor resolution for VM only';
|
|
36
|
-
Adapt.examples = [
|
|
37
|
-
'eggs adapt',
|
|
38
|
-
];
|
|
39
|
-
exports.default = Adapt;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/commands/analyze.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 { Command } from '@oclif/core';
|
|
9
|
+
import Users from '../classes/users.js';
|
|
10
|
+
import { IWorkDir } from '../interfaces/i-workdir.js';
|
|
11
|
+
export default class Analyze extends Command {
|
|
12
|
+
static description: string;
|
|
13
|
+
static examples: string[];
|
|
14
|
+
static flags: {
|
|
15
|
+
help: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<void>;
|
|
16
|
+
verbose: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
17
|
+
};
|
|
18
|
+
config_file: string;
|
|
19
|
+
snapshot_dir: string;
|
|
20
|
+
work_dir: IWorkDir;
|
|
21
|
+
/**
|
|
22
|
+
* fill
|
|
23
|
+
*/
|
|
24
|
+
fill(): Promise<Users[]>;
|
|
25
|
+
run(): Promise<void>;
|
|
26
|
+
}
|
package/dist/commands/analyze.js
CHANGED
|
@@ -1,45 +1,68 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
1
|
/**
|
|
5
|
-
*
|
|
6
|
-
*
|
|
2
|
+
* ./src/commands/analyze.ts
|
|
3
|
+
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
7
4
|
* author: Piero Proietti
|
|
8
5
|
* email: piero.proietti@gmail.com
|
|
9
6
|
* license: MIT
|
|
10
7
|
*/
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
8
|
+
import { Command, Flags } from '@oclif/core';
|
|
9
|
+
import fs, { constants } from 'node:fs';
|
|
10
|
+
import { access } from 'node:fs/promises';
|
|
11
|
+
import si from 'systeminformation';
|
|
12
|
+
import Users from '../classes/users.js';
|
|
13
|
+
import Utils from '../classes/utils.js';
|
|
14
|
+
export default class Analyze extends Command {
|
|
15
|
+
static description = 'analyze for syncto';
|
|
16
|
+
static examples = ['sudo eggs analyze'];
|
|
17
|
+
static flags = {
|
|
18
|
+
help: Flags.help({ char: 'h' }),
|
|
19
|
+
verbose: Flags.boolean({ char: 'v', description: 'verbose' }),
|
|
20
|
+
};
|
|
21
|
+
config_file = '/etc/penguins-eggs.d/eggs.yaml';
|
|
22
|
+
snapshot_dir = '';
|
|
23
|
+
work_dir = {};
|
|
24
|
+
/**
|
|
25
|
+
* fill
|
|
26
|
+
*/
|
|
27
|
+
async fill() {
|
|
28
|
+
try {
|
|
29
|
+
const usersArray = [];
|
|
30
|
+
await access('/etc/passwd', constants.R_OK | constants.W_OK);
|
|
31
|
+
const passwd = fs.readFileSync('/etc/passwd', 'utf8').split('\n');
|
|
32
|
+
for (const element of passwd) {
|
|
33
|
+
const line = element.split(':');
|
|
34
|
+
const users = new Users(line[0], line[1], line[2], line[3], line[4], line[5], line[6]);
|
|
35
|
+
await users.getValues();
|
|
36
|
+
if (users.password !== undefined) {
|
|
37
|
+
usersArray.push(users);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return usersArray;
|
|
41
|
+
}
|
|
42
|
+
catch {
|
|
43
|
+
console.error("can't read /etc/passwd");
|
|
44
|
+
process.exit(1);
|
|
45
|
+
}
|
|
24
46
|
}
|
|
25
47
|
async run() {
|
|
26
|
-
|
|
48
|
+
Utils.titles(this.id + ' ' + this.argv);
|
|
27
49
|
const { flags } = await this.parse(Analyze);
|
|
28
50
|
let verbose = false;
|
|
29
51
|
if (flags.verbose) {
|
|
30
52
|
verbose = true;
|
|
31
53
|
}
|
|
32
|
-
|
|
54
|
+
Utils.warning('eggs will analyze your system, and get users data');
|
|
55
|
+
const echo = Utils.setEcho(verbose);
|
|
33
56
|
let totalSize = 0;
|
|
34
|
-
if (
|
|
35
|
-
const audio = await
|
|
36
|
-
const bios = await
|
|
37
|
-
const blockDevices = await
|
|
38
|
-
const chassis = await
|
|
39
|
-
const cpu = await
|
|
40
|
-
const diskLayout = await
|
|
41
|
-
const mem = await
|
|
42
|
-
const usb = await
|
|
57
|
+
if (Utils.isRoot(this.id)) {
|
|
58
|
+
const audio = await si.audio();
|
|
59
|
+
const bios = await si.bios();
|
|
60
|
+
const blockDevices = await si.blockDevices();
|
|
61
|
+
const chassis = await si.chassis();
|
|
62
|
+
const cpu = await si.cpu();
|
|
63
|
+
const diskLayout = await si.diskLayout();
|
|
64
|
+
const mem = await si.mem();
|
|
65
|
+
const usb = await si.usb();
|
|
43
66
|
console.log(`chassis: ${chassis.manufacturer} model: ${chassis.manufacturer}`);
|
|
44
67
|
console.log(`bios vendor: ${bios.vendor} version: ${bios.version} revision: ${bios.revision}`);
|
|
45
68
|
console.log(`processor: ${cpu.brand} core: ${cpu.cores} `);
|
|
@@ -52,58 +75,21 @@ class Analyze extends core_1.Command {
|
|
|
52
75
|
if (diskLayout[2] !== undefined) {
|
|
53
76
|
console.log(`disk1: ${diskLayout[2].device}`);
|
|
54
77
|
}
|
|
55
|
-
console.log(`name: ${blockDevices[0].name} fs: ${blockDevices[0].fsType}`)
|
|
56
|
-
console.log(`name: ${blockDevices[1].name} fs: ${blockDevices[1].fsType}`)
|
|
57
|
-
console.log(`name: ${blockDevices[2].name} fs: ${blockDevices[2].fsType}`)
|
|
58
|
-
console.log(`name: ${blockDevices[3].name} fs: ${blockDevices[3].fsType}`)
|
|
59
|
-
console.log(`usb: ${usb[0].name}`)
|
|
60
|
-
/**
|
|
61
|
-
* Windows: "/Documents and Settings", "/Programs", "/AppData"
|
|
62
|
-
* MacOS: "/Users"
|
|
63
|
-
* Linux: "/home"
|
|
64
|
-
*/
|
|
65
|
-
utils_1.default.warning('eggs will analyze your system, to get users and servers data');
|
|
78
|
+
// console.log(`name: ${blockDevices[0].name} fs: ${blockDevices[0].fsType}`)
|
|
79
|
+
// console.log(`name: ${blockDevices[1].name} fs: ${blockDevices[1].fsType}`)
|
|
80
|
+
// console.log(`name: ${blockDevices[2].name} fs: ${blockDevices[2].fsType}`)
|
|
81
|
+
// console.log(`name: ${blockDevices[3].name} fs: ${blockDevices[3].fsType}`)
|
|
82
|
+
// console.log(`usb: ${usb[0].name}`)
|
|
66
83
|
const users = await this.fill();
|
|
67
84
|
for (let i = 0; i < users.length; i++)
|
|
68
85
|
if (users[i].saveIt) {
|
|
69
|
-
console.log(`user: ${users[i].login} \thome: ${users[i].home.padEnd(16)} \tsize: ${
|
|
70
|
-
// console.log(`user: ${users[i].login} \thome: ${users[i].home} \tsize: ${users[i].size}`)
|
|
86
|
+
console.log(`user: ${users[i].login} \thome: ${users[i].home.padEnd(16)} \tsize: ${Utils.formatBytes(users[i].size)} \tBytes: ${users[i].size} `);
|
|
71
87
|
totalSize += users[i].size;
|
|
72
88
|
}
|
|
73
|
-
console.log(`Total\t\t\t\t\tSize: ${
|
|
89
|
+
console.log(`Total\t\t\t\t\tSize: ${Utils.formatBytes(totalSize)} \tBytes: ${totalSize}`);
|
|
74
90
|
}
|
|
75
91
|
else {
|
|
76
|
-
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* fill
|
|
81
|
-
*/
|
|
82
|
-
async fill() {
|
|
83
|
-
try {
|
|
84
|
-
const usersArray = [];
|
|
85
|
-
await (0, promises_1.access)('/etc/passwd', fs_2.constants.R_OK | fs_2.constants.W_OK);
|
|
86
|
-
const passwd = fs_1.default.readFileSync('/etc/passwd', 'utf-8').split('\n');
|
|
87
|
-
for (const element of passwd) {
|
|
88
|
-
const line = element.split(':');
|
|
89
|
-
const users = new users_1.default(line[0], line[1], line[2], line[3], line[4], line[5], line[6]);
|
|
90
|
-
await users.getValues();
|
|
91
|
-
if (users.password !== undefined) {
|
|
92
|
-
usersArray.push(users);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
return usersArray;
|
|
96
|
-
}
|
|
97
|
-
catch {
|
|
98
|
-
console.error("can't read /etc/passwd");
|
|
99
|
-
process.exit(1);
|
|
92
|
+
Utils.useRoot(this.id);
|
|
100
93
|
}
|
|
101
94
|
}
|
|
102
95
|
}
|
|
103
|
-
Analyze.flags = {
|
|
104
|
-
help: core_1.Flags.help({ char: 'h' }),
|
|
105
|
-
verbose: core_1.Flags.boolean({ char: 'v', description: 'verbose' }),
|
|
106
|
-
};
|
|
107
|
-
Analyze.description = 'analyze for syncto';
|
|
108
|
-
Analyze.examples = ['sudo eggs analyze'];
|
|
109
|
-
exports.default = Analyze;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/commands/calamares.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 { Command } from '@oclif/core';
|
|
9
|
+
import Incubator from '../classes/incubation/incubator.js';
|
|
10
|
+
import Settings from '../classes/settings.js';
|
|
11
|
+
import { IRemix } from '../interfaces/index.js';
|
|
12
|
+
export default class Calamares extends Command {
|
|
13
|
+
static description: string;
|
|
14
|
+
static examples: string[];
|
|
15
|
+
static flags: {
|
|
16
|
+
help: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<void>;
|
|
17
|
+
install: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
18
|
+
nointeractive: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
19
|
+
policies: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
20
|
+
release: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
21
|
+
remove: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
22
|
+
theme: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
23
|
+
verbose: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
24
|
+
};
|
|
25
|
+
incubator: Incubator;
|
|
26
|
+
remix: IRemix;
|
|
27
|
+
settings: Settings;
|
|
28
|
+
run(): Promise<void>;
|
|
29
|
+
}
|
|
@@ -1,66 +1,77 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
1
|
/**
|
|
5
|
-
*
|
|
6
|
-
*
|
|
2
|
+
* ./src/commands/calamares.ts
|
|
3
|
+
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
7
4
|
* author: Piero Proietti
|
|
8
5
|
* email: piero.proietti@gmail.com
|
|
9
6
|
* license: MIT
|
|
10
7
|
*/
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
class Calamares extends
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
8
|
+
import { Command, Flags } from '@oclif/core';
|
|
9
|
+
import fs from 'node:fs';
|
|
10
|
+
import path from 'node:path';
|
|
11
|
+
import Incubator from '../classes/incubation/incubator.js';
|
|
12
|
+
import Pacman from '../classes/pacman.js';
|
|
13
|
+
import Settings from '../classes/settings.js';
|
|
14
|
+
import Utils from '../classes/utils.js';
|
|
15
|
+
export default class Calamares extends Command {
|
|
16
|
+
static description = 'configure calamares or install or configure it';
|
|
17
|
+
static examples = [
|
|
18
|
+
'sudo eggs calamares',
|
|
19
|
+
'sudo eggs calamares --install',
|
|
20
|
+
'sudo eggs calamares --install --theme=/path/to/theme',
|
|
21
|
+
'sudo eggs calamares --remove',
|
|
22
|
+
];
|
|
23
|
+
static flags = {
|
|
24
|
+
help: Flags.help({ char: 'h' }),
|
|
25
|
+
install: Flags.boolean({ char: 'i', description: "install calamares and its dependencies" }),
|
|
26
|
+
nointeractive: Flags.boolean({ char: 'n', description: 'no user interaction' }),
|
|
27
|
+
policies: Flags.boolean({ char: 'p', description: 'configure calamares policies' }),
|
|
28
|
+
release: Flags.boolean({ char: 'r', description: "release: remove calamares and all its dependencies after the installation" }),
|
|
29
|
+
remove: Flags.boolean({ description: "remove calamares and its dependencies" }),
|
|
30
|
+
theme: Flags.string({ description: 'theme/branding for eggs and calamares' }),
|
|
31
|
+
verbose: Flags.boolean({ char: 'v' }),
|
|
32
|
+
};
|
|
33
|
+
incubator = {};
|
|
34
|
+
remix = {};
|
|
35
|
+
settings = {};
|
|
25
36
|
async run() {
|
|
26
|
-
|
|
27
|
-
this.settings = new
|
|
37
|
+
Utils.titles(this.id + ' ' + this.argv);
|
|
38
|
+
this.settings = new Settings();
|
|
28
39
|
const { flags } = await this.parse(Calamares);
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
40
|
+
const { verbose } = flags;
|
|
41
|
+
const { remove } = flags;
|
|
42
|
+
const { install } = flags;
|
|
43
|
+
const { release } = flags;
|
|
33
44
|
let theme = 'eggs';
|
|
34
45
|
if (flags.theme !== undefined) {
|
|
35
46
|
theme = flags.theme;
|
|
36
47
|
if (theme.includes('/')) {
|
|
37
48
|
if (theme.endsWith('/')) {
|
|
38
|
-
theme = theme.
|
|
49
|
+
theme = theme.slice(0, Math.max(0, theme.length - 1));
|
|
39
50
|
}
|
|
40
51
|
}
|
|
41
52
|
else {
|
|
42
|
-
const wpath = `/home/${await
|
|
53
|
+
const wpath = `/home/${await Utils.getPrimaryUser()}/.wardrobe/vendors/`;
|
|
43
54
|
theme = wpath + flags.theme;
|
|
44
55
|
}
|
|
45
|
-
theme =
|
|
46
|
-
if (!
|
|
56
|
+
theme = path.resolve(theme);
|
|
57
|
+
if (!fs.existsSync(theme + '/theme')) {
|
|
47
58
|
console.log('Cannot find theme: ' + theme);
|
|
48
59
|
process.exit();
|
|
49
60
|
}
|
|
50
61
|
}
|
|
51
62
|
console.log(`theme: ${theme}`);
|
|
52
|
-
let policies = flags
|
|
53
|
-
const nointeractive = flags
|
|
54
|
-
if (
|
|
63
|
+
let { policies } = flags;
|
|
64
|
+
const { nointeractive } = flags;
|
|
65
|
+
if (Utils.isRoot(this.id)) {
|
|
55
66
|
let installer = 'krill';
|
|
56
|
-
if (
|
|
67
|
+
if (Pacman.isInstalledGui()) {
|
|
57
68
|
installer = 'calamares';
|
|
58
69
|
}
|
|
59
70
|
if (installer === 'calamares') {
|
|
60
|
-
if (!nointeractive || await
|
|
71
|
+
if (!nointeractive || await Utils.customConfirm('Select yes to continue...')) {
|
|
61
72
|
if (remove) {
|
|
62
|
-
if (
|
|
63
|
-
await
|
|
73
|
+
if (Pacman.calamaresExists()) {
|
|
74
|
+
await Pacman.calamaresRemove();
|
|
64
75
|
if (await this.settings.load()) {
|
|
65
76
|
this.settings.config.force_installer = false;
|
|
66
77
|
this.settings.save(this.settings.config);
|
|
@@ -72,8 +83,8 @@ class Calamares extends core_1.Command {
|
|
|
72
83
|
* Install
|
|
73
84
|
*/
|
|
74
85
|
if (install) {
|
|
75
|
-
|
|
76
|
-
await
|
|
86
|
+
Utils.warning('Installing calamares');
|
|
87
|
+
await Pacman.calamaresInstall();
|
|
77
88
|
if (await this.settings.load()) {
|
|
78
89
|
this.settings.config.force_installer = true;
|
|
79
90
|
this.settings.save(this.settings.config);
|
|
@@ -85,38 +96,20 @@ class Calamares extends core_1.Command {
|
|
|
85
96
|
* Configure
|
|
86
97
|
*/
|
|
87
98
|
if (await this.settings.load()) {
|
|
88
|
-
|
|
99
|
+
Utils.warning(`Configuring ${installer}`);
|
|
89
100
|
await this.settings.loadRemix(this.settings.config.snapshot_basename, theme);
|
|
90
101
|
const isClone = false;
|
|
91
|
-
this.incubator = new
|
|
102
|
+
this.incubator = new Incubator(this.settings.remix, this.settings.distro, this.settings.config.user_opt, theme, isClone, verbose);
|
|
92
103
|
await this.incubator.config(release);
|
|
93
104
|
/**
|
|
94
105
|
* policies
|
|
95
106
|
*/
|
|
96
107
|
if (policies) {
|
|
97
|
-
|
|
98
|
-
await
|
|
108
|
+
Utils.warning('Configuring policies');
|
|
109
|
+
await Pacman.calamaresPolicies();
|
|
99
110
|
}
|
|
100
111
|
}
|
|
101
112
|
}
|
|
102
113
|
}
|
|
103
114
|
}
|
|
104
115
|
}
|
|
105
|
-
Calamares.flags = {
|
|
106
|
-
help: core_1.Flags.help({ char: 'h' }),
|
|
107
|
-
install: core_1.Flags.boolean({ char: 'i', description: "install calamares and its dependencies" }),
|
|
108
|
-
nointeractive: core_1.Flags.boolean({ char: 'n', description: 'no user interaction' }),
|
|
109
|
-
policies: core_1.Flags.boolean({ char: 'p', description: 'configure calamares policies' }),
|
|
110
|
-
release: core_1.Flags.boolean({ char: 'r', description: "release: remove calamares and all its dependencies after the installation" }),
|
|
111
|
-
remove: core_1.Flags.boolean({ description: "remove calamares and its dependencies" }),
|
|
112
|
-
theme: core_1.Flags.string({ description: 'theme/branding for eggs and calamares' }),
|
|
113
|
-
verbose: core_1.Flags.boolean({ char: 'v' }),
|
|
114
|
-
};
|
|
115
|
-
Calamares.description = 'configure calamares or install or configure it';
|
|
116
|
-
Calamares.examples = [
|
|
117
|
-
'sudo eggs calamares',
|
|
118
|
-
'sudo eggs calamares --install',
|
|
119
|
-
'sudo eggs calamares --install --theme=/path/to/theme',
|
|
120
|
-
'sudo eggs calamares --remove',
|
|
121
|
-
];
|
|
122
|
-
exports.default = Calamares;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/commands/config.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 { Command } from '@oclif/core';
|
|
9
|
+
import { IInstall } from '../interfaces/index.js';
|
|
10
|
+
/**
|
|
11
|
+
*
|
|
12
|
+
*/
|
|
13
|
+
export default class Config extends Command {
|
|
14
|
+
static description: string;
|
|
15
|
+
static examples: string[];
|
|
16
|
+
static flags: {
|
|
17
|
+
clean: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
18
|
+
help: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<void>;
|
|
19
|
+
noicons: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
20
|
+
nointeractive: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
21
|
+
verbose: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
*
|
|
25
|
+
* @param i
|
|
26
|
+
* @param verbose
|
|
27
|
+
*/
|
|
28
|
+
static install(i: IInstall, nointeractive?: boolean, noicons?: boolean, verbose?: boolean): Promise<void>;
|
|
29
|
+
/**
|
|
30
|
+
*
|
|
31
|
+
*
|
|
32
|
+
* @param verbose
|
|
33
|
+
*/
|
|
34
|
+
static thatWeNeed(nointeractive?: boolean, noicons?: boolean, verbose?: boolean, cryptedclone?: boolean): Promise<IInstall>;
|
|
35
|
+
run(): Promise<void>;
|
|
36
|
+
}
|