penguins-eggs 9.0.25 → 9.0.48

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.
Files changed (163) hide show
  1. package/README.md +448 -22
  2. package/addons/telos/theme/applications/install-debian.desktop +28 -0
  3. package/addons/telos/theme/artwork/install-debian.png +0 -0
  4. package/addons/telos/theme/calamares/branding/banner.png +0 -0
  5. package/addons/telos/theme/calamares/branding/branding.desc +25 -0
  6. package/addons/telos/theme/calamares/branding/show.qml +51 -0
  7. package/addons/telos/theme/calamares/branding/slide1.png +0 -0
  8. package/addons/telos/theme/calamares/branding/telos-logo.png +0 -0
  9. package/addons/telos/theme/calamares/branding/welcome.png +0 -0
  10. package/addons/telos/theme/calamares/modules/partition.yml +233 -0
  11. package/addons/telos/theme/livecd/grub.theme.cfg +43 -0
  12. package/addons/telos/theme/livecd/isolinux.theme.cfg +45 -0
  13. package/addons/telos/theme/livecd/splash.png +0 -0
  14. package/conf/distros/buster/calamares/calamares-modules/sources-yolk/sources-yolk.sh +57 -38
  15. package/conf/distros/buster/calamares/modules/bootloader.yml +3 -1
  16. package/conf/eggs.yaml +9 -2
  17. package/lib/classes/basket.js +4 -4
  18. package/lib/classes/bleach.js +2 -2
  19. package/lib/classes/compressors.js +1 -1
  20. package/lib/classes/daddy.js +13 -13
  21. package/lib/classes/distro.d.ts +4 -2
  22. package/lib/classes/distro.js +77 -79
  23. package/lib/classes/family/archlinux.js +4 -4
  24. package/lib/classes/family/debian.js +6 -6
  25. package/lib/classes/family/fedora.js +4 -4
  26. package/lib/classes/family/suse.js +4 -4
  27. package/lib/classes/i18n.d.ts +28 -4
  28. package/lib/classes/i18n.js +112 -84
  29. package/lib/classes/incubation/branding.js +13 -7
  30. package/lib/classes/incubation/distros/bionic.js +1 -1
  31. package/lib/classes/incubation/distros/buster.js +1 -1
  32. package/lib/classes/incubation/distros/focal.js +1 -1
  33. package/lib/classes/incubation/distros/jessie.js +1 -1
  34. package/lib/classes/incubation/distros/rolling.js +1 -1
  35. package/lib/classes/incubation/fisherman-helper/displaymanager.js +1 -1
  36. package/lib/classes/incubation/fisherman-helper/packages.js +2 -2
  37. package/lib/classes/incubation/fisherman.js +5 -5
  38. package/lib/classes/incubation/incubator.js +5 -5
  39. package/lib/classes/incubation/installer.d.ts +1 -1
  40. package/lib/classes/incubation/installer.js +4 -4
  41. package/lib/classes/initrd.js +2 -2
  42. package/lib/classes/keyboards.d.ts +45 -0
  43. package/lib/classes/keyboards.js +196 -0
  44. package/lib/classes/krill_install.d.ts +12 -1
  45. package/lib/classes/krill_install.js +300 -312
  46. package/lib/classes/krill_prepare.d.ts +4 -0
  47. package/lib/classes/krill_prepare.js +81 -83
  48. package/lib/classes/locales.d.ts +14 -0
  49. package/lib/classes/locales.js +54 -0
  50. package/lib/classes/n8.js +1 -1
  51. package/lib/classes/ovary.d.ts +27 -27
  52. package/lib/classes/ovary.js +356 -387
  53. package/lib/classes/pacman.d.ts +1 -1
  54. package/lib/classes/pacman.js +40 -40
  55. package/lib/classes/pve-live.js +12 -16
  56. package/lib/classes/settings.d.ts +6 -0
  57. package/lib/classes/settings.js +11 -13
  58. package/lib/classes/systemctl.d.ts +36 -7
  59. package/lib/classes/systemctl.js +63 -28
  60. package/lib/classes/tailor.d.ts +20 -0
  61. package/lib/classes/tailor.js +460 -0
  62. package/lib/classes/tools.js +4 -4
  63. package/lib/classes/users.js +1 -1
  64. package/lib/classes/utils.d.ts +14 -3
  65. package/lib/classes/utils.js +75 -28
  66. package/lib/classes/xdg.js +23 -39
  67. package/lib/classes/yolk.d.ts +12 -10
  68. package/lib/classes/yolk.js +54 -56
  69. package/lib/commands/adapt.js +1 -1
  70. package/lib/commands/analyze.js +2 -2
  71. package/lib/commands/bro.js +2 -2
  72. package/lib/commands/calamares.js +4 -4
  73. package/lib/commands/config.js +4 -4
  74. package/lib/commands/dad.js +2 -2
  75. package/lib/commands/export/deb.js +2 -2
  76. package/lib/commands/export/docs.js +2 -2
  77. package/lib/commands/export/iso.js +2 -2
  78. package/lib/commands/info.js +1 -1
  79. package/lib/commands/install.js +5 -5
  80. package/lib/commands/kill.js +2 -2
  81. package/lib/commands/mom.js +2 -2
  82. package/lib/commands/produce.js +11 -11
  83. package/lib/commands/remove.js +2 -2
  84. package/lib/commands/syncfrom.d.ts +9 -3
  85. package/lib/commands/syncfrom.js +39 -32
  86. package/lib/commands/syncto.d.ts +26 -6
  87. package/lib/commands/syncto.js +73 -50
  88. package/lib/commands/tools/clean.js +2 -2
  89. package/lib/commands/tools/locales.js +9 -4
  90. package/lib/commands/tools/skel.js +2 -2
  91. package/lib/commands/tools/stat.js +3 -3
  92. package/lib/commands/tools/yolk.js +4 -4
  93. package/lib/commands/update.js +5 -5
  94. package/lib/commands/wardrobe/ironing.d.ts +14 -0
  95. package/lib/commands/wardrobe/ironing.js +123 -0
  96. package/lib/commands/wardrobe/list.d.ts +13 -0
  97. package/lib/commands/wardrobe/list.js +46 -0
  98. package/lib/commands/wardrobe/show.d.ts +15 -0
  99. package/lib/commands/wardrobe/show.js +55 -0
  100. package/lib/commands/wardrobe/wear.d.ts +11 -0
  101. package/lib/commands/wardrobe/wear.js +42 -0
  102. package/lib/components/elements/information.js +37 -18
  103. package/lib/components/elements/steps.js +1 -1
  104. package/lib/components/elements/title.js +2 -2
  105. package/lib/components/finished.js +5 -5
  106. package/lib/components/install.js +5 -5
  107. package/lib/components/keyboard.js +5 -8
  108. package/lib/components/location.js +5 -5
  109. package/lib/components/network.js +5 -5
  110. package/lib/components/partitions.js +5 -5
  111. package/lib/components/summary.js +5 -5
  112. package/lib/components/users.js +5 -5
  113. package/lib/components/welcome.js +6 -6
  114. package/lib/interfaces/i-costume.d.ts +43 -0
  115. package/lib/interfaces/i-costume.js +2 -0
  116. package/lib/interfaces/i-distro.d.ts +4 -2
  117. package/lib/interfaces/i-installer.d.ts +1 -1
  118. package/lib/interfaces/i-krill.d.ts +1 -0
  119. package/lib/interfaces/i-packages.d.ts +13 -0
  120. package/lib/interfaces/i-packages.js +2 -0
  121. package/lib/interfaces/i-xkb-model.d.ts +17 -0
  122. package/lib/interfaces/i-xkb-model.js +2 -0
  123. package/lib/interfaces/index.d.ts +1 -0
  124. package/lib/lib/cli-autologin.js +3 -3
  125. package/lib/lib/select_address_type.js +1 -1
  126. package/lib/lib/select_filesystem_type.js +2 -2
  127. package/lib/lib/select_installation_device.js +2 -1
  128. package/lib/lib/select_interface.js +1 -1
  129. package/lib/lib/select_keyboard_layout.d.ts +1 -28
  130. package/lib/lib/select_keyboard_layout.js +18 -33
  131. package/lib/lib/select_keyboard_model.d.ts +4 -0
  132. package/lib/lib/select_keyboard_model.js +36 -0
  133. package/lib/lib/select_keyboard_option.d.ts +4 -0
  134. package/lib/lib/select_keyboard_option.js +36 -0
  135. package/lib/lib/select_keyboard_variant.d.ts +1 -5
  136. package/lib/lib/select_keyboard_variant.js +32 -5
  137. package/lib/lib/select_languages.d.ts +1 -1
  138. package/lib/lib/select_languages.js +8 -7
  139. package/lib/lib/select_regions.d.ts +1 -1
  140. package/lib/lib/select_regions.js +2 -2
  141. package/lib/lib/select_user_swap_choice.js +2 -2
  142. package/oclif.manifest.json +1 -1
  143. package/package.json +6 -5
  144. package/scripts/_eggs +43 -2
  145. package/scripts/bros/waydroid-helper.sh +1 -1
  146. package/scripts/eggs.bash +6 -2
  147. package/scripts/{not-used/install-eggs-ppa.sh → install-eggs-ppa.sh} +1 -0
  148. package/scripts/mom-cli.sh +1 -1
  149. package/scripts/pve-live.sh +2 -6
  150. package/scripts/resy.sh +8 -0
  151. package/scripts/userexist.sh +6 -0
  152. package/wardrobe.d/external.yml +7 -0
  153. package/wardrobe.d/hen/control.template +10 -0
  154. package/wardrobe.d/hen/index.yml +212 -0
  155. package/wardrobe.d/kde/index.yml +41 -0
  156. package/wardrobe.d/lamp/index.yml +35 -0
  157. package/wardrobe.d/xfce4/index.yml +53 -0
  158. package/conf/distros/buster/locales/locale.gen.template +0 -10
  159. package/conf/distros/buster/locales/locale.template +0 -11
  160. package/conf/distros/focal/locale.gen.template +0 -8
  161. package/scripts/not-used/eggs-cleanup.sh +0 -7
  162. package/scripts/not-used/mkinitramfs +0 -469
  163. package/scripts/update-initramfs +0 -94
@@ -0,0 +1,43 @@
1
+ export interface ICostume {
2
+ name: string;
3
+ author: string;
4
+ description: string;
5
+ release: string;
6
+ applyTo: string;
7
+ distroId: string;
8
+ codenameId: string;
9
+ releaseId: string;
10
+ sequence: {
11
+ repositories: {
12
+ sourcesList: {
13
+ main: boolean;
14
+ contrib: boolean;
15
+ nonFree: boolean;
16
+ };
17
+ sourcesListD: string[];
18
+ update: boolean;
19
+ fullUpgrade: boolean;
20
+ };
21
+ dependencies: string[];
22
+ packages: string[];
23
+ noInstallRecommends: string[];
24
+ packagesPip: string[];
25
+ firmwares: {
26
+ codecs: string[];
27
+ drivers_graphics_tablet: string[];
28
+ drivers_network: string[];
29
+ drivers_various: string[];
30
+ drivers_video_amd: string[];
31
+ drivers_video_nvidia: string[];
32
+ drivers_wifi: string[];
33
+ drivers_printer: string[];
34
+ };
35
+ debs: boolean;
36
+ dirs: boolean;
37
+ hostname: boolean;
38
+ customizations: {
39
+ scripts: string[];
40
+ };
41
+ reboot: boolean;
42
+ };
43
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -2,8 +2,10 @@ export interface IDistro {
2
2
  familyId: string;
3
3
  distroId: string;
4
4
  distroLike: string;
5
- versionId: string;
6
- versionLike: string;
5
+ codenameId: string;
6
+ codenameLikeId: string;
7
+ releaseId: string;
8
+ releaseLike: string;
7
9
  usrLibPath: string;
8
10
  isolinuxPath: string;
9
11
  syslinuxPath: string;
@@ -4,7 +4,7 @@
4
4
  * modules = configuration + 'modules/'
5
5
  * modulesMultiarch = '/usr/lib/' + arch-linux-gnu + '/' + installer + '/'
6
6
  *
7
- * template = '/etc/penguins-eggs/' + .distro.versionLike + '/' + installer + '/'
7
+ * template = '/etc/penguins-eggs/' + .distro.codenameLikeId + '/' + installer + '/'
8
8
  * templateModules = template + '/modules/'
9
9
  * templateMultiarch = template + installer + '-modules/'
10
10
  */
@@ -10,6 +10,7 @@ export interface IKeyboard {
10
10
  keyboardModel: string;
11
11
  keyboardLayout: string;
12
12
  keyboardVariant: string;
13
+ keyboardOption: string;
13
14
  }
14
15
  export interface IPartitions {
15
16
  installationDevice: string;
@@ -0,0 +1,13 @@
1
+ /**
2
+ * packages.ts
3
+ */
4
+ export interface Packages {
5
+ name: string;
6
+ version: string;
7
+ mantainer: string;
8
+ architecture: string;
9
+ description: string;
10
+ binaryDependencies: {
11
+ depends: string[];
12
+ };
13
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,17 @@
1
+ export interface IXkbModel {
2
+ code: string;
3
+ description: string;
4
+ }
5
+ export interface IXkbLayout {
6
+ code: string;
7
+ description: string;
8
+ }
9
+ export interface IXkbVariant {
10
+ code: string;
11
+ lang: string;
12
+ description: string;
13
+ }
14
+ export interface IXkbOption {
15
+ code: string;
16
+ description: string;
17
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -14,3 +14,4 @@ export { IInstaller } from './i-installer';
14
14
  export { IBranding } from './i-branding';
15
15
  export { ISettings } from './i-settings';
16
16
  export { IPartitions } from './i-partitions';
17
+ export { ICostume } from './i-costume';
@@ -5,9 +5,9 @@ const tslib_1 = require("tslib");
5
5
  const shx = require("shelljs");
6
6
  const fs = require("fs");
7
7
  const path = require("path");
8
- const utils_1 = (0, tslib_1.__importDefault)(require("../classes/utils"));
9
- const pacman_1 = (0, tslib_1.__importDefault)(require("../classes/pacman"));
10
- const chalk_1 = (0, tslib_1.__importDefault)(require("chalk"));
8
+ const utils_1 = tslib_1.__importDefault(require("../classes/utils"));
9
+ const pacman_1 = tslib_1.__importDefault(require("../classes/pacman"));
10
+ const chalk_1 = tslib_1.__importDefault(require("chalk"));
11
11
  // libraries
12
12
  const utils_2 = require("../lib/utils");
13
13
  // Comando per avviare ubiquity: sudo --preserve-env DBUS_SESSION_BUS_ADDRESS, XDG_RUNTIME sh -c 'calamares'
@@ -4,7 +4,7 @@ const tslib_1 = require("tslib");
4
4
  /**
5
5
  * selectAddressType
6
6
  */
7
- const inquirer_1 = (0, tslib_1.__importDefault)(require("inquirer"));
7
+ const inquirer_1 = tslib_1.__importDefault(require("inquirer"));
8
8
  async function selectAddressType() {
9
9
  const questions = [
10
10
  {
@@ -2,8 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const inquirer = require("inquirer");
5
- const js_yaml_1 = (0, tslib_1.__importDefault)(require("js-yaml"));
6
- const node_fs_1 = (0, tslib_1.__importDefault)(require("node:fs"));
5
+ const js_yaml_1 = tslib_1.__importDefault(require("js-yaml"));
6
+ const node_fs_1 = tslib_1.__importDefault(require("node:fs"));
7
7
  async function selectFileSystemType() {
8
8
  let partitions = {};
9
9
  if (node_fs_1.default.existsSync('/etc/calamares/modules/partition.conf')) {
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const inquirer = require("inquirer");
5
- const shelljs_1 = (0, tslib_1.__importDefault)(require("shelljs"));
5
+ const shelljs_1 = tslib_1.__importDefault(require("shelljs"));
6
6
  async function selectInstallationDevice() {
7
7
  const drives = shelljs_1.default.exec('lsblk |grep disk|cut -f 1 "-d "', { silent: true }).stdout.trim().split('\n');
8
8
  const driveList = [];
@@ -10,6 +10,7 @@ async function selectInstallationDevice() {
10
10
  driveList.push('/dev/' + element);
11
11
  });
12
12
  const questions = [
13
+ // nvme0n1p1, nvme0n1p2, nvme0n1p3
13
14
  {
14
15
  type: 'list',
15
16
  name: 'installationDevice',
@@ -4,7 +4,7 @@ const tslib_1 = require("tslib");
4
4
  /**
5
5
  * selectInterface
6
6
  */
7
- const inquirer_1 = (0, tslib_1.__importDefault)(require("inquirer"));
7
+ const inquirer_1 = tslib_1.__importDefault(require("inquirer"));
8
8
  async function selectInterface(iface = 'eth0', ifaces) {
9
9
  const questions = [
10
10
  {
@@ -1,31 +1,4 @@
1
1
  /**
2
2
  *
3
- item = English (EEUU)
4
- cmd =minino-keyboard us
5
- icon = /usr/local/share/pixmaps/us.png
6
-
7
- item = English (GB)
8
- cmd =minino-keyboard gb
9
- icon = /usr/local/share/pixmaps/gb.png
10
-
11
- item = Italian (Italy)
12
- cmd =minino-keyboard it
13
- icon = /usr/local/share/pixmaps/it.png
14
-
15
- item = Português (Brazil)
16
- cmd =minino-keyboard br
17
- icon = /usr/local/share/pixmaps/br.png
18
-
19
- item = Português (Portugal)
20
- cmd =minino-keyboard pt
21
- icon = /usr/local/share/pixmaps/pt.png
22
-
23
- item = Español (España)
24
- cmd =minino-keyboard es
25
- icon = /usr/local/share/pixmaps/es.png
26
-
27
- item = Español (Latam)
28
- cmd =minino-keyboard latam
29
- icon = /usr/local/share/pixmaps/latam.png
30
3
  */
31
- export default function selectKeyboardLayout(): Promise<string>;
4
+ export default function selectKeyboardLayout(selected?: string): Promise<string>;
@@ -1,45 +1,30 @@
1
1
  "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ /**
5
+ * penguins-eggs
6
+ * selectKeyboardLayout
7
+ * author: Piero Proietti
8
+ */
9
+ const inquirer_1 = tslib_1.__importDefault(require("inquirer"));
10
+ const keyboards_1 = tslib_1.__importDefault(require("../classes/keyboards"));
2
11
  /**
3
12
  *
4
- item = English (EEUU)
5
- cmd =minino-keyboard us
6
- icon = /usr/local/share/pixmaps/us.png
7
-
8
- item = English (GB)
9
- cmd =minino-keyboard gb
10
- icon = /usr/local/share/pixmaps/gb.png
11
-
12
- item = Italian (Italy)
13
- cmd =minino-keyboard it
14
- icon = /usr/local/share/pixmaps/it.png
15
-
16
- item = Português (Brazil)
17
- cmd =minino-keyboard br
18
- icon = /usr/local/share/pixmaps/br.png
19
-
20
- item = Português (Portugal)
21
- cmd =minino-keyboard pt
22
- icon = /usr/local/share/pixmaps/pt.png
23
-
24
- item = Español (España)
25
- cmd =minino-keyboard es
26
- icon = /usr/local/share/pixmaps/es.png
27
-
28
- item = Español (Latam)
29
- cmd =minino-keyboard latam
30
- icon = /usr/local/share/pixmaps/latam.png
31
13
  */
32
- Object.defineProperty(exports, "__esModule", { value: true });
33
- const tslib_1 = require("tslib");
34
- const inquirer_1 = (0, tslib_1.__importDefault)(require("inquirer"));
35
- async function selectKeyboardLayout() {
14
+ async function selectKeyboardLayout(selected = '') {
15
+ const keyboards = new keyboards_1.default();
16
+ const layouts = keyboards.getLayouts();
17
+ const supported = [];
18
+ for (const l of layouts) {
19
+ supported.push(l.code);
20
+ }
36
21
  const questions = [
37
22
  {
38
23
  type: 'list',
39
24
  name: 'layout',
40
25
  message: 'Select layout: ',
41
- choices: ['br', 'gb', 'es', 'it', 'latam', 'pt', 'us'],
42
- default: 'es'
26
+ choices: supported,
27
+ default: selected
43
28
  }
44
29
  ];
45
30
  return new Promise(function (resolve) {
@@ -0,0 +1,4 @@
1
+ /**
2
+ *
3
+ */
4
+ export default function selectKeyboardModel(selected?: string): Promise<string>;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ /**
5
+ * penguins-eggs
6
+ * selectKeyboardModel
7
+ * author: Piero Proietti
8
+ */
9
+ const inquirer_1 = tslib_1.__importDefault(require("inquirer"));
10
+ const keyboards_1 = tslib_1.__importDefault(require("../classes/keyboards"));
11
+ /**
12
+ *
13
+ */
14
+ async function selectKeyboardModel(selected = '') {
15
+ const keyboards = new keyboards_1.default();
16
+ const models = keyboards.getModels();
17
+ const supported = [];
18
+ for (const m of models) {
19
+ supported.push(m.code);
20
+ }
21
+ const questions = [
22
+ {
23
+ type: 'list',
24
+ name: 'model',
25
+ message: 'Select model: ',
26
+ choices: supported,
27
+ default: selected
28
+ }
29
+ ];
30
+ return new Promise(function (resolve) {
31
+ inquirer_1.default.prompt(questions).then(function (options) {
32
+ resolve(options.model);
33
+ });
34
+ });
35
+ }
36
+ exports.default = selectKeyboardModel;
@@ -0,0 +1,4 @@
1
+ /**
2
+ * selectKeyboardOption
3
+ */
4
+ export default function selectKeyboardOption(selected?: string): Promise<string>;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ /**
5
+ * penguins-eggs
6
+ * selectKeyboardOption
7
+ * author: Piero Proietti
8
+ */
9
+ const inquirer_1 = tslib_1.__importDefault(require("inquirer"));
10
+ const keyboards_1 = tslib_1.__importDefault(require("../classes/keyboards"));
11
+ /**
12
+ * selectKeyboardOption
13
+ */
14
+ async function selectKeyboardOption(selected = '') {
15
+ const keyboards = new keyboards_1.default();
16
+ const options = keyboards.getOptions();
17
+ const supported = [];
18
+ for (const o of options) {
19
+ supported.push(o.code);
20
+ }
21
+ const questions = [
22
+ {
23
+ type: 'list',
24
+ name: 'option',
25
+ message: 'Select option: ',
26
+ choices: supported,
27
+ default: selected
28
+ }
29
+ ];
30
+ return new Promise(function (resolve) {
31
+ inquirer_1.default.prompt(questions).then(function (options) {
32
+ resolve(options.option);
33
+ });
34
+ });
35
+ }
36
+ exports.default = selectKeyboardOption;
@@ -1,8 +1,4 @@
1
1
  /**
2
- * https://unix.stackexchange.com/questions/43976/list-all-valid-kbd-layouts-variants-and-toggle-options-to-use-with-setxkbmap
3
2
  *
4
- * grep -E ^xkb_symbols < /usr/share/X11/xkb/symbols/it
5
- * localectl list-x11-keymap-layouts
6
- * localectl list-x11-keymap-variants
7
- * localectl list-x11-keymap-options | grep grp:
8
3
  */
4
+ export default function selectKeyboardVariant(keyboardLayout?: string): Promise<string>;
@@ -1,9 +1,36 @@
1
1
  "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ /**
5
+ * penguins-eggs
6
+ * selectKeyboardVariant
7
+ * author: Piero Proietti
8
+ */
9
+ const inquirer_1 = tslib_1.__importDefault(require("inquirer"));
10
+ const keyboards_1 = tslib_1.__importDefault(require("../classes/keyboards"));
2
11
  /**
3
- * https://unix.stackexchange.com/questions/43976/list-all-valid-kbd-layouts-variants-and-toggle-options-to-use-with-setxkbmap
4
12
  *
5
- * grep -E ^xkb_symbols < /usr/share/X11/xkb/symbols/it
6
- * localectl list-x11-keymap-layouts
7
- * localectl list-x11-keymap-variants
8
- * localectl list-x11-keymap-options | grep grp:
9
13
  */
14
+ async function selectKeyboardVariant(keyboardLayout = '') {
15
+ const keyboards = new keyboards_1.default();
16
+ const variants = keyboards.getVariants(keyboardLayout);
17
+ const supported = [];
18
+ for (const v of variants) {
19
+ supported.push(v.code);
20
+ }
21
+ const questions = [
22
+ {
23
+ type: 'list',
24
+ name: 'variant',
25
+ message: 'Select variant: ',
26
+ choices: supported,
27
+ default: ''
28
+ }
29
+ ];
30
+ return new Promise(function (resolve) {
31
+ inquirer_1.default.prompt(questions).then(function (options) {
32
+ resolve(options.variant);
33
+ });
34
+ });
35
+ }
36
+ exports.default = selectKeyboardVariant;
@@ -1 +1 @@
1
- export default function selectLanguages(): Promise<string>;
1
+ export default function selectLanguages(selectedLanguage?: string): Promise<string>;
@@ -4,18 +4,19 @@ const tslib_1 = require("tslib");
4
4
  /**
5
5
  * less /usr/share/i18n/SUPPORTED
6
6
  */
7
- const inquirer_1 = (0, tslib_1.__importDefault)(require("inquirer"));
8
- const shelljs_1 = (0, tslib_1.__importDefault)(require("shelljs"));
9
- async function selectLanguages() {
10
- const start = shelljs_1.default.exec('cat /etc/default/locale |cut -f2 -d=| cut -f1 -d-', { silent: true });
11
- const languages = shelljs_1.default.exec('locale -a|cut -f1 -d.', { silent: true }).split('\n');
7
+ const inquirer_1 = tslib_1.__importDefault(require("inquirer"));
8
+ const locales_1 = tslib_1.__importDefault(require("../classes/locales"));
9
+ async function selectLanguages(selectedLanguage = "") {
10
+ const locales = new locales_1.default();
11
+ const supported = await locales.getSupported();
12
+ const selected = selectedLanguage;
12
13
  const questions = [
13
14
  {
14
15
  type: 'list',
15
16
  name: 'language',
16
17
  message: 'Select language: ',
17
- choices: languages,
18
- default: start
18
+ choices: supported,
19
+ default: selected
19
20
  }
20
21
  ];
21
22
  return new Promise(function (resolve) {
@@ -1 +1 @@
1
- export default function selectRegions(): Promise<string>;
1
+ export default function selectRegions(selected?: string): Promise<string>;
@@ -1,14 +1,14 @@
1
1
  'use strict';
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const inquirer = require("inquirer");
4
- async function selectRegions() {
4
+ async function selectRegions(selected = '') {
5
5
  const questions = [
6
6
  {
7
7
  type: 'list',
8
8
  name: 'region',
9
9
  message: 'Select your region: ',
10
10
  choices: ['Atlantic', 'Africa', 'America', 'Antarctica', 'Artic', 'Australia', 'Europe', 'India', 'Europe', 'Pacific'],
11
- default: 'Europe'
11
+ default: selected
12
12
  }
13
13
  ];
14
14
  return new Promise(function (resolve) {
@@ -2,8 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const inquirer = require("inquirer");
5
- const js_yaml_1 = (0, tslib_1.__importDefault)(require("js-yaml"));
6
- const node_fs_1 = (0, tslib_1.__importDefault)(require("node:fs"));
5
+ const js_yaml_1 = tslib_1.__importDefault(require("js-yaml"));
6
+ const node_fs_1 = tslib_1.__importDefault(require("node:fs"));
7
7
  async function selectUserSwapChoice() {
8
8
  let partitions = {};
9
9
  if (node_fs_1.default.existsSync('/etc/calamares/modules/partition.conf')) {
@@ -1 +1 @@
1
- {"version":"9.0.25","commands":{"adapt":{"id":"adapt","description":"adapt monitor resolution for VM only","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":["adjust"],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[]},"analyze":{"id":"analyze","description":"analyze situation","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["$ sudo eggs analyze"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"bro":{"id":"bro","description":"bro: waydroid helper","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[]},"calamares":{"id":"calamares","description":"calamares or install or configure it","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["~$ sudo eggs calamares \ncreate/renew calamares configuration's files\n","~$ sudo eggs calamares -i \ninstall calamares and create it's configuration's files\n"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false},"install":{"name":"install","type":"boolean","char":"i","description":"install calamares and it's dependencies","allowNo":false},"final":{"name":"final","type":"boolean","char":"f","description":"final: remove calamares and all it's dependencies after the installation","allowNo":false},"remove":{"name":"remove","type":"boolean","char":"r","description":"remove calamares and it's dependencies","allowNo":false},"theme":{"name":"theme","type":"option","description":"theme/branding for eggs and calamares","multiple":false}},"args":[]},"config":{"id":"config","description":"Configure and install prerequisites deb packages to run it","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":["prerequisites"],"examples":["~$ sudo eggs config\nConfigure and install prerequisites deb packages to run it"],"flags":{"nointeractive":{"name":"nointeractive","type":"boolean","char":"n","description":"assume yes","allowNo":false},"clean":{"name":"clean","type":"boolean","char":"c","description":"remove old configuration before to create new one","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"dad":{"id":"dad","description":"ask help from daddy - configuration helper","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"clean":{"name":"clean","type":"boolean","char":"c","description":"remove old configuration before to create","allowNo":false},"default":{"name":"default","type":"boolean","char":"d","description":"remove old configuration and force default","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[]},"info":{"id":"info","description":"re-thinking for a different approach to CLI","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[]},"install":{"id":"install","description":"command-line system installer - the egg became a penguin!","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":["hatch","krill"],"examples":["$ eggs install\nInstall the system using GUI or CLI installer\n"],"flags":{"cli":{"name":"cli","type":"boolean","char":"c","description":"force use CLI installer","allowNo":false},"crypted":{"name":"crypted","type":"boolean","char":"k","description":"crypted CLI installation","allowNo":false},"pve":{"name":"pve","type":"boolean","char":"p","description":"Proxmox VE install","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"kill":{"id":"kill","description":"kill the eggs/free the nest","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["$ eggs kill\nkill the eggs/free the nest"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"mom":{"id":"mom","description":"ask for mommy - gui helper","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[]},"produce":{"id":"produce","description":"produce a live image from your system whithout your data","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":["spawn","lay"],"examples":["$ sudo eggs produce \nproduce an ISO called [hostname]-[arch]-YYYY-MM-DD_HHMM.iso, compressed xz (standard compression).\nIf hostname=ugo and arch=i386 ugo-x86-2020-08-25_1215.iso\n","$ sudo eggs produce -v\nsame as previuos, but with --verbose output\n","$ sudo eggs produce -vf\nsame as previuos, compression zstd, lz4 or gzip (depend from system capability)\n","$ sudo eggs produce -vm\nsame as previuos, compression xz -Xbcj x86 (max compression, about 10%\nmore compressed)\n","$ sudo eggs produce -vf --basename leo --theme debian --addons adapt \nproduce an ISO called leo-i386-2020-08-25_1215.iso compression fast,\nusing Debian theme and link to adapt\n","$ sudo eggs produce -v --basename leo --theme debian --addons rsupport \nproduce an ISO called leo-i386-2020-08-25_1215.iso compression xz,\nusing Debian theme and link to dwagent\n","$ sudo eggs produce -v --basename leo --rsupport \nproduce an ISO called leo-i386-2020-08-25_1215.iso compression xz, using eggs\ntheme and link to dwagent\n","$ sudo eggs produce -vs --basename leo --rsupport \nproduce scripts to build an ISO as the previus example. Scripts can be found\nin /home/eggs/ovarium and you can customize all you need\n"],"flags":{"prefix":{"name":"prefix","type":"option","char":"p","description":"prefix","multiple":false},"basename":{"name":"basename","type":"option","description":"basename","multiple":false},"backup":{"name":"backup","type":"boolean","char":"b","description":"backup mode","allowNo":false},"fast":{"name":"fast","type":"boolean","char":"f","description":"fast compression","allowNo":false},"normal":{"name":"normal","type":"boolean","char":"n","description":"normal compression","allowNo":false},"max":{"name":"max","type":"boolean","char":"m","description":"max compression","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false},"yolk":{"name":"yolk","type":"boolean","char":"y","description":"-y force yolk renew","allowNo":false},"script":{"name":"script","type":"boolean","char":"s","description":"script mode. Generate scripts to manage iso build","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"theme":{"name":"theme","type":"option","description":"theme for livecd, calamares branding and partitions","multiple":false},"addons":{"name":"addons","type":"option","description":"addons to be used: adapt, ichoice, pve, rsupport","multiple":true},"release":{"name":"release","type":"boolean","description":"release: configure GUI installer to remove eggs and calamares after installation","allowNo":false}},"args":[]},"remove":{"id":"remove","description":"remove eggs and others stuff","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["$ sudo eggs remove \nremove eggs\n","$ sudo eggs remove --purge \nremove eggs, eggs configurations, configuration's files\n","$ sudo eggs remove --autoremove \nremove eggs, eggs configurations, packages dependencies\n"],"flags":{"purge":{"name":"purge","type":"boolean","char":"p","description":"remove eggs configurations files","allowNo":false},"autoremove":{"name":"autoremove","type":"boolean","char":"a","description":"remove eggs packages dependencies","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"syncfrom":{"id":"syncfrom","description":"Restore users, server and datas from luks-eggs-backup","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":["restore"],"examples":["$ sudo eggs restore"],"flags":{"file":{"name":"file","type":"option","char":"f","description":"file with LUKS volume encrypted","multiple":false},"rootdir":{"name":"rootdir","type":"option","char":"r","description":"rootdir of the installed system, when used from live","multiple":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"syncto":{"id":"syncto","description":"Backup users, server and datas to luks-eggs-backup","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":["backup"],"examples":["$ sudo eggs restore"],"flags":{"krill":{"name":"krill","type":"boolean","char":"k","description":"krill","allowNo":false},"file":{"name":"file","type":"option","char":"f","description":"file LUKS volume encrypted","multiple":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"update":{"id":"update","description":"update the penguin's eggs tool","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["$ eggs update\nupdate/upgrade the penguin's eggs tool"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"apt":{"name":"apt","type":"boolean","char":"a","description":"if eggs package is .deb, update from distro repositories","allowNo":false},"basket":{"name":"basket","type":"boolean","char":"b","description":"if eggs package is .deb, update from eggs basket","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"export:deb":{"id":"export:deb","description":"export deb/docs/iso to the destination host","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"clean":{"name":"clean","type":"boolean","char":"c","description":"remove old .deb before to copy","allowNo":false},"amd64":{"name":"amd64","type":"boolean","description":"export amd64 arch","allowNo":false},"i386":{"name":"i386","type":"boolean","description":"export i386 arch","allowNo":false},"armel":{"name":"armel","type":"boolean","description":"export armel arch","allowNo":false},"arm64":{"name":"arm64","type":"boolean","description":"export arm64 arch","allowNo":false},"all":{"name":"all","type":"boolean","char":"a","description":"export all archs","allowNo":false}},"args":[]},"export:docs":{"id":"export:docs","description":"remove and export docType documentation of the sources in the destination host","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[]},"export:iso":{"id":"export:iso","description":"export iso in the destination host","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"backup":{"name":"backup","type":"boolean","char":"b","description":"export backup ISOs","allowNo":false},"clean":{"name":"clean","type":"boolean","char":"c","description":"delete old ISOs before to copy","allowNo":false}},"args":[]},"tools:clean":{"id":"tools:clean","description":"clean system log, apt, etc","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":["clean"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"tools:locales":{"id":"tools:locales","description":"install/clean locales","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"reinstall":{"name":"reinstall","type":"boolean","char":"r","description":"reinstall locales","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"tools:skel":{"id":"tools:skel","description":"update skel from home configuration","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":["skel"],"examples":["$ eggs skel --user mauro\ndesktop configuration of user mauro will get used as default"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"user":{"name":"user","type":"option","char":"u","description":"user to be used","multiple":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[]},"tools:stat":{"id":"tools:stat","description":"get statistics from sourceforge","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":["stat"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"month":{"name":"month","type":"boolean","char":"m","description":"current month","allowNo":false},"year":{"name":"year","type":"boolean","char":"y","description":"current year","allowNo":false}},"args":[]},"tools:yolk":{"id":"tools:yolk","description":"configure eggs to install without internet","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["$ eggs yolk -v"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[],"dir":"/var/local/yolk"}}}
1
+ {"version":"9.0.48","commands":{"adapt":{"id":"adapt","description":"adapt monitor resolution for VM only","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":["adjust"],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[],"_globalFlags":{}},"analyze":{"id":"analyze","description":"analyze situation","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["$ sudo eggs analyze"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[],"_globalFlags":{}},"bro":{"id":"bro","description":"bro: waydroid helper","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[],"_globalFlags":{}},"calamares":{"id":"calamares","description":"calamares or install or configure it","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["~$ sudo eggs calamares \ncreate/renew calamares configuration's files\n","~$ sudo eggs calamares -i \ninstall calamares and create it's configuration's files\n"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false},"install":{"name":"install","type":"boolean","char":"i","description":"install calamares and it's dependencies","allowNo":false},"final":{"name":"final","type":"boolean","char":"f","description":"final: remove calamares and all it's dependencies after the installation","allowNo":false},"remove":{"name":"remove","type":"boolean","char":"r","description":"remove calamares and it's dependencies","allowNo":false},"theme":{"name":"theme","type":"option","description":"theme/branding for eggs and calamares","multiple":false}},"args":[],"_globalFlags":{}},"config":{"id":"config","description":"Configure and install prerequisites deb packages to run it","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":["prerequisites"],"examples":["~$ sudo eggs config\nConfigure and install prerequisites deb packages to run it"],"flags":{"nointeractive":{"name":"nointeractive","type":"boolean","char":"n","description":"assume yes","allowNo":false},"clean":{"name":"clean","type":"boolean","char":"c","description":"remove old configuration before to create new one","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[],"_globalFlags":{}},"dad":{"id":"dad","description":"ask help from daddy - configuration helper","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"clean":{"name":"clean","type":"boolean","char":"c","description":"remove old configuration before to create","allowNo":false},"default":{"name":"default","type":"boolean","char":"d","description":"remove old configuration and force default","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[],"_globalFlags":{}},"info":{"id":"info","description":"re-thinking for a different approach to CLI","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[],"_globalFlags":{}},"install":{"id":"install","description":"command-line system installer - the egg became a penguin!","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":["hatch","krill"],"examples":["$ eggs install\nInstall the system using GUI or CLI installer\n"],"flags":{"cli":{"name":"cli","type":"boolean","char":"c","description":"force use CLI installer","allowNo":false},"crypted":{"name":"crypted","type":"boolean","char":"k","description":"crypted CLI installation","allowNo":false},"pve":{"name":"pve","type":"boolean","char":"p","description":"Proxmox VE install","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[],"_globalFlags":{}},"kill":{"id":"kill","description":"kill the eggs/free the nest","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["$ eggs kill\nkill the eggs/free the nest"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[],"_globalFlags":{}},"mom":{"id":"mom","description":"ask for mommy - gui helper","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[],"_globalFlags":{}},"produce":{"id":"produce","description":"produce a live image from your system whithout your data","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":["spawn","lay"],"examples":["$ sudo eggs produce \nproduce an ISO called [hostname]-[arch]-YYYY-MM-DD_HHMM.iso, compressed xz (standard compression).\nIf hostname=ugo and arch=i386 ugo-x86-2020-08-25_1215.iso\n","$ sudo eggs produce -v\nsame as previuos, but with --verbose output\n","$ sudo eggs produce -vf\nsame as previuos, compression zstd, lz4 or gzip (depend from system capability)\n","$ sudo eggs produce -vm\nsame as previuos, compression xz -Xbcj x86 (max compression, about 10%\nmore compressed)\n","$ sudo eggs produce -vf --basename leo --theme debian --addons adapt \nproduce an ISO called leo-i386-2020-08-25_1215.iso compression fast,\nusing Debian theme and link to adapt\n","$ sudo eggs produce -v --basename leo --theme debian --addons rsupport \nproduce an ISO called leo-i386-2020-08-25_1215.iso compression xz,\nusing Debian theme and link to dwagent\n","$ sudo eggs produce -v --basename leo --rsupport \nproduce an ISO called leo-i386-2020-08-25_1215.iso compression xz, using eggs\ntheme and link to dwagent\n","$ sudo eggs produce -vs --basename leo --rsupport \nproduce scripts to build an ISO as the previus example. Scripts can be found\nin /home/eggs/ovarium and you can customize all you need\n"],"flags":{"prefix":{"name":"prefix","type":"option","char":"p","description":"prefix","multiple":false},"basename":{"name":"basename","type":"option","description":"basename","multiple":false},"backup":{"name":"backup","type":"boolean","char":"b","description":"backup mode","allowNo":false},"fast":{"name":"fast","type":"boolean","char":"f","description":"fast compression","allowNo":false},"normal":{"name":"normal","type":"boolean","char":"n","description":"normal compression","allowNo":false},"max":{"name":"max","type":"boolean","char":"m","description":"max compression","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false},"yolk":{"name":"yolk","type":"boolean","char":"y","description":"-y force yolk renew","allowNo":false},"script":{"name":"script","type":"boolean","char":"s","description":"script mode. Generate scripts to manage iso build","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"theme":{"name":"theme","type":"option","description":"theme for livecd, calamares branding and partitions","multiple":false},"addons":{"name":"addons","type":"option","description":"addons to be used: adapt, ichoice, pve, rsupport","multiple":true},"release":{"name":"release","type":"boolean","description":"release: configure GUI installer to remove eggs and calamares after installation","allowNo":false}},"args":[],"_globalFlags":{}},"remove":{"id":"remove","description":"remove eggs and others stuff","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["$ sudo eggs remove \nremove eggs\n","$ sudo eggs remove --purge \nremove eggs, eggs configurations, configuration's files\n","$ sudo eggs remove --autoremove \nremove eggs, eggs configurations, packages dependencies\n"],"flags":{"purge":{"name":"purge","type":"boolean","char":"p","description":"remove eggs configurations files","allowNo":false},"autoremove":{"name":"autoremove","type":"boolean","char":"a","description":"remove eggs packages dependencies","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[],"_globalFlags":{}},"syncfrom":{"id":"syncfrom","description":"Restore users, server and datas from luks-eggs-backup","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":["restore"],"examples":["$ sudo eggs restore"],"flags":{"delete":{"name":"delete","type":"option","description":"rsync --delete delete extraneous files from dest dirs","multiple":false},"file":{"name":"file","type":"option","char":"f","description":"file LUKS volume encrypted","multiple":false},"rootdir":{"name":"rootdir","type":"option","char":"r","description":"rootdir of the installed system, when used from live","multiple":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[],"_globalFlags":{}},"syncto":{"id":"syncto","description":"Backup users, server and datas to luks-eggs-backup","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":["backup"],"examples":["$ sudo eggs syncto"],"flags":{"delete":{"name":"delete","type":"option","description":"rsync --delete delete extraneous files from dest dirs","multiple":false},"file":{"name":"file","type":"option","char":"f","description":"file LUKS volume encrypted","multiple":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[],"_globalFlags":{}},"update":{"id":"update","description":"update the penguin's eggs tool","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["$ eggs update\nupdate/upgrade the penguin's eggs tool"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"apt":{"name":"apt","type":"boolean","char":"a","description":"if eggs package is .deb, update from distro repositories","allowNo":false},"basket":{"name":"basket","type":"boolean","char":"b","description":"if eggs package is .deb, update from eggs basket","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[],"_globalFlags":{}},"export:deb":{"id":"export:deb","description":"export deb/docs/iso to the destination host","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"clean":{"name":"clean","type":"boolean","char":"c","description":"remove old .deb before to copy","allowNo":false},"amd64":{"name":"amd64","type":"boolean","description":"export amd64 arch","allowNo":false},"i386":{"name":"i386","type":"boolean","description":"export i386 arch","allowNo":false},"armel":{"name":"armel","type":"boolean","description":"export armel arch","allowNo":false},"arm64":{"name":"arm64","type":"boolean","description":"export arm64 arch","allowNo":false},"all":{"name":"all","type":"boolean","char":"a","description":"export all archs","allowNo":false}},"args":[],"_globalFlags":{}},"export:docs":{"id":"export:docs","description":"remove and export docType documentation of the sources in the destination host","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[],"_globalFlags":{}},"export:iso":{"id":"export:iso","description":"export iso in the destination host","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"backup":{"name":"backup","type":"boolean","char":"b","description":"export backup ISOs","allowNo":false},"clean":{"name":"clean","type":"boolean","char":"c","description":"delete old ISOs before to copy","allowNo":false}},"args":[],"_globalFlags":{}},"tools:clean":{"id":"tools:clean","description":"clean system log, apt, etc","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":["clean"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[],"_globalFlags":{}},"tools:locales":{"id":"tools:locales","description":"install/clean locales","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"reinstall":{"name":"reinstall","type":"boolean","char":"r","description":"reinstall locales","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[],"_globalFlags":{}},"tools:skel":{"id":"tools:skel","description":"update skel from home configuration","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":["skel"],"examples":["$ eggs skel --user mauro\ndesktop configuration of user mauro will get used as default"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"user":{"name":"user","type":"option","char":"u","description":"user to be used","multiple":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[],"_globalFlags":{}},"tools:stat":{"id":"tools:stat","description":"get statistics from sourceforge","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":["stat"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"month":{"name":"month","type":"boolean","char":"m","description":"current month","allowNo":false},"year":{"name":"year","type":"boolean","char":"y","description":"current year","allowNo":false}},"args":[],"_globalFlags":{}},"tools:yolk":{"id":"tools:yolk","description":"configure eggs to install without internet","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["$ eggs yolk -v"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[],"_globalFlags":{},"dir":"/var/local/yolk"},"wardrobe:ironing":{"id":"wardrobe:ironing","description":"ironing costumes: sorting packages, firmwares and so on","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"costume":{"name":"costume","type":"option","char":"c","description":"costume","multiple":false},"wardrobe":{"name":"wardrobe","type":"option","char":"w","description":"wardrobe","multiple":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[],"_globalFlags":{}},"wardrobe:list":{"id":"wardrobe:list","description":"list, wear costumes","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"wardrobe":{"name":"wardrobe","type":"option","char":"w","description":"wardrobe","multiple":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[],"_globalFlags":{}},"wardrobe:show":{"id":"wardrobe:show","description":"show costumes","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"wardrobe":{"name":"wardrobe","type":"option","char":"w","description":"wardrobe","multiple":false},"costume":{"name":"costume","type":"option","char":"c","description":"costume","multiple":false},"json":{"name":"json","type":"boolean","char":"j","description":"output JSON","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[],"_globalFlags":{}},"wardrobe:wear":{"id":"wardrobe:wear","description":"wear costume","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"costume":{"name":"costume","type":"option","char":"c","description":"Costume","multiple":false},"wardrobe":{"name":"wardrobe","type":"option","char":"w","description":"wardrobe","multiple":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[],"_globalFlags":{}}}}