penguins-eggs 9.8.1 → 10.0.1
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 +62 -62
- package/README.md +43 -40
- package/bin/dev.cmd +1 -1
- package/bin/dev.js +6 -6
- package/bin/run.js +3 -5
- package/conf/tools.yaml +1 -1
- 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 +42 -47
- package/dist/classes/daddy.d.ts +18 -0
- package/dist/classes/daddy.js +92 -98
- package/dist/classes/distro.d.ts +26 -0
- package/dist/classes/distro.js +36 -37
- package/dist/classes/families/archlinux.d.ts +61 -0
- package/dist/classes/families/archlinux.js +52 -107
- package/dist/classes/families/debian.d.ts +65 -0
- package/dist/classes/families/debian.js +67 -142
- package/dist/classes/families/fedora.d.ts +52 -0
- package/dist/classes/families/fedora.js +42 -98
- 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 +44 -96
- package/dist/classes/incubation/branding.d.ts +17 -0
- package/dist/classes/incubation/branding.js +32 -36
- package/dist/classes/incubation/distros/bionic.d.ts +32 -0
- package/dist/classes/incubation/distros/bionic.js +11 -16
- package/dist/classes/incubation/distros/buster.d.ts +32 -0
- package/dist/classes/incubation/distros/buster.js +13 -18
- package/dist/classes/incubation/distros/focal.d.ts +32 -0
- package/dist/classes/incubation/distros/focal.js +11 -16
- package/dist/classes/incubation/distros/jessie.d.ts +31 -0
- package/dist/classes/incubation/distros/jessie.js +8 -13
- package/dist/classes/incubation/distros/rolling.d.ts +32 -0
- package/dist/classes/incubation/distros/rolling.js +11 -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 -20
- 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 +135 -131
- package/dist/classes/incubation/incubator.d.ts +40 -0
- package/dist/classes/incubation/incubator.js +90 -89
- 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 +40 -42
- package/dist/classes/keyboards.d.ts +50 -0
- package/dist/classes/keyboards.js +108 -105
- 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 +14 -18
- package/dist/classes/ovary.d.ts +205 -0
- package/dist/classes/ovary.js +1281 -1294
- package/dist/classes/pacman.d.ts +149 -0
- package/dist/classes/pacman.js +344 -418
- package/dist/classes/pve-live.d.ts +17 -0
- package/dist/classes/pve-live.js +22 -24
- package/dist/classes/pxe.d.ts +65 -0
- package/dist/classes/pxe.js +204 -206
- package/dist/classes/settings.d.ts +53 -0
- package/dist/classes/settings.js +91 -94
- 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 +34 -38
- package/dist/classes/tailor.d.ts +46 -0
- package/dist/classes/tailor.js +223 -239
- package/dist/classes/tools.d.ts +30 -0
- package/dist/classes/tools.js +18 -22
- package/dist/classes/users.d.ts +28 -0
- package/dist/classes/users.js +18 -22
- package/dist/classes/utils.d.ts +318 -0
- package/dist/classes/utils.js +78 -78
- 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 +53 -57
- package/dist/commands/adapt.d.ts +17 -0
- package/dist/commands/adapt.js +17 -21
- package/dist/commands/analyze.d.ts +26 -0
- package/dist/commands/analyze.js +56 -67
- package/dist/commands/calamares.d.ts +29 -0
- package/dist/commands/calamares.js +44 -48
- package/dist/commands/config.d.ts +36 -0
- package/dist/commands/config.js +115 -137
- package/dist/commands/cuckoo.d.ts +16 -0
- package/dist/commands/cuckoo.js +20 -24
- package/dist/commands/dad.d.ts +19 -0
- package/dist/commands/dad.js +20 -24
- package/dist/commands/export/deb.d.ts +19 -0
- package/dist/commands/export/deb.js +19 -23
- package/dist/commands/export/iso.d.ts +19 -0
- package/dist/commands/export/iso.js +19 -23
- package/dist/commands/install.d.ts +37 -0
- package/dist/commands/install.js +46 -50
- package/dist/commands/kill.d.ts +24 -0
- package/dist/commands/kill.js +25 -29
- package/dist/commands/mom.d.ts +16 -0
- package/dist/commands/mom.js +16 -18
- package/dist/commands/produce.d.ts +33 -0
- package/dist/commands/produce.js +64 -66
- package/dist/commands/status.d.ts +23 -0
- package/dist/commands/status.js +10 -14
- package/dist/commands/syncfrom.d.ts +45 -0
- package/dist/commands/syncfrom.js +85 -89
- package/dist/commands/syncto.d.ts +40 -0
- package/dist/commands/syncto.js +91 -95
- package/dist/commands/tools/clean.d.ts +18 -0
- package/dist/commands/tools/clean.js +17 -21
- package/dist/commands/tools/ppa.d.ts +26 -0
- package/dist/commands/tools/ppa.js +41 -45
- package/dist/commands/tools/skel.d.ts +18 -0
- package/dist/commands/tools/skel.js +22 -26
- package/dist/commands/tools/stat.d.ts +31 -0
- package/dist/commands/tools/stat.js +15 -19
- package/dist/commands/tools/yolk.d.ts +24 -0
- package/dist/commands/tools/yolk.js +19 -23
- package/dist/commands/update.d.ts +47 -0
- package/dist/commands/update.js +62 -66
- package/dist/commands/wardrobe/get.d.ts +23 -0
- package/dist/commands/wardrobe/get.js +19 -23
- package/dist/commands/wardrobe/list.d.ts +24 -0
- package/dist/commands/wardrobe/list.js +61 -60
- package/dist/commands/wardrobe/show.d.ts +25 -0
- package/dist/commands/wardrobe/show.js +50 -47
- package/dist/commands/wardrobe/wear.d.ts +26 -0
- package/dist/commands/wardrobe/wear.js +32 -36
- 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 +50 -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 +7 -10
- 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 -2
- 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 +33 -37
- 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 +10 -13
- 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 +16 -20
- 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 +78 -84
- 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} +118 -124
- package/dist/krill/sequence.d.ts +156 -0
- package/dist/krill/{krill-sequence.js → sequence.js} +166 -170
- 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 +15 -18
- 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 +10 -10
- package/package.json +48 -69
- package/LICENSE +0 -339
- package/bin/dev +0 -17
- package/bin/run +0 -5
- 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/lib/dependencies.js +0 -121
|
@@ -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
|
|
15
|
-
static flags = {
|
|
16
|
-
help: core_1.Flags.help({ char: 'h' }),
|
|
17
|
-
verbose: core_1.Flags.boolean({ char: 'v' }),
|
|
18
|
-
};
|
|
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 {
|
|
19
12
|
static description = 'adapt monitor resolution for VM only';
|
|
20
13
|
static examples = [
|
|
21
14
|
'eggs adapt',
|
|
22
15
|
];
|
|
16
|
+
static flags = {
|
|
17
|
+
help: Flags.help({ char: 'h' }),
|
|
18
|
+
verbose: Flags.boolean({ char: 'v' }),
|
|
19
|
+
};
|
|
23
20
|
async run() {
|
|
24
21
|
const { args, flags } = await this.parse(Adapt);
|
|
25
22
|
let verbose = false;
|
|
26
23
|
if (flags.verbose) {
|
|
27
24
|
verbose = true;
|
|
28
25
|
}
|
|
29
|
-
const echo =
|
|
26
|
+
const echo = Utils.setEcho(verbose);
|
|
30
27
|
// const {args, flags} = this.parse(Adjust)
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
await
|
|
34
|
-
await
|
|
35
|
-
await
|
|
36
|
-
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);
|
|
37
34
|
}
|
|
38
35
|
}
|
|
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,48 +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
|
-
class Analyze extends core_1.Command {
|
|
19
|
-
static flags = {
|
|
20
|
-
help: core_1.Flags.help({ char: 'h' }),
|
|
21
|
-
verbose: core_1.Flags.boolean({ char: 'v', description: 'verbose' }),
|
|
22
|
-
};
|
|
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 {
|
|
23
15
|
static description = 'analyze for syncto';
|
|
24
16
|
static examples = ['sudo eggs analyze'];
|
|
17
|
+
static flags = {
|
|
18
|
+
help: Flags.help({ char: 'h' }),
|
|
19
|
+
verbose: Flags.boolean({ char: 'v', description: 'verbose' }),
|
|
20
|
+
};
|
|
25
21
|
config_file = '/etc/penguins-eggs.d/eggs.yaml';
|
|
26
22
|
snapshot_dir = '';
|
|
27
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
|
+
}
|
|
46
|
+
}
|
|
28
47
|
async run() {
|
|
29
|
-
|
|
48
|
+
Utils.titles(this.id + ' ' + this.argv);
|
|
30
49
|
const { flags } = await this.parse(Analyze);
|
|
31
50
|
let verbose = false;
|
|
32
51
|
if (flags.verbose) {
|
|
33
52
|
verbose = true;
|
|
34
53
|
}
|
|
35
|
-
|
|
54
|
+
Utils.warning('eggs will analyze your system, and get users data');
|
|
55
|
+
const echo = Utils.setEcho(verbose);
|
|
36
56
|
let totalSize = 0;
|
|
37
|
-
if (
|
|
38
|
-
const audio = await
|
|
39
|
-
const bios = await
|
|
40
|
-
const blockDevices = await
|
|
41
|
-
const chassis = await
|
|
42
|
-
const cpu = await
|
|
43
|
-
const diskLayout = await
|
|
44
|
-
const mem = await
|
|
45
|
-
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();
|
|
46
66
|
console.log(`chassis: ${chassis.manufacturer} model: ${chassis.manufacturer}`);
|
|
47
67
|
console.log(`bios vendor: ${bios.vendor} version: ${bios.version} revision: ${bios.revision}`);
|
|
48
68
|
console.log(`processor: ${cpu.brand} core: ${cpu.cores} `);
|
|
@@ -55,52 +75,21 @@ class Analyze extends core_1.Command {
|
|
|
55
75
|
if (diskLayout[2] !== undefined) {
|
|
56
76
|
console.log(`disk1: ${diskLayout[2].device}`);
|
|
57
77
|
}
|
|
58
|
-
console.log(`name: ${blockDevices[0].name} fs: ${blockDevices[0].fsType}`)
|
|
59
|
-
console.log(`name: ${blockDevices[1].name} fs: ${blockDevices[1].fsType}`)
|
|
60
|
-
console.log(`name: ${blockDevices[2].name} fs: ${blockDevices[2].fsType}`)
|
|
61
|
-
console.log(`name: ${blockDevices[3].name} fs: ${blockDevices[3].fsType}`)
|
|
62
|
-
console.log(`usb: ${usb[0].name}`)
|
|
63
|
-
/**
|
|
64
|
-
* Windows: "/Documents and Settings", "/Programs", "/AppData"
|
|
65
|
-
* MacOS: "/Users"
|
|
66
|
-
* Linux: "/home"
|
|
67
|
-
*/
|
|
68
|
-
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}`)
|
|
69
83
|
const users = await this.fill();
|
|
70
84
|
for (let i = 0; i < users.length; i++)
|
|
71
85
|
if (users[i].saveIt) {
|
|
72
|
-
console.log(`user: ${users[i].login} \thome: ${users[i].home.padEnd(16)} \tsize: ${
|
|
73
|
-
// 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} `);
|
|
74
87
|
totalSize += users[i].size;
|
|
75
88
|
}
|
|
76
|
-
console.log(`Total\t\t\t\t\tSize: ${
|
|
89
|
+
console.log(`Total\t\t\t\t\tSize: ${Utils.formatBytes(totalSize)} \tBytes: ${totalSize}`);
|
|
77
90
|
}
|
|
78
91
|
else {
|
|
79
|
-
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* fill
|
|
84
|
-
*/
|
|
85
|
-
async fill() {
|
|
86
|
-
try {
|
|
87
|
-
const usersArray = [];
|
|
88
|
-
await (0, promises_1.access)('/etc/passwd', fs_2.constants.R_OK | fs_2.constants.W_OK);
|
|
89
|
-
const passwd = fs_1.default.readFileSync('/etc/passwd', 'utf-8').split('\n');
|
|
90
|
-
for (const element of passwd) {
|
|
91
|
-
const line = element.split(':');
|
|
92
|
-
const users = new users_1.default(line[0], line[1], line[2], line[3], line[4], line[5], line[6]);
|
|
93
|
-
await users.getValues();
|
|
94
|
-
if (users.password !== undefined) {
|
|
95
|
-
usersArray.push(users);
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
return usersArray;
|
|
99
|
-
}
|
|
100
|
-
catch {
|
|
101
|
-
console.error("can't read /etc/passwd");
|
|
102
|
-
process.exit(1);
|
|
92
|
+
Utils.useRoot(this.id);
|
|
103
93
|
}
|
|
104
94
|
}
|
|
105
95
|
}
|
|
106
|
-
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,31 +1,18 @@
|
|
|
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
|
-
static flags = {
|
|
20
|
-
help: core_1.Flags.help({ char: 'h' }),
|
|
21
|
-
install: core_1.Flags.boolean({ char: 'i', description: "install calamares and its dependencies" }),
|
|
22
|
-
nointeractive: core_1.Flags.boolean({ char: 'n', description: 'no user interaction' }),
|
|
23
|
-
policies: core_1.Flags.boolean({ char: 'p', description: 'configure calamares policies' }),
|
|
24
|
-
release: core_1.Flags.boolean({ char: 'r', description: "release: remove calamares and all its dependencies after the installation" }),
|
|
25
|
-
remove: core_1.Flags.boolean({ description: "remove calamares and its dependencies" }),
|
|
26
|
-
theme: core_1.Flags.string({ description: 'theme/branding for eggs and calamares' }),
|
|
27
|
-
verbose: core_1.Flags.boolean({ char: 'v' }),
|
|
28
|
-
};
|
|
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 {
|
|
29
16
|
static description = 'configure calamares or install or configure it';
|
|
30
17
|
static examples = [
|
|
31
18
|
'sudo eggs calamares',
|
|
@@ -33,48 +20,58 @@ class Calamares extends core_1.Command {
|
|
|
33
20
|
'sudo eggs calamares --install --theme=/path/to/theme',
|
|
34
21
|
'sudo eggs calamares --remove',
|
|
35
22
|
];
|
|
36
|
-
|
|
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
|
+
};
|
|
37
33
|
incubator = {};
|
|
34
|
+
remix = {};
|
|
38
35
|
settings = {};
|
|
39
36
|
async run() {
|
|
40
|
-
|
|
41
|
-
this.settings = new
|
|
37
|
+
Utils.titles(this.id + ' ' + this.argv);
|
|
38
|
+
this.settings = new Settings();
|
|
42
39
|
const { flags } = await this.parse(Calamares);
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
40
|
+
const { verbose } = flags;
|
|
41
|
+
const { remove } = flags;
|
|
42
|
+
const { install } = flags;
|
|
43
|
+
const { release } = flags;
|
|
47
44
|
let theme = 'eggs';
|
|
48
45
|
if (flags.theme !== undefined) {
|
|
49
46
|
theme = flags.theme;
|
|
50
47
|
if (theme.includes('/')) {
|
|
51
48
|
if (theme.endsWith('/')) {
|
|
52
|
-
theme = theme.
|
|
49
|
+
theme = theme.slice(0, Math.max(0, theme.length - 1));
|
|
53
50
|
}
|
|
54
51
|
}
|
|
55
52
|
else {
|
|
56
|
-
const wpath = `/home/${await
|
|
53
|
+
const wpath = `/home/${await Utils.getPrimaryUser()}/.wardrobe/vendors/`;
|
|
57
54
|
theme = wpath + flags.theme;
|
|
58
55
|
}
|
|
59
|
-
theme =
|
|
60
|
-
if (!
|
|
56
|
+
theme = path.resolve(theme);
|
|
57
|
+
if (!fs.existsSync(theme + '/theme')) {
|
|
61
58
|
console.log('Cannot find theme: ' + theme);
|
|
62
59
|
process.exit();
|
|
63
60
|
}
|
|
64
61
|
}
|
|
65
62
|
console.log(`theme: ${theme}`);
|
|
66
|
-
let policies = flags
|
|
67
|
-
const nointeractive = flags
|
|
68
|
-
if (
|
|
63
|
+
let { policies } = flags;
|
|
64
|
+
const { nointeractive } = flags;
|
|
65
|
+
if (Utils.isRoot(this.id)) {
|
|
69
66
|
let installer = 'krill';
|
|
70
|
-
if (
|
|
67
|
+
if (Pacman.isInstalledGui()) {
|
|
71
68
|
installer = 'calamares';
|
|
72
69
|
}
|
|
73
70
|
if (installer === 'calamares') {
|
|
74
|
-
if (!nointeractive || await
|
|
71
|
+
if (!nointeractive || await Utils.customConfirm('Select yes to continue...')) {
|
|
75
72
|
if (remove) {
|
|
76
|
-
if (
|
|
77
|
-
await
|
|
73
|
+
if (Pacman.calamaresExists()) {
|
|
74
|
+
await Pacman.calamaresRemove();
|
|
78
75
|
if (await this.settings.load()) {
|
|
79
76
|
this.settings.config.force_installer = false;
|
|
80
77
|
this.settings.save(this.settings.config);
|
|
@@ -86,8 +83,8 @@ class Calamares extends core_1.Command {
|
|
|
86
83
|
* Install
|
|
87
84
|
*/
|
|
88
85
|
if (install) {
|
|
89
|
-
|
|
90
|
-
await
|
|
86
|
+
Utils.warning('Installing calamares');
|
|
87
|
+
await Pacman.calamaresInstall();
|
|
91
88
|
if (await this.settings.load()) {
|
|
92
89
|
this.settings.config.force_installer = true;
|
|
93
90
|
this.settings.save(this.settings.config);
|
|
@@ -99,21 +96,20 @@ class Calamares extends core_1.Command {
|
|
|
99
96
|
* Configure
|
|
100
97
|
*/
|
|
101
98
|
if (await this.settings.load()) {
|
|
102
|
-
|
|
99
|
+
Utils.warning(`Configuring ${installer}`);
|
|
103
100
|
await this.settings.loadRemix(this.settings.config.snapshot_basename, theme);
|
|
104
101
|
const isClone = false;
|
|
105
|
-
this.incubator = new
|
|
102
|
+
this.incubator = new Incubator(this.settings.remix, this.settings.distro, this.settings.config.user_opt, theme, isClone, verbose);
|
|
106
103
|
await this.incubator.config(release);
|
|
107
104
|
/**
|
|
108
105
|
* policies
|
|
109
106
|
*/
|
|
110
107
|
if (policies) {
|
|
111
|
-
|
|
112
|
-
await
|
|
108
|
+
Utils.warning('Configuring policies');
|
|
109
|
+
await Pacman.calamaresPolicies();
|
|
113
110
|
}
|
|
114
111
|
}
|
|
115
112
|
}
|
|
116
113
|
}
|
|
117
114
|
}
|
|
118
115
|
}
|
|
119
|
-
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
|
+
}
|