penguins-eggs 9.5.2 → 9.5.4
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 +1 -1
- package/README.md +6 -6
- package/conf/distros/rolling/calamares/modules/bootloader.yml +75 -0
- package/conf/distros/rolling/calamares/modules/displaymanager.yml +2 -2
- package/conf/distros/rolling/calamares/modules/finished.yml +44 -4
- package/conf/distros/rolling/calamares/modules/fstab.yml +30 -12
- package/conf/distros/rolling/calamares/modules/locale.yml +55 -21
- package/conf/distros/rolling/calamares/modules/luksopenswaphookcfg.yml +3 -4
- package/conf/distros/rolling/calamares/modules/machineid.yml +37 -1
- package/conf/distros/rolling/calamares/modules/mount.yml +108 -31
- package/conf/distros/rolling/calamares/modules/packages.yml +2 -2
- package/conf/distros/rolling/calamares/modules/removeuser.yml +3 -2
- package/conf/distros/rolling/calamares/modules/shellprocess_removelink.yml +3 -1
- package/conf/distros/rolling/calamares/modules/unpackfs.yml +2 -2
- package/conf/distros/rolling/calamares/modules/users.yml +1 -1
- package/conf/distros/rolling/calamares-32/modules/displaymanager.yml +23 -0
- package/conf/distros/rolling/calamares-32/modules/finished.yml +6 -0
- package/conf/distros/rolling/calamares-32/modules/fstab.yml +14 -0
- package/conf/distros/rolling/calamares-32/modules/locale.yml +11 -0
- package/conf/distros/rolling/calamares-32/modules/mount.yml +39 -0
- package/conf/distros/rolling/calamares-32/modules/packages.yml +11 -0
- package/conf/distros/rolling/calamares-32/modules/partition.yml +283 -0
- package/conf/distros/rolling/calamares-32/modules/removeuser.yml +16 -0
- package/conf/distros/rolling/calamares-32/modules/shellprocess_removelink.yml +8 -0
- package/conf/distros/rolling/calamares-32/modules/unpackfs.yml +7 -0
- package/conf/distros/rolling/calamares-32/modules/users.yml +20 -0
- package/conf/distros/rolling/calamares-32/settings.yml +91 -0
- package/dist/classes/incubation/installer.js +3 -0
- package/dist/classes/ovary.js +4 -1
- package/dist/classes/pxe.js +4 -2
- package/dist/classes/tools.js +5 -1
- package/dist/commands/produce.js +8 -3
- package/dist/commands/tools/ppa.js +81 -25
- package/dist/commands/wardrobe/list.js +14 -3
- package/dist/krill/krill-prepare.js +6 -1
- package/dist/krill/krill-sequence.js +6 -1
- package/package.json +1 -1
- package/scripts/force-calamares.sh +9 -0
- package/conf/distros/rolling/README.md +0 -3
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# Manjaro
|
|
2
|
+
# Calamares 3.2
|
|
3
|
+
# setiing
|
|
4
|
+
---
|
|
5
|
+
# "local" is LIBDIR/calamares/modules with settings in SHARE/calamares/modules
|
|
6
|
+
modules-search: [local, /usr/lib/calamares/modules, /usr/share/calamares]
|
|
7
|
+
|
|
8
|
+
instances:
|
|
9
|
+
- id: cleanup
|
|
10
|
+
module: shellprocess
|
|
11
|
+
config: shellprocess_cleanup.conf
|
|
12
|
+
|
|
13
|
+
sequence:
|
|
14
|
+
# Phase 1 - prepare.
|
|
15
|
+
# View modules are shown as UI pages, jobs from job modules
|
|
16
|
+
# are executed immediately in the background.
|
|
17
|
+
# Jobs should be executed sparingly (if at all) in this phase.
|
|
18
|
+
- show:
|
|
19
|
+
- welcome
|
|
20
|
+
- locale
|
|
21
|
+
- keyboard
|
|
22
|
+
- partition
|
|
23
|
+
- users
|
|
24
|
+
- summary
|
|
25
|
+
|
|
26
|
+
# Phase 2 - install.
|
|
27
|
+
# View modules are not shown. Only the view modules shown
|
|
28
|
+
# in the previous phase are allowed, their names should be
|
|
29
|
+
# added here as placeholders to specify the order in which
|
|
30
|
+
# view module jobs should be enqueued. Job modules are
|
|
31
|
+
# also allowed.
|
|
32
|
+
- exec:
|
|
33
|
+
- partition
|
|
34
|
+
- mount
|
|
35
|
+
- unpackfs
|
|
36
|
+
- machineid
|
|
37
|
+
- fstab
|
|
38
|
+
- locale
|
|
39
|
+
- keyboard
|
|
40
|
+
- localecfg
|
|
41
|
+
- users
|
|
42
|
+
- displaymanager
|
|
43
|
+
- networkcfg
|
|
44
|
+
- hwclock
|
|
45
|
+
- grubcfg
|
|
46
|
+
- bootloader
|
|
47
|
+
- packages
|
|
48
|
+
- luksbootkeyfile
|
|
49
|
+
- plymouthcfg
|
|
50
|
+
- removeuser
|
|
51
|
+
# shellprocess removelink
|
|
52
|
+
- umount
|
|
53
|
+
|
|
54
|
+
# Phase 3 - postinstall.
|
|
55
|
+
# View modules are shown as UI pages, jobs from job modules are
|
|
56
|
+
# executed immediately in the background.
|
|
57
|
+
# Jobs should be executed sparingly (if at all) in this phase.
|
|
58
|
+
- show:
|
|
59
|
+
- finished
|
|
60
|
+
|
|
61
|
+
# A branding component is a directory, either in
|
|
62
|
+
# SHARE/calamares/branding or in /etc/calamares/branding
|
|
63
|
+
# (the latter takes precedence). The directory must contain a
|
|
64
|
+
# YAML file branding.desc which may reference additional resources
|
|
65
|
+
# (such as images) as paths relative to the current directory.
|
|
66
|
+
# Only the name of the branding component (directory) should be
|
|
67
|
+
# specified here, Calamares then takes care of finding it and
|
|
68
|
+
# loading the contents.
|
|
69
|
+
branding: eggs
|
|
70
|
+
|
|
71
|
+
# If this is set to true, Calamares will show an "Are you sure?" prompt right
|
|
72
|
+
# before each execution phase, i.e. at points of no return. If this is set to
|
|
73
|
+
# false, no prompt is shown. Default is false.
|
|
74
|
+
#
|
|
75
|
+
# YAML: boolean.
|
|
76
|
+
prompt-install: false
|
|
77
|
+
|
|
78
|
+
# If this is set to true, Calamares will execute all target environment
|
|
79
|
+
# commands in the current environment, without chroot. This setting should
|
|
80
|
+
# only be used when setting up Calamares as a post-install configuration tool,
|
|
81
|
+
# as opposed to a full operating system installer.
|
|
82
|
+
#
|
|
83
|
+
# Some official Calamares modules are not expected to function with this
|
|
84
|
+
# setting. (e.g. partitioning seems like a bad idea, since that is expected to
|
|
85
|
+
# have been done already)
|
|
86
|
+
#
|
|
87
|
+
# Default is false (for a normal installer).
|
|
88
|
+
#
|
|
89
|
+
# YAML: boolean.
|
|
90
|
+
dont-chroot: false
|
|
91
|
+
|
|
@@ -36,6 +36,9 @@ function installer() {
|
|
|
36
36
|
const distro = new distro_1.default(remix);
|
|
37
37
|
if (distro.isCalamaresAvailable) {
|
|
38
38
|
installer.template = '/etc/penguins-eggs.d/distros/' + distro.codenameLikeId + '/calamares/';
|
|
39
|
+
if (distro.distroId === 'ManjaroLinux') {
|
|
40
|
+
installer.template = '/etc/penguins-eggs.d/distros/' + distro.codenameLikeId + '/calamares-32/';
|
|
41
|
+
}
|
|
39
42
|
installer.templateModules = installer.template + 'modules/';
|
|
40
43
|
installer.templateMultiarch = installer.template + 'calamares-modules/';
|
|
41
44
|
}
|
package/dist/classes/ovary.js
CHANGED
|
@@ -1413,7 +1413,10 @@ class Ovary {
|
|
|
1413
1413
|
*/
|
|
1414
1414
|
xorrisoCommand(clone = false, cryptedclone = false) {
|
|
1415
1415
|
const volid = utils_2.default.getVolid(this.settings.remix.name);
|
|
1416
|
-
|
|
1416
|
+
let prefix = this.settings.config.snapshot_prefix;
|
|
1417
|
+
if (prefix.endsWith('rolling-')) {
|
|
1418
|
+
prefix = prefix.substring(0, prefix.indexOf('rolling-'));
|
|
1419
|
+
}
|
|
1417
1420
|
let typology = '';
|
|
1418
1421
|
// typology is applied only with standard egg-of
|
|
1419
1422
|
if (prefix.slice(0, 7) === 'egg-of-') {
|
package/dist/classes/pxe.js
CHANGED
|
@@ -205,7 +205,9 @@ class Pxe {
|
|
|
205
205
|
* ARCH LINUX
|
|
206
206
|
*/
|
|
207
207
|
let tool = 'archiso';
|
|
208
|
-
if (distro.codenameId === 'Qonos' || distro.codenameId === 'Ruah' ||
|
|
208
|
+
if (distro.codenameId === 'Qonos' || distro.codenameId === 'Ruah' ||
|
|
209
|
+
distro.codenameId === 'Sikaris' || distro.codenameId === 'Talos' ||
|
|
210
|
+
distro.codenameId === 'UltimaThule') {
|
|
209
211
|
tool = 'miso';
|
|
210
212
|
}
|
|
211
213
|
content += `kernel http://${utils_2.default.address()}/vmlinuz\n`;
|
|
@@ -275,7 +277,7 @@ class Pxe {
|
|
|
275
277
|
* ARCH LINUX
|
|
276
278
|
*/
|
|
277
279
|
let tool = 'archiso';
|
|
278
|
-
if (this.settings.distro.codenameId === 'Qonos' || this.settings.distro.codenameId === 'Ruah' || this.settings.distro.codenameId === 'Sikaris') {
|
|
280
|
+
if (this.settings.distro.codenameId === 'Qonos' || this.settings.distro.codenameId === 'Ruah' || this.settings.distro.codenameId === 'Sikaris' || this.settings.distro.codenameId === 'UltimaThule') {
|
|
279
281
|
tool = 'miso';
|
|
280
282
|
}
|
|
281
283
|
content += `imgargs vmlinuz ${tool}_http_srv=http://${utils_2.default.address()}/ boot=live dhcp initrd=initrd ro\n`;
|
package/dist/classes/tools.js
CHANGED
|
@@ -47,7 +47,11 @@ class Tools {
|
|
|
47
47
|
const settings = new settings_1.default();
|
|
48
48
|
settings.load();
|
|
49
49
|
this.snapshot_dir = settings.config.snapshot_dir;
|
|
50
|
-
|
|
50
|
+
let prefix = settings.config.snapshot_prefix;
|
|
51
|
+
if (prefix.endsWith('rolling-')) {
|
|
52
|
+
prefix = prefix.substring(0, prefix.indexOf('rolling-'));
|
|
53
|
+
}
|
|
54
|
+
this.snapshot_name = prefix + settings.config.snapshot_basename + '_'; // + Utils.machineArch() + '_'
|
|
51
55
|
}
|
|
52
56
|
else {
|
|
53
57
|
console.log(`Can't find: ${this.tools_yaml}`);
|
package/dist/commands/produce.js
CHANGED
|
@@ -80,8 +80,14 @@ class Produce extends core_1.Command {
|
|
|
80
80
|
let theme = 'eggs';
|
|
81
81
|
if (flags.theme !== undefined) {
|
|
82
82
|
theme = flags.theme;
|
|
83
|
-
if (theme.
|
|
84
|
-
|
|
83
|
+
if (theme.includes('/')) {
|
|
84
|
+
if (theme.endsWith('/')) {
|
|
85
|
+
theme = theme.substring(0, theme.length - 1);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
const wpath = `/home/${await utils_1.default.getPrimaryUser()}/.wardrobe/vendors/`;
|
|
90
|
+
theme = wpath + flags.theme;
|
|
85
91
|
}
|
|
86
92
|
theme = node_path_1.default.resolve(theme);
|
|
87
93
|
if (!node_fs_1.default.existsSync(theme + '/theme')) {
|
|
@@ -89,7 +95,6 @@ class Produce extends core_1.Command {
|
|
|
89
95
|
process.exit();
|
|
90
96
|
}
|
|
91
97
|
}
|
|
92
|
-
console.log(`theme: ${theme}`);
|
|
93
98
|
const i = await config_1.default.thatWeNeed(nointeractive, verbose, cryptedclone);
|
|
94
99
|
if ((i.needApt || i.configurationInstall || i.configurationRefresh || i.distroTemplate) && (await utils_1.default.customConfirm('Select yes to continue...'))) {
|
|
95
100
|
await config_1.default.install(i, nointeractive, verbose);
|
|
@@ -20,6 +20,9 @@ const flist = '/etc/apt/sources.list.d/penguins-eggs-ppa.list';
|
|
|
20
20
|
*
|
|
21
21
|
*/
|
|
22
22
|
class Ppa extends core_1.Command {
|
|
23
|
+
/**
|
|
24
|
+
*
|
|
25
|
+
*/
|
|
23
26
|
async run() {
|
|
24
27
|
const { flags } = await this.parse(Ppa);
|
|
25
28
|
utils_1.default.titles(this.id + ' ' + this.argv);
|
|
@@ -28,26 +31,47 @@ class Ppa extends core_1.Command {
|
|
|
28
31
|
verbose = true;
|
|
29
32
|
}
|
|
30
33
|
const nointeractive = flags.nointeractive;
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
34
|
+
if (utils_1.default.isRoot()) {
|
|
35
|
+
const distro = new distro_1.default();
|
|
36
|
+
/**
|
|
37
|
+
* Debian
|
|
38
|
+
*/
|
|
39
|
+
if (distro.familyId === 'debian') {
|
|
40
|
+
if (flags.add) {
|
|
41
|
+
utils_1.default.warning(`Are you sure to add ${flist} to your repositories?`);
|
|
42
|
+
if (nointeractive || await utils_1.default.customConfirm('Select yes to continue...')) {
|
|
43
|
+
await debianAdd();
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
else if (flags.remove) {
|
|
35
47
|
utils_1.default.warning(`Are you sure to remove ${flist} to your repositories?`);
|
|
36
48
|
if (nointeractive || await utils_1.default.customConfirm('Select yes to continue...')) {
|
|
37
|
-
await
|
|
49
|
+
await debianRemove();
|
|
38
50
|
}
|
|
39
51
|
}
|
|
52
|
+
/**
|
|
53
|
+
* archlinux
|
|
54
|
+
*/
|
|
55
|
+
}
|
|
56
|
+
if (distro.familyId === 'archlinux') {
|
|
40
57
|
if (flags.add) {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
await
|
|
44
|
-
|
|
58
|
+
if (distro.distroId !== 'ManjaroLinux') {
|
|
59
|
+
utils_1.default.warning(`Are you sure to add chaotic-aur to your repositories?`);
|
|
60
|
+
if (await utils_1.default.customConfirm('Select yes to continue...')) {
|
|
61
|
+
await archAdd();
|
|
62
|
+
}
|
|
45
63
|
}
|
|
46
64
|
}
|
|
65
|
+
else if (flags.remove) {
|
|
66
|
+
await archRemove();
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
/**
|
|
71
|
+
* Others
|
|
72
|
+
*/
|
|
73
|
+
utils_1.default.warning(`Distro> ${distro.distroId}/${distro.codenameId}, cannot use this command here!`);
|
|
47
74
|
}
|
|
48
|
-
}
|
|
49
|
-
else {
|
|
50
|
-
utils_1.default.warning('you can use ppa only for debian family');
|
|
51
75
|
}
|
|
52
76
|
}
|
|
53
77
|
}
|
|
@@ -58,33 +82,65 @@ Ppa.flags = {
|
|
|
58
82
|
remove: core_1.Flags.boolean({ char: 'r', description: 'remove penguins-eggs PPA repository' }),
|
|
59
83
|
verbose: core_1.Flags.boolean({ char: 'v', description: 'verbose' }),
|
|
60
84
|
};
|
|
61
|
-
Ppa.description = 'add/remove
|
|
85
|
+
Ppa.description = 'add/remove repo';
|
|
62
86
|
Ppa.examples = [
|
|
63
87
|
'sudo eggs tools ppa --add',
|
|
64
88
|
'sudo eggs tools ppa --remove',
|
|
65
89
|
];
|
|
66
90
|
exports.default = Ppa;
|
|
67
91
|
/**
|
|
68
|
-
*
|
|
92
|
+
* archAdd
|
|
69
93
|
*/
|
|
70
|
-
async function
|
|
71
|
-
|
|
72
|
-
const
|
|
73
|
-
|
|
74
|
-
|
|
94
|
+
async function archAdd() {
|
|
95
|
+
const path = "/var/cache/pacman/pkg/";
|
|
96
|
+
const keyring = "chaotic-keyring.pkg.tar.zst";
|
|
97
|
+
const mirrorlist = "chaotic-mirrorlist.pkg.tar.zst";
|
|
98
|
+
const echo = utils_1.default.setEcho(true);
|
|
99
|
+
if (fs_1.default.existsSync(path + keyring) && (fs_1.default.existsSync(path + mirrorlist))) {
|
|
100
|
+
console.log("repository chaotic-aur, already present!");
|
|
101
|
+
await archRemove();
|
|
102
|
+
process.exit();
|
|
103
|
+
}
|
|
104
|
+
await (0, utils_2.exec)('pacman-key --recv-key FBA220DFC880C036 --keyserver keyserver.ubuntu.com', echo);
|
|
105
|
+
await (0, utils_2.exec)('pacman-key --lsign-key FBA220DFC880C036', echo);
|
|
106
|
+
await (0, utils_2.exec)("pacman -U 'https://cdn-mirror.chaotic.cx/chaotic-aur/chaotic-keyring.pkg.tar.zst' 'https://cdn-mirror.chaotic.cx/chaotic-aur/chaotic-mirrorlist.pkg.tar.zst'", echo);
|
|
107
|
+
// Append to /etc/pacman.conf
|
|
108
|
+
const chaoticAppend = "\n[chaotic-aur]\nInclude = /etc/pacman.d/chaotic-mirrorlist\n\n";
|
|
109
|
+
fs_1.default.appendFileSync('/etc/pacman.conf', chaoticAppend);
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* archRemove
|
|
113
|
+
*/
|
|
114
|
+
async function archRemove() {
|
|
115
|
+
const path = "/var/cache/pacman/pkg/";
|
|
116
|
+
const keyring = "chaotic-keyring.pkg.tar.zst";
|
|
117
|
+
const mirrorlist = "chaotic-mirrorlist.pkg.tar.zst";
|
|
118
|
+
const echo = utils_1.default.setEcho(true);
|
|
119
|
+
if (fs_1.default.existsSync(path + keyring) && (fs_1.default.existsSync(path + mirrorlist))) {
|
|
120
|
+
console.log('to remove chaotic-aur:\n');
|
|
121
|
+
console.log(`sudo rm ${path}${keyring}`);
|
|
122
|
+
console.log(`sudo rm ${path}${mirrorlist}`);
|
|
123
|
+
console.log(`sudo nano /etc/pacman.conf`);
|
|
124
|
+
console.log(`remove at the end:`);
|
|
125
|
+
console.log(`[chaotic-aur]`);
|
|
126
|
+
console.log(`Include = /etc/pacman.d/chaotic-mirrorlist`);
|
|
127
|
+
}
|
|
75
128
|
}
|
|
76
129
|
/**
|
|
77
|
-
*
|
|
130
|
+
* debianAdd
|
|
78
131
|
*/
|
|
79
|
-
async function
|
|
80
|
-
await
|
|
132
|
+
async function debianAdd() {
|
|
133
|
+
await (0, utils_2.exec)(`curl -sS https://pieroproietti.github.io/penguins-eggs-ppa/KEY.gpg| gpg --dearmor | sudo tee ${fkey} > /dev/null`);
|
|
134
|
+
const content = `deb [signed-by=${fkey}] https://pieroproietti.github.io/penguins-eggs-ppa ./\n`;
|
|
135
|
+
fs_1.default.writeFileSync(flist, content);
|
|
81
136
|
await (0, utils_2.exec)('apt-get update');
|
|
82
137
|
}
|
|
83
138
|
/**
|
|
84
|
-
*
|
|
139
|
+
* debianRemove
|
|
85
140
|
*/
|
|
86
|
-
async function
|
|
87
|
-
await (0, utils_2.exec)('rm -f
|
|
141
|
+
async function debianRemove() {
|
|
142
|
+
await (0, utils_2.exec)('rm -f /etc/apt/trusted.gpg.d/penguins-eggs*');
|
|
88
143
|
await (0, utils_2.exec)('rm -f /etc/apt/sources.list.d/penguins-eggs*');
|
|
89
144
|
await (0, utils_2.exec)('rm -f /usr/share/keyrings/penguins-eggs*');
|
|
145
|
+
await (0, utils_2.exec)('apt-get update');
|
|
90
146
|
}
|
|
@@ -71,7 +71,7 @@ class List extends core_1.Command {
|
|
|
71
71
|
for (const costume of costumes) {
|
|
72
72
|
if (fs_1.default.existsSync(`${wardrobe}costumes/${costume}/${index}`)) {
|
|
73
73
|
const materials = js_yaml_1.default.load(fs_1.default.readFileSync(`${wardrobe}costumes/${costume}/${index}`, 'utf-8'));
|
|
74
|
-
console.log(chalk_1.default.cyan(costume) + ': ' + materials.description);
|
|
74
|
+
console.log('- ' + chalk_1.default.cyan(costume) + ': ' + materials.description);
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
77
|
console.log();
|
|
@@ -83,7 +83,7 @@ class List extends core_1.Command {
|
|
|
83
83
|
for (const accessory of accessories) {
|
|
84
84
|
if (fs_1.default.existsSync(`${wardrobe}/accessories/${accessory}/${index}`)) {
|
|
85
85
|
const materials = js_yaml_1.default.load(fs_1.default.readFileSync(`${wardrobe}/accessories/${accessory}/${index}`, 'utf-8'));
|
|
86
|
-
console.log(chalk_1.default.cyan(accessory) + ': ' + materials.description);
|
|
86
|
+
console.log('- ' + chalk_1.default.cyan(accessory) + ': ' + materials.description);
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
89
|
console.log();
|
|
@@ -95,7 +95,18 @@ class List extends core_1.Command {
|
|
|
95
95
|
for (const server of servers) {
|
|
96
96
|
if (fs_1.default.existsSync(`${wardrobe}/servers/${server}/${index}`)) {
|
|
97
97
|
const materials = js_yaml_1.default.load(fs_1.default.readFileSync(`${wardrobe}/servers/${server}/${index}`, 'utf-8'));
|
|
98
|
-
console.log(chalk_1.default.cyan(server) + ': ' + materials.description);
|
|
98
|
+
console.log('- ' + chalk_1.default.cyan(server) + ': ' + materials.description);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
console.log();
|
|
102
|
+
/**
|
|
103
|
+
* vendors
|
|
104
|
+
*/
|
|
105
|
+
const vendors = fs_1.default.readdirSync(`${wardrobe}/vendors/`);
|
|
106
|
+
console.log(chalk_1.default.green('vendors/themes: '));
|
|
107
|
+
for (const vendor of vendors) {
|
|
108
|
+
if (fs_1.default.existsSync(`${wardrobe}/vendors/${vendor}/theme`)) {
|
|
109
|
+
console.log('- ' + chalk_1.default.cyan(vendor));
|
|
99
110
|
}
|
|
100
111
|
}
|
|
101
112
|
console.log();
|
|
@@ -187,8 +187,12 @@ class Krill {
|
|
|
187
187
|
drives.forEach((element) => {
|
|
188
188
|
driveList.push('/dev/' + element);
|
|
189
189
|
});
|
|
190
|
+
let installationDevice = driveList[0];
|
|
191
|
+
if (driveList.length > 1) {
|
|
192
|
+
installationDevice = await (0, select_installation_device_1.default)();
|
|
193
|
+
}
|
|
190
194
|
oPartitions = {
|
|
191
|
-
installationDevice:
|
|
195
|
+
installationDevice: installationDevice,
|
|
192
196
|
installationMode: this.krillConfig.installationMode,
|
|
193
197
|
filesystemType: this.krillConfig.filesystemType,
|
|
194
198
|
userSwapChoice: this.krillConfig.userSwapChoice
|
|
@@ -363,6 +367,7 @@ class Krill {
|
|
|
363
367
|
* PARTITIONS
|
|
364
368
|
*/
|
|
365
369
|
async partitions(crypted = false, pve = false) {
|
|
370
|
+
// Calamares won't use any devices with iso9660 filesystem on it.
|
|
366
371
|
const drives = shelljs_1.default.exec('lsblk |grep disk|cut -f 1 "-d "', { silent: true }).stdout.trim().split('\n');
|
|
367
372
|
const driveList = [];
|
|
368
373
|
drives.forEach((element) => {
|
|
@@ -168,7 +168,12 @@ class Sequence {
|
|
|
168
168
|
* To let krill to work with Arch we need:
|
|
169
169
|
*/
|
|
170
170
|
if (this.distro.familyId === 'archlinux') {
|
|
171
|
-
|
|
171
|
+
if (this.distro.distroId === 'ManjaroLinux') {
|
|
172
|
+
await (0, utils_2.exec)(`sudo ln -s /run/miso/bootmnt/live/ /live`);
|
|
173
|
+
}
|
|
174
|
+
else {
|
|
175
|
+
await (0, utils_2.exec)(`sudo ln -s /run/archiso/bootmnt/live/ /live`);
|
|
176
|
+
}
|
|
172
177
|
}
|
|
173
178
|
this.unattended = unattended;
|
|
174
179
|
this.nointeractive = nointeractive;
|
package/package.json
CHANGED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
echo SigLevel = Never
|
|
2
|
+
sudo rm /etc/calamares -rf
|
|
3
|
+
sudo rm /etc/ts.conf
|
|
4
|
+
sudo rm /etc/xdg/ui/ui_standards.rc
|
|
5
|
+
sudo rm /etc/xdg/menus/applications.menu
|
|
6
|
+
sudo rm /etc/xdg/accept-languages.codes
|
|
7
|
+
sudo rm /etc/xdg/kshorturifilterrc
|
|
8
|
+
sudo eggs calamares --install
|
|
9
|
+
|