penguins-eggs 9.3.19 → 9.3.22

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.
@@ -109,24 +109,39 @@ class Xdg {
109
109
  if (pacman_1.default.packageIsInstalled('sddm')) {
110
110
  let sddmChanged = false;
111
111
  let curFile = `${chroot}/etc/sddm.conf`;
112
- let content = node_fs_1.default.readFileSync(curFile, 'utf8');
113
- let find = `[Autologin]`;
114
- if (content.includes(find)) {
115
- shelljs_1.default.sed('-i', `User=${olduser}`, `User=${newuser}`, curFile);
116
- sddmChanged = true;
112
+ if (node_fs_1.default.existsSync(curFile)) {
113
+ let content = node_fs_1.default.readFileSync(curFile, 'utf8');
114
+ let find = `[Autologin]`;
115
+ if (content.includes(find)) {
116
+ shelljs_1.default.sed('-i', `User=${olduser}`, `User=${newuser}`, curFile);
117
+ sddmChanged = true;
118
+ }
117
119
  }
118
120
  if (!sddmChanged) {
119
121
  let dc = `${chroot}/etc/sddm.conf.d/`;
120
- let files = node_fs_1.default.readdirSync(dc);
121
- for (const elem of files) {
122
- const curFile = dc + elem;
123
- let content = node_fs_1.default.readFileSync(curFile, 'utf8');
124
- if (content.includes(find)) {
125
- shelljs_1.default.sed('-i', `User=${olduser}`, `User=${newuser}`, curFile);
126
- sddmChanged = true;
122
+ if (node_fs_1.default.existsSync(dc)) {
123
+ let files = node_fs_1.default.readdirSync(dc);
124
+ for (const elem of files) {
125
+ const curFile = dc + elem;
126
+ let content = node_fs_1.default.readFileSync(curFile, 'utf8');
127
+ let find = `[Autologin]`;
128
+ if (content.includes(find)) {
129
+ shelljs_1.default.sed('-i', `User=${olduser}`, `User=${newuser}`, curFile);
130
+ sddmChanged = true;
131
+ }
127
132
  }
128
133
  }
129
134
  }
135
+ // sddm.conf don't exists, generate it
136
+ if (!sddmChanged) {
137
+ let session = "plasma";
138
+ if (pacman_1.default.isInstalledWayland()) {
139
+ session = "plasma-wayland";
140
+ }
141
+ let content = `[Autologin]\nUser=${newuser}\nSession=${session}\n`;
142
+ let curFile = `${chroot}/etc/sddm.conf`;
143
+ node_fs_1.default.writeFileSync(curFile, content, 'utf8');
144
+ }
130
145
  }
131
146
  /**
132
147
  * GDM/GDM3
@@ -177,12 +192,12 @@ class Xdg {
177
192
  await rsyncIfExist(`/home/${user}/.gtkrc-2.0`, '/etc/skel', verbose);
178
193
  }
179
194
  else if (pacman_1.default.packageIsInstalled('cinnamon-core')) {
180
- // use .cinnamon NOT cinnamon/
195
+ // use .cinnamon NOT cinnamon/
181
196
  await rsyncIfExist(`/home/${user}/.config`, '/etc/skel', verbose);
182
197
  await rsyncIfExist(`/home/${user}/.cinnamon`, '/etc/skel', verbose);
183
198
  }
184
199
  else if (pacman_1.default.packageIsInstalled('plasma-desktop')) {
185
- // use .kde NOT .kde/
200
+ // use .kde NOT .kde/
186
201
  await rsyncIfExist(`/home/${user}/.config`, '/etc/skel', verbose);
187
202
  await rsyncIfExist(`/home/${user}/.kde`, '/etc/skel', verbose);
188
203
  }
@@ -202,7 +217,7 @@ class Xdg {
202
217
  await rsyncIfExist(`/home/${user}/.gtkrc-2.0`, '/etc/skel', verbose);
203
218
  }
204
219
  else if (pacman_1.default.packageIsInstalled('xfce4-session')) {
205
- // use .config/xfce4 NOT .config/xfce4/
220
+ // use .config/xfce4 NOT .config/xfce4/
206
221
  await rsyncIfExist(`/home/${user}/.config/xfce4`, '/etc/skel/.config', verbose);
207
222
  await (0, utils_2.exec)(`mkdir /etc/skel/.local/share -p`, echo);
208
223
  await rsyncIfExist(`/home/${user}/.local/share/recently-used.xbel`, '/etc/skel/.local/share', verbose);
@@ -210,6 +225,10 @@ class Xdg {
210
225
  /**
211
226
  * special cases
212
227
  */
228
+ // waydroid
229
+ if (node_fs_1.default.existsSync(`/home/${user}/waydroid-package-manager`)) {
230
+ await rsyncIfExist(`/home/${user}/waydroid-package-manager`, '/etc/skel', verbose);
231
+ }
213
232
  // LinuxFX
214
233
  if (node_fs_1.default.existsSync(`/home/${user}/.linuxfx`)) {
215
234
  // we need to copy: .linuxfx ,kde and ,cinnamon
@@ -217,14 +236,6 @@ class Xdg {
217
236
  await rsyncIfExist(`/home/${user}/.kde`, '/etc/skel', verbose);
218
237
  await rsyncIfExist(`/home/${user}/.linuxfx`, `/etc/skel`, verbose);
219
238
  await rsyncIfExist(`/home/${user}/.local`, '/etc/skel', verbose);
220
- // Create dirs - we try in this way...
221
- // await exec(`mkdir /etc/skel/Desktop`)
222
- // await exec(`mkdir /etc/skel/Downloads`)
223
- // await exec(`mkdir /etc/skel/OneDrive`)
224
- // await exec(`mkdir /etc/skel/Pictures`)
225
- // await exec(`mkdir /etc/skel/Public`)
226
- // await exec(`mkdir /etc/skel/Template`)
227
- // await exec(`mkdir /etc/skel/Videos`)
228
239
  }
229
240
  await (0, utils_2.exec)('chown root:root /etc/skel -R', echo);
230
241
  await (0, utils_2.exec)('chmod a+rwx,g-w,o-w /etc/skel/ -R', echo);
@@ -25,6 +25,6 @@ exports.default = Adapt;
25
25
  Adapt.description = 'adapt monitor resolution for VM only';
26
26
  // static aliases = ['adjust']
27
27
  Adapt.flags = {
28
- verbose: core_1.Flags.boolean({ char: 'v' }),
29
- help: core_1.Flags.help({ char: 'h' })
28
+ help: core_1.Flags.help({ char: 'h' }),
29
+ verbose: core_1.Flags.boolean({ char: 'v' })
30
30
  };
@@ -102,10 +102,10 @@ exports.default = Calamares;
102
102
  Calamares.description = 'calamares or install or configure it';
103
103
  Calamares.flags = {
104
104
  help: core_1.Flags.help({ char: 'h' }),
105
- verbose: core_1.Flags.boolean({ char: 'v' }),
106
105
  install: core_1.Flags.boolean({ char: 'i', description: "install calamares and it's dependencies" }),
107
106
  release: core_1.Flags.boolean({ char: 'r', description: "release: remove calamares and all it's dependencies after the installation" }),
108
107
  remove: core_1.Flags.boolean({ description: "remove calamares and it's dependencies" }),
109
- theme: core_1.Flags.string({ description: 'theme/branding for eggs and calamares' })
108
+ theme: core_1.Flags.string({ description: 'theme/branding for eggs and calamares' }),
109
+ verbose: core_1.Flags.boolean({ char: 'v' })
110
110
  };
111
111
  Calamares.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"];
@@ -209,9 +209,9 @@ exports.default = Config;
209
209
  Config.description = 'Configure and install prerequisites deb packages to run it';
210
210
  // static aliases = ['prerequisites']
211
211
  Config.flags = {
212
- nointeractive: core_1.Flags.boolean({ char: 'n', description: 'assume yes' }),
213
212
  clean: core_1.Flags.boolean({ char: 'c', description: 'remove old configuration before to create new one' }),
214
213
  help: core_1.Flags.help({ char: 'h' }),
214
+ nointeractive: core_1.Flags.boolean({ char: 'n', description: 'assume yes' }),
215
215
  verbose: core_1.Flags.boolean({ char: 'v', description: 'verbose' })
216
216
  };
217
217
  Config.examples = ['~$ sudo eggs config\nConfigure and install prerequisites deb packages to run it'];
@@ -32,8 +32,8 @@ class Dad extends core_1.Command {
32
32
  exports.default = Dad;
33
33
  Dad.description = 'ask help from daddy - configuration helper';
34
34
  Dad.flags = {
35
- help: core_1.Flags.help({ char: 'h' }),
36
35
  clean: core_1.Flags.boolean({ char: 'c', description: 'remove old configuration before to create' }),
37
36
  default: core_1.Flags.boolean({ char: 'd', description: 'remove old configuration and force default' }),
37
+ help: core_1.Flags.help({ char: 'h' }),
38
38
  verbose: core_1.Flags.boolean({ char: 'v' })
39
39
  };
@@ -45,8 +45,8 @@ class ExportDeb extends core_1.Command {
45
45
  exports.default = ExportDeb;
46
46
  ExportDeb.description = 'export deb/docs/iso to the destination host';
47
47
  ExportDeb.flags = {
48
- help: core_1.Flags.help({ char: 'h' }),
49
48
  all: core_1.Flags.boolean({ char: 'a', description: 'export all archs' }),
50
49
  clean: core_1.Flags.boolean({ char: 'c', description: 'remove old .deb before to copy' }),
50
+ help: core_1.Flags.help({ char: 'h' }),
51
51
  verbose: core_1.Flags.boolean({ char: 'v', description: 'verbose' })
52
52
  };
@@ -43,8 +43,8 @@ class ExportIso extends core_1.Command {
43
43
  exports.default = ExportIso;
44
44
  ExportIso.description = 'export iso in the destination host';
45
45
  ExportIso.flags = {
46
- help: core_1.Flags.help({ char: 'h' }),
47
46
  backup: core_1.Flags.boolean({ char: 'b', description: 'export backup ISOs' }),
48
47
  clean: core_1.Flags.boolean({ char: 'c', description: 'delete old ISOs before to copy' }),
48
+ help: core_1.Flags.help({ char: 'h' }),
49
49
  verbose: core_1.Flags.boolean({ char: 'v', description: 'verbose' })
50
50
  };
@@ -49,6 +49,8 @@ class Install extends core_1.Command {
49
49
  krillConfig = js_yaml_1.default.load(content);
50
50
  });
51
51
  }
52
+ // noninteractive
53
+ let noninteractive = flags.nointeractive;
52
54
  // hostname
53
55
  let ip = flags.ip;
54
56
  let random = flags.random;
@@ -69,7 +71,7 @@ class Install extends core_1.Command {
69
71
  if (utils_1.default.isRoot()) {
70
72
  if (utils_1.default.isLive()) {
71
73
  const krill = new krill_prepare_1.default();
72
- await krill.prepare(unattended, krillConfig, ip, random, domain, suspend, small, none, crypted, pve, verbose);
74
+ await krill.prepare(unattended, noninteractive, krillConfig, ip, random, domain, suspend, small, none, crypted, pve, verbose);
73
75
  }
74
76
  else {
75
77
  utils_1.default.warning('You are in an installed system!');
@@ -82,23 +84,18 @@ class Install extends core_1.Command {
82
84
  }
83
85
  exports.default = Install;
84
86
  Install.flags = {
85
- unattended: core_1.Flags.boolean({ char: 'u', description: 'Unattended installation' }),
87
+ crypted: core_1.Flags.boolean({ char: 'k', description: 'Crypted CLI installation' }),
86
88
  custom: core_1.Flags.string({ char: 'c', description: 'custom unattended configuration' }),
87
- // hostname
89
+ domain: core_1.Flags.string({ char: 'd', description: 'Domain name, defult: .local' }),
90
+ help: core_1.Flags.help({ char: 'h' }),
88
91
  ip: core_1.Flags.boolean({ char: 'i', description: 'hostname as ip, eg: ip-192-168-1-33' }),
92
+ nointeractive: core_1.Flags.boolean({ char: 'n', description: 'assume yes' }),
93
+ none: core_1.Flags.boolean({ char: 'N', description: 'Swap none: 256M' }),
94
+ pve: core_1.Flags.boolean({ char: 'p', description: 'Proxmox VE install' }),
89
95
  random: core_1.Flags.boolean({ char: 'r', description: 'Add random to hostname, eg: colibri-ay412dt' }),
90
- // append: Flags.string({char: 'a', description: 'append to hostname: ip, random'}),
91
- domain: core_1.Flags.string({ char: 'd', description: 'Domain name, defult: .local' }),
92
- // swap
93
- // swap: Flags.string({char: 's', description: 'swap: none, small, suspend'}),
94
- suspend: core_1.Flags.boolean({ char: 'S', description: 'Swap suspend: RAM x 2' }),
95
96
  small: core_1.Flags.boolean({ char: 's', description: 'Swap small: RAM' }),
96
- none: core_1.Flags.boolean({ char: 'n', description: 'Swap none: 256M' }),
97
- //
98
- crypted: core_1.Flags.boolean({ char: 'k', description: 'Crypted CLI installation' }),
99
- pve: core_1.Flags.boolean({ char: 'p', description: 'Proxmox VE install' }),
100
- // generic
101
- help: core_1.Flags.help({ char: 'h' }),
97
+ suspend: core_1.Flags.boolean({ char: 'S', description: 'Swap suspend: RAM x 2' }),
98
+ unattended: core_1.Flags.boolean({ char: 'u', description: 'Unattended installation' }),
102
99
  verbose: core_1.Flags.boolean({ char: 'v', description: 'Verbose' })
103
100
  };
104
101
  Install.description = 'command-line system installer - the egg became a penguin!';
@@ -125,21 +125,20 @@ class Produce extends core_1.Command {
125
125
  }
126
126
  exports.default = Produce;
127
127
  Produce.flags = {
128
- prefix: core_1.Flags.string({ char: 'p', description: 'prefix' }),
129
- basename: core_1.Flags.string({ description: 'basename' }),
128
+ addons: core_1.Flags.string({ multiple: true, description: 'addons to be used: adapt, ichoice, pve, rsupport' }),
130
129
  backup: core_1.Flags.boolean({ char: 'b', description: 'backup mode (CRYPTED)' }),
130
+ basename: core_1.Flags.string({ description: 'basename' }),
131
131
  clone: core_1.Flags.boolean({ char: 'c', description: 'clone mode' }),
132
132
  fast: core_1.Flags.boolean({ char: 'f', description: 'fast compression' }),
133
- // normal: Flags.boolean({ char: 'n', description: 'normal compression' }),
133
+ help: core_1.Flags.help({ char: 'h' }),
134
134
  max: core_1.Flags.boolean({ char: 'm', description: 'max compression' }),
135
- verbose: core_1.Flags.boolean({ char: 'v', description: 'verbose' }),
136
- yolk: core_1.Flags.boolean({ char: 'y', description: '-y force yolk renew' }),
135
+ nointeractive: core_1.Flags.boolean({ char: 'n', description: 'don\'t ask for user interctions' }),
136
+ prefix: core_1.Flags.string({ char: 'p', description: 'prefix' }),
137
+ release: core_1.Flags.boolean({ description: 'release: max compression, remove penguins-eggs and calamares after installation' }),
137
138
  script: core_1.Flags.boolean({ char: 's', description: 'script mode. Generate scripts to manage iso build' }),
138
- help: core_1.Flags.help({ char: 'h' }),
139
139
  theme: core_1.Flags.string({ description: 'theme for livecd, calamares branding and partitions' }),
140
- addons: core_1.Flags.string({ multiple: true, description: 'addons to be used: adapt, ichoice, pve, rsupport' }),
141
- release: core_1.Flags.boolean({ description: 'release: max compression, remove penguins-eggs and calamares after installation' }),
142
- nointeractive: core_1.Flags.boolean({ char: 'n', description: 'don\'t ask for user interctions' })
140
+ verbose: core_1.Flags.boolean({ char: 'v', description: 'verbose' }),
141
+ yolk: core_1.Flags.boolean({ char: 'y', description: '-y force yolk renew' }),
143
142
  };
144
143
  Produce.description = 'produce a live image from your system whithout your data';
145
144
  Produce.examples = [
@@ -25,6 +25,6 @@ class Status extends core_1.Command {
25
25
  exports.default = Status;
26
26
  Status.description = 'informations about eggs status';
27
27
  Status.flags = {
28
- verbose: core_1.Flags.boolean({ char: 'v' }),
29
- help: core_1.Flags.help({ char: 'h' })
28
+ help: core_1.Flags.help({ char: 'h' }),
29
+ verbose: core_1.Flags.boolean({ char: 'v' })
30
30
  };
@@ -155,11 +155,9 @@ exports.default = Syncfrom;
155
155
  Syncfrom.description = 'restore users and user data from a LUKS volumes';
156
156
  Syncfrom.flags = {
157
157
  delete: core_1.Flags.string({ description: 'rsync --delete delete extraneous files from dest dirs' }),
158
- // excludeFrom: Flags.string({ description: 'same as rsync --exclude-from=FILE read exclude patterns from FILE' }),
159
- // includeFrom: Flags.string({ description: 'same as rsync --include-from=FILE read include patterns from FILE' }),
160
158
  file: core_1.Flags.string({ char: 'f', description: "file LUKS volume encrypted" }),
161
- rootdir: core_1.Flags.string({ char: 'r', description: 'rootdir of the installed system, when used from live' }),
162
159
  help: core_1.Flags.help({ char: 'h' }),
160
+ rootdir: core_1.Flags.string({ char: 'r', description: 'rootdir of the installed system, when used from live' }),
163
161
  verbose: core_1.Flags.boolean({ char: 'v', description: 'verbose' })
164
162
  };
165
163
  // static aliases = ['restore']
@@ -51,8 +51,8 @@ class Ppa extends core_1.Command {
51
51
  exports.default = Ppa;
52
52
  Ppa.description = 'add/remove PPA repositories (Debian family)';
53
53
  Ppa.flags = {
54
- help: core_1.Flags.help({ char: 'h' }),
55
54
  add: core_1.Flags.boolean({ char: 'a', description: 'add penguins-eggs PPA repository' }),
55
+ help: core_1.Flags.help({ char: 'h' }),
56
56
  remove: core_1.Flags.boolean({ char: 'r', description: 'remove penguins-eggs PPA repository' }),
57
57
  verbose: core_1.Flags.boolean({ char: 'v', description: 'verbose' })
58
58
  };
@@ -38,6 +38,6 @@ exports.default = Get;
38
38
  Get.description = 'get warorobe';
39
39
  Get.args = [{ name: 'repo', description: 'repository to get', required: false }];
40
40
  Get.flags = {
41
- verbose: core_1.Flags.boolean({ char: 'v' }),
42
- help: core_1.Flags.help({ char: 'h' })
41
+ help: core_1.Flags.help({ char: 'h' }),
42
+ verbose: core_1.Flags.boolean({ char: 'v' })
43
43
  };
@@ -76,6 +76,6 @@ exports.default = List;
76
76
  List.description = 'list costumes and accessoires in wardrobe';
77
77
  List.args = [{ name: 'wardrobe', description: 'wardrobe', required: false }];
78
78
  List.flags = {
79
- verbose: core_1.Flags.boolean({ char: 'v' }),
80
- help: core_1.Flags.help({ char: 'h' })
79
+ help: core_1.Flags.help({ char: 'h' }),
80
+ verbose: core_1.Flags.boolean({ char: 'v' })
81
81
  };
@@ -64,8 +64,8 @@ exports.default = Show;
64
64
  Show.description = 'show costumes/accessories in wardrobe';
65
65
  Show.args = [{ name: 'costume', description: 'costume', required: false }];
66
66
  Show.flags = {
67
- wardrobe: core_1.Flags.string({ char: 'w', description: 'wardrobe' }),
67
+ help: core_1.Flags.help({ char: 'h' }),
68
68
  json: core_1.Flags.boolean({ char: 'j', description: 'output JSON' }),
69
69
  verbose: core_1.Flags.boolean({ char: 'v' }),
70
- help: core_1.Flags.help({ char: 'h' })
70
+ wardrobe: core_1.Flags.string({ char: 'w', description: 'wardrobe' }),
71
71
  };
@@ -75,10 +75,10 @@ exports.default = Wear;
75
75
  Wear.description = 'wear costume/accessories from wardrobe';
76
76
  Wear.args = [{ name: 'costume', description: 'costume', required: false }];
77
77
  Wear.flags = {
78
- wardrobe: core_1.Flags.string({ char: 'w', description: 'wardrobe' }),
78
+ help: core_1.Flags.help({ char: 'h' }),
79
79
  no_accessories: core_1.Flags.boolean({ char: 'a', description: 'not install accessories' }),
80
80
  no_firmwares: core_1.Flags.boolean({ char: 'f', description: 'not install firmwares' }),
81
81
  silent: core_1.Flags.boolean({ char: 's' }),
82
82
  verbose: core_1.Flags.boolean({ char: 'v' }),
83
- help: core_1.Flags.help({ char: 'h' })
83
+ wardrobe: core_1.Flags.string({ char: 'w', description: 'wardrobe' }),
84
84
  };
@@ -1,4 +1,6 @@
1
1
  "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
2
4
  /**
3
5
  * penguins-eggs: krill
4
6
  *
@@ -53,8 +55,6 @@
53
55
  * KDE-shipping-distro). To get all that you just need Calamares installed and the
54
56
  * relevant /etc/calamares/ files.
55
57
  */
56
- Object.defineProperty(exports, "__esModule", { value: true });
57
- const tslib_1 = require("tslib");
58
58
  const os_1 = tslib_1.__importDefault(require("os"));
59
59
  const react_1 = tslib_1.__importDefault(require("react"));
60
60
  const ink_1 = require("ink");
@@ -110,7 +110,7 @@ class Krill {
110
110
  /**
111
111
  * @param cryped
112
112
  */
113
- async prepare(unattended = false, krillConfig = {}, ip = false, random = false, domain = 'local', suspend = false, small = false, none = false, cryped = false, pve = false, verbose = false) {
113
+ async prepare(unattended = false, noninteractive = false, krillConfig = {}, ip = false, random = false, domain = 'local', suspend = false, small = false, none = false, cryped = false, pve = false, verbose = false) {
114
114
  /**
115
115
  * Check for disk presence
116
116
  */
@@ -209,6 +209,7 @@ class Krill {
209
209
  dns: utils_1.default.getDns(),
210
210
  domain: utils_1.default.getDomain()
211
211
  };
212
+ // end unattended!
212
213
  }
213
214
  else {
214
215
  oWelcome = await this.welcome();
@@ -221,7 +222,7 @@ class Krill {
221
222
  /**
222
223
  * summary
223
224
  */
224
- await this.summary(oLocation, oKeyboard, oPartitions, oUsers, unattended);
225
+ await this.summary(oLocation, oKeyboard, oPartitions, oUsers, unattended, noninteractive);
225
226
  /**
226
227
  * installation
227
228
  */
@@ -233,7 +234,7 @@ class Krill {
233
234
  async welcome() {
234
235
  let language = this.krillConfig.language;
235
236
  if (language === '') {
236
- language = await this.locales.getDefault(); // 'en_US.UTF-8'
237
+ language = await this.locales.getDefault(); // 'en_US.UTF-8'
237
238
  }
238
239
  let welcomeElem;
239
240
  while (true) {
@@ -479,19 +480,28 @@ class Krill {
479
480
  /**
480
481
  * SUMMARY
481
482
  */
482
- async summary(location, keyboard, partitions, users, unattended = false) {
483
+ async summary(location, keyboard, partitions, users, unattended = false, noninteractive = false) {
484
+ //
483
485
  let summaryElem;
484
- let message = "";
485
- if (unattended) {
486
+ let message = "Double check the installation disk: " + partitions.installationDevice;
487
+ if (unattended && noninteractive) {
486
488
  message = "Unattended installation will start in 5 seconds, press CTRL-C to abort!";
487
489
  }
488
490
  while (true) {
489
491
  summaryElem = react_1.default.createElement(summary_1.default, { name: users.name, password: users.password, rootPassword: users.rootPassword, hostname: users.hostname, region: location.region, zone: location.zone, language: location.language, keyboardModel: keyboard.keyboardModel, keyboardLayout: keyboard.keyboardLayout, installationDevice: partitions.installationDevice, message: message });
490
- if (unattended) {
492
+ if (unattended && noninteractive) {
491
493
  redraw(summaryElem);
492
494
  await sleep(5000);
493
495
  break;
494
496
  }
497
+ else if (unattended && !noninteractive) {
498
+ if (await confirm(summaryElem, "Read the Summary, confirm or abort")) {
499
+ break;
500
+ }
501
+ else {
502
+ process.exit(0);
503
+ }
504
+ }
495
505
  else if (await confirm(summaryElem, "Confirm Summary datas?")) {
496
506
  break;
497
507
  }
@@ -542,7 +552,8 @@ function redraw(elem) {
542
552
  let opt = {};
543
553
  opt.patchConsole = true;
544
554
  opt.debug = false;
545
- shelljs_1.default.exec('clear');
555
+ console.clear();
556
+ // shx.exec('clear')
546
557
  (0, ink_1.render)(elem, opt);
547
558
  }
548
559
  /**
@@ -88,7 +88,7 @@ class Sequence {
88
88
  // bootloader-config
89
89
  this.bootloaderConfig = bootloader_config_1.default;
90
90
  this.bootloaderConfigUbuntu = bootloader_config_ubuntu_1.default;
91
- //
91
+ //
92
92
  this.grubcfg = grubcfg_1.default;
93
93
  this.bootloader = bootloader_1.default;
94
94
  this.packages = packages_1.default;
@@ -427,6 +427,7 @@ class Sequence {
427
427
  // cleanup
428
428
  await cliAutologin.msgRemove(`${this.installTarget}/etc/motd`);
429
429
  await cliAutologin.msgRemove(`${this.installTarget}/etc/issue`);
430
+ await cliAutologin.remove(this.installTarget);
430
431
  // bootloader-config
431
432
  message = "bootloader-config ";
432
433
  percent = 0.70;
@@ -437,7 +438,7 @@ class Sequence {
437
438
  catch (error) {
438
439
  await utils_1.default.pressKeyToExit(JSON.stringify(error));
439
440
  }
440
- // grubcfg
441
+ // grubcfg
441
442
  message = "grubcfg ";
442
443
  percent = 0.75;
443
444
  try {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "penguins-eggs",
3
3
  "description": "Perri's Brewery edition: remaster your system and distribuite it",
4
- "version": "9.3.19",
4
+ "version": "9.3.22",
5
5
  "author": "Piero Proietti @pieroproietti",
6
6
  "bin": {
7
7
  "eggs": "bin/run"
package/scripts/_eggs CHANGED
@@ -29,12 +29,11 @@ _eggs () {
29
29
  "tools\:yolk:configure eggs to install without internet"
30
30
  "update:update the penguin's eggs tool"
31
31
  "wardrobe\:get:get warorobe"
32
- "wardrobe\:ironing:ordered show of costumes or accessories in wardrobe"
33
32
  "wardrobe\:list:list costumes and accessoires in wardrobe"
34
33
  "wardrobe\:show:show costumes/accessories in wardrobe"
35
34
  "wardrobe\:wear:wear costume/accessories from wardrobe"
36
- "autocomplete:display autocomplete installation instructions"
37
35
  "help:Display help for <%= config.bin %>."
36
+ "autocomplete:display autocomplete installation instructions"
38
37
  "version:"
39
38
  )
40
39
 
@@ -111,6 +110,7 @@ install)
111
110
  _command_flags=(
112
111
  "--unattended[Unattended installation]"
113
112
  "--custom=-[custom unattended configuration]:"
113
+ "--nointeractive[assume yes]"
114
114
  "--ip[hostname as ip, eg: ip-192-168-1-33]"
115
115
  "--random[Add random to hostname, eg: colibri-ay412dt]"
116
116
  "--domain=-[Domain name, defult: .local]:"
@@ -235,14 +235,6 @@ wardrobe:get)
235
235
  )
236
236
  ;;
237
237
 
238
- wardrobe:ironing)
239
- _command_flags=(
240
- "--wardrobe=-[wardrobe]:"
241
- "--verbose[]"
242
- "--help[Show CLI help.]"
243
- )
244
- ;;
245
-
246
238
  wardrobe:list)
247
239
  _command_flags=(
248
240
  "--verbose[]"
@@ -270,15 +262,15 @@ wardrobe:wear)
270
262
  )
271
263
  ;;
272
264
 
273
- autocomplete)
265
+ help)
274
266
  _command_flags=(
275
- "--refresh-cache[Refresh cache (ignores displaying instructions)]"
267
+ "--nested-commands[Include all nested commands in the output.]"
276
268
  )
277
269
  ;;
278
270
 
279
- help)
271
+ autocomplete)
280
272
  _command_flags=(
281
- "--nested-commands[Include all nested commands in the output.]"
273
+ "--refresh-cache[Refresh cache (ignores displaying instructions)]"
282
274
  )
283
275
  ;;
284
276
 
package/scripts/eggs.bash CHANGED
@@ -19,7 +19,7 @@ cuckoo --help
19
19
  dad --help --clean --default --verbose
20
20
  export:deb --help --all --clean --verbose
21
21
  export:iso --help --backup --clean --verbose
22
- install --unattended --custom --ip --random --domain --suspend --small --none --crypted --pve --help --verbose
22
+ install --unattended --custom --nointeractive --ip --random --domain --suspend --small --none --crypted --pve --help --verbose
23
23
  kill --help --verbose
24
24
  mom --help
25
25
  produce --prefix --basename --backup --clone --fast --max --verbose --yolk --script --help --theme --addons --release --nointeractive
@@ -33,12 +33,11 @@ tools:stat --help --month --year
33
33
  tools:yolk --help --verbose
34
34
  update --help --verbose
35
35
  wardrobe:get --verbose --help
36
- wardrobe:ironing --wardrobe --verbose --help
37
36
  wardrobe:list --verbose --help
38
37
  wardrobe:show --wardrobe --json --verbose --help
39
38
  wardrobe:wear --wardrobe --no_accessories --no_firmwares --silent --verbose --help
40
- autocomplete --refresh-cache
41
39
  help --nested-commands
40
+ autocomplete --refresh-cache
42
41
  version --json --verbose
43
42
  "
44
43