penguins-eggs 25.11.12 → 25.11.21

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 (153) hide show
  1. package/.oclif.manifest.json +149 -140
  2. package/README.md +726 -1
  3. package/README.pdf +1343 -2331
  4. package/addons/eggs/adapt/applications/eggs-adapt.desktop +0 -0
  5. package/addons/eggs/pve/applications/eggs-pve.desktop +0 -0
  6. package/addons/eggs/rsupport/applications/eggs-rsupport.desktop +0 -0
  7. package/addons/eggs/theme/applications/install-system.desktop +0 -0
  8. package/assets/calamares/install-system.sh +0 -0
  9. package/assets/penguins-eggs.desktop +0 -0
  10. package/assets/penguins-krill.desktop +0 -0
  11. package/assets/penguins-links-add.desktop +0 -0
  12. package/assets/penguins-live-installer.desktop +0 -0
  13. package/bin/dev.js +0 -0
  14. package/conf/distros/alpine/calamares/calamares-modules/machineid-openrc/machineid-openrc.sh +0 -0
  15. package/conf/distros/buster/calamares/calamares-modules/cleanup/cleanup.sh +0 -0
  16. package/conf/distros/buster/calamares/calamares-modules/dpkg-unsafe-io/dpkg-unsafe-io.sh +0 -0
  17. package/conf/distros/buster/calamares/calamares-modules/sources-yolk/sources-yolk.sh +0 -0
  18. package/conf/distros/fedora/calamares/calamares-modules/bootloaderspecification/bootloaderspecification.sh +0 -0
  19. package/conf/distros/focal/calamares/calamares-modules/.keepit +0 -0
  20. package/conf/distros/focal/calamares/calamares-modules/cleanup/cleanup.sh +20 -0
  21. package/conf/distros/focal/calamares/calamares-modules/cleanup/module.yml +9 -0
  22. package/conf/distros/focal/calamares/calamares-modules/sources-yolk/module.yml +8 -0
  23. package/conf/distros/focal/calamares/calamares-modules/sources-yolk/sources-yolk.sh +50 -0
  24. package/conf/distros/focal/calamares/calamares-modules/sources-yolk-undo/module.yml +8 -0
  25. package/conf/distros/focal/calamares/libexec/.keepit +0 -0
  26. package/conf/distros/focal/calamares/libexec/README.md +5 -0
  27. package/conf/distros/focal/calamares/libexec/calamares-aptsources.sh +15 -0
  28. package/conf/distros/focal/calamares/libexec/calamares-l10n-helper.sh +38 -0
  29. package/conf/distros/focal/calamares/libexec/calamares-logs-helper.sh +34 -0
  30. package/conf/distros/focal/calamares/libexec/calamares-nomodeset.sh +19 -0
  31. package/conf/distros/focal/calamares/modules/after_bootloader_context.yml +26 -0
  32. package/conf/distros/focal/calamares/modules/before_bootloader_context.yml +12 -0
  33. package/conf/distros/focal/calamares/modules/bootloader.yml +86 -0
  34. package/conf/distros/focal/calamares/modules/bootloader.yml.old +35 -0
  35. package/conf/distros/focal/calamares/modules/displaymanager.yml +12 -0
  36. package/conf/distros/focal/calamares/modules/finished.yml +6 -0
  37. package/conf/distros/focal/calamares/modules/fstab.yml +63 -0
  38. package/conf/distros/focal/calamares/modules/grubcfg.yml +51 -0
  39. package/conf/distros/focal/calamares/modules/keyboard.yml +29 -0
  40. package/conf/distros/focal/calamares/modules/locale.yml +7 -0
  41. package/conf/distros/focal/calamares/modules/machineid.yml +10 -0
  42. package/conf/distros/focal/calamares/modules/mount.yml +20 -0
  43. package/conf/distros/focal/calamares/modules/netinstall.yml +5 -0
  44. package/conf/distros/focal/calamares/modules/packages.mustache +5 -0
  45. package/conf/distros/focal/calamares/modules/partition.yml +21 -0
  46. package/conf/distros/focal/calamares/modules/removeuser.mustache +3 -0
  47. package/conf/distros/focal/calamares/modules/shellprocess@aptsources.yml +11 -0
  48. package/conf/distros/focal/calamares/modules/shellprocess@boot_deploy.yml +9 -0
  49. package/conf/distros/focal/calamares/modules/shellprocess@boot_reconfigure.yml +15 -0
  50. package/conf/distros/focal/calamares/modules/shellprocess@install_translations.yml +8 -0
  51. package/conf/distros/focal/calamares/modules/shellprocess@logs.yml +8 -0
  52. package/conf/distros/focal/calamares/modules/shellprocess@mkinitramfs.yml +6 -0
  53. package/conf/distros/focal/calamares/modules/shellprocess@nomodeset.yml +12 -0
  54. package/conf/distros/focal/calamares/modules/umount.yml +4 -0
  55. package/conf/distros/focal/calamares/modules/unpackfs.mustache +6 -0
  56. package/conf/distros/focal/calamares/modules/users.yml +27 -0
  57. package/conf/distros/focal/calamares/modules/welcome.yml +24 -0
  58. package/conf/distros/focal/calamares/settings.yml +97 -0
  59. package/conf/distros/noble/calamares/calamares-modules/cleanup/cleanup.sh +0 -0
  60. package/conf/distros/noble/calamares/calamares-modules/sources-yolk/sources-yolk.sh +0 -0
  61. package/conf/distros/noble/calamares/libexec/calamares-aptsources.sh +0 -0
  62. package/conf/distros/noble/calamares/libexec/calamares-l10n-helper.sh +0 -0
  63. package/conf/distros/noble/calamares/libexec/calamares-logs-helper.sh +0 -0
  64. package/conf/distros/noble/calamares/libexec/calamares-nomodeset.sh +0 -0
  65. package/conf/distros/opensuse/calamares/calamares-modules/bootloaderspecification/bootloaderspecification.sh +0 -0
  66. package/conf/distros/opensuse/calamares/settings.yml +0 -0
  67. package/conf/distros/opensuse/calamares/zstd2lzo.sh +0 -0
  68. package/conf/distros/trixie/calamares/calamares-modules/cleanup/cleanup.sh +0 -0
  69. package/conf/distros/trixie/calamares/calamares-modules/dpkg-unsafe-io/dpkg-unsafe-io.sh +0 -0
  70. package/conf/distros/trixie/calamares/calamares-modules/sources-yolk/sources-yolk.sh +0 -0
  71. package/conf/init/unattended.sh +0 -0
  72. package/dist/appimage/first-run-check.d.ts +8 -0
  73. package/dist/appimage/first-run-check.js +13 -0
  74. package/dist/appimage/prerequisites.d.ts +34 -0
  75. package/dist/appimage/prerequisites.js +350 -0
  76. package/dist/bin/dev.cmd +3 -0
  77. package/dist/bin/dev.js +6 -0
  78. package/dist/bin/run.cmd +3 -0
  79. package/dist/bin/run.js +5 -0
  80. package/dist/classes/cli-autologin.js +4 -4
  81. package/dist/classes/diversions.d.ts +5 -0
  82. package/dist/classes/diversions.js +23 -7
  83. package/dist/classes/pacman.js +10 -11
  84. package/dist/classes/utils.d.ts +4 -0
  85. package/dist/classes/utils.js +19 -3
  86. package/dist/commands/calamares.js +1 -1
  87. package/dist/commands/config.js +2 -2
  88. package/dist/commands/{analyze.d.ts → export/appimage.d.ts} +10 -9
  89. package/dist/commands/export/appimage.js +76 -0
  90. package/dist/commands/export/iso.js +1 -1
  91. package/dist/commands/export/pkg.d.ts +1 -1
  92. package/dist/commands/export/pkg.js +2 -2
  93. package/dist/commands/{install.d.ts → krill.d.ts} +3 -4
  94. package/dist/commands/{install.js → krill.js} +5 -6
  95. package/dist/commands/produce.js +1 -1
  96. package/dist/commands/setup.d.ts +21 -0
  97. package/dist/commands/setup.js +90 -0
  98. package/dist/commands/tools/repo.d.ts +0 -5
  99. package/dist/commands/tools/repo.js +205 -127
  100. package/dist/commands/update.d.ts +1 -1
  101. package/dist/commands/update.js +68 -59
  102. package/dist/krill/components/information.js +2 -2
  103. package/dist/krill/components/title.js +13 -13
  104. package/dist/lib/utils.d.ts +16 -0
  105. package/dist/lib/utils.js +24 -32
  106. package/dracut/create-symlink +0 -0
  107. package/dracut/export +0 -0
  108. package/dracut/export-dracut-analysis +0 -0
  109. package/dracut/export-dracut-log +0 -0
  110. package/dracut/mkisofs +0 -0
  111. package/dracut/modules.d/00debug-shell/debug-hook.sh +0 -0
  112. package/dracut/modules.d/00debug-shell/module-setup.sh +0 -0
  113. package/dracut/modules.d/90block/block-cmdline.sh +0 -0
  114. package/dracut/modules.d/90block/module-setup.sh +0 -0
  115. package/dracut/modules.d/95iso-scan/iso-scan-fallback.sh +0 -0
  116. package/dracut/modules.d/95iso-scan/iso-scan.sh +0 -0
  117. package/dracut/modules.d/95iso-scan/module-setup.sh +0 -0
  118. package/dracut/modules.d/95luks-loop/luks-loop.sh +0 -0
  119. package/dracut/modules.d/95luks-loop/module-setup.sh +0 -0
  120. package/dracut/renew-initramfs +0 -0
  121. package/dracut/sbin2bin +0 -0
  122. package/dracut/update-dracut-conf-d +0 -0
  123. package/dracut/update-dracut-modules +0 -0
  124. package/eui/eui-autostart-cinnamon.desktop +0 -0
  125. package/eui/eui-autostart-xfce.desktop +0 -0
  126. package/eui/eui-create-image.sh +0 -0
  127. package/eui/eui-start.sh +0 -0
  128. package/manpages/doc/man/eggs.1.gz +0 -0
  129. package/manpages/doc/man/eggs.html +582 -9
  130. package/package.json +125 -130
  131. package/perrisbrewery/scripts/postinst +0 -0
  132. package/perrisbrewery/scripts/postrm +0 -0
  133. package/perrisbrewery/scripts/preinst +0 -0
  134. package/perrisbrewery/scripts/prerm +0 -0
  135. package/perrisbrewery/template/dependencies.yaml +0 -5
  136. package/perrisbrewery/template/man.template.md +7 -0
  137. package/scripts/99clean +0 -0
  138. package/scripts/_eggs +28 -47
  139. package/scripts/adapt.sh +0 -0
  140. package/scripts/appimage-build.sh +152 -0
  141. package/scripts/appimage-install.sh +43 -0
  142. package/scripts/bros/waydroid-helper.sh +0 -0
  143. package/scripts/eggs.bash +3 -4
  144. package/scripts/lsb_release +0 -0
  145. package/scripts/mom.sh +0 -0
  146. package/scripts/pve-live.service +0 -0
  147. package/scripts/pve-live.sh +0 -0
  148. package/scripts/resy +0 -0
  149. package/dist/commands/analyze.js +0 -95
  150. package/dist/commands/pods.d.ts +0 -22
  151. package/dist/commands/pods.js +0 -92
  152. package/scripts/boot-encrypted-root.sh +0 -220
  153. package/scripts/mount-encrypted-home.sh +0 -324
package/package.json CHANGED
@@ -1,133 +1,128 @@
1
1
  {
2
- "name": "penguins-eggs",
3
- "shortName": "eggs",
4
- "description": "A remaster system tool, compatible with Arch, Debian, Devuan, Ubuntu and others",
5
- "version": "25.11.12",
6
- "author": "Piero Proietti",
7
- "bin": {
8
- "eggs": "./bin/run.js"
9
- },
10
- "bugs": "https://github.com/pieroproietti/penguins-eggs/issues",
11
- "dependencies": {
12
- "@oclif/core": "^4.8.0",
13
- "@oclif/plugin-autocomplete": "^3.2.39",
14
- "@oclif/plugin-help": "^6.2.35",
15
- "@oclif/plugin-version": "^2.2.36",
16
- "@types/express": "^5.0.5",
17
- "ansis": "^4.2.0",
18
- "axios": "^1.13.2",
19
- "chalk": "^5.6.2",
20
- "cli-cursor": "^5.0.0",
21
- "debug": "^4.4.3",
22
- "express": "^5.1.0",
23
- "ink": "^5",
24
- "ink-progress-bar": "^3.0.0",
25
- "ink-spinner": "^5.0.0",
26
- "inquirer": "^12.11.0",
27
- "js-yaml": "^4.1.1",
28
- "mustache": "^4.2.0",
29
- "netmask": "^2.0.2",
30
- "react": "^18.3.1",
31
- "read": "^4.1.0",
32
- "shelljs": "^0.10.0",
33
- "systeminformation": "^5.27.11",
34
- "tftp": "^0.1.2",
35
- "ws": "^8.18.3"
36
- },
37
- "devDependencies": {
38
- "@oclif/prettier-config": "^0.2.1",
39
- "@oclif/test": "^4.1.14",
40
- "@types/chai": "^5.2.3",
41
- "@types/debug": "^4.1.12",
42
- "@types/glob": "^9.0.0",
43
- "@types/inquirer": "^9.0.9",
44
- "@types/js-yaml": "^4.0.9",
45
- "@types/mocha": "^10.0.8",
46
- "@types/mustache": "^4.2.6",
47
- "@types/netmask": "^2.0.5",
48
- "@types/node": "^22.15.30",
49
- "@types/react": "^18.3.18",
50
- "@types/read": "^0.0.32",
51
- "@types/shelljs": "^0.8.17",
52
- "@types/ws": "^8.18.1",
53
- "chai": "^6.2.1",
54
- "eslint": "^9.39.1",
55
- "eslint-config-oclif": "^6.0.116",
56
- "eslint-config-prettier": "^10.1.8",
57
- "glob": "^11.0.3",
58
- "mocha": "^11.7.5",
59
- "oclif": "^4.22.44",
60
- "perrisbrewery": "^25.9.16",
61
- "prettier": "^3.6.2",
62
- "shx": "^0.4.0",
63
- "ts-node": "10.9.2",
64
- "ts-prune": "^0.10.3",
65
- "typescript": "^5.9.3"
66
- },
67
- "engines": {
68
- "node": ">=16.0.0"
69
- },
70
- "files": [
71
- ".oclif.manifest.json",
72
- "/addons",
73
- "/assets",
74
- "/bin",
75
- "/conf",
76
- "/dist",
77
- "/dracut",
78
- "/eui",
79
- "/initramfs-tools",
80
- "/manpages",
81
- "/mkinitcpio",
82
- "/mkinitfs",
83
- "/perrisbrewery",
84
- "/scripts"
2
+ "name": "penguins-eggs",
3
+ "shortName": "eggs",
4
+ "description": "A remaster system tool, compatible with Almalinux, Alpine, Arch, Debian, Devuan, Fedora, Manjaro, Opensuse, Ubuntu and derivatives",
5
+ "version": "25.11.21",
6
+ "author": "Piero Proietti",
7
+ "bin": {
8
+ "eggs": "./bin/run.js"
9
+ },
10
+ "bugs": "https://github.com/pieroproietti/penguins-eggs/issues",
11
+ "dependencies": {
12
+ "@oclif/core": "^4.8.0",
13
+ "@oclif/plugin-autocomplete": "^3.2.39",
14
+ "@oclif/plugin-help": "^6.2.36",
15
+ "@oclif/plugin-version": "^2.2.36",
16
+ "@types/express": "^5.0.5",
17
+ "ansis": "^4.2.0",
18
+ "axios": "^1.13.2",
19
+ "chalk": "^5.6.2",
20
+ "cli-cursor": "^5.0.0",
21
+ "debug": "^4.4.3",
22
+ "express": "^5.1.0",
23
+ "ink": "^5",
24
+ "ink-progress-bar": "^3.0.0",
25
+ "ink-spinner": "^5.0.0",
26
+ "inquirer": "^12.11.0",
27
+ "js-yaml": "^4.1.1",
28
+ "mustache": "^4.2.0",
29
+ "netmask": "^2.0.2",
30
+ "react": "^18.3.1",
31
+ "read": "^4.1.0",
32
+ "shelljs": "^0.10.0",
33
+ "systeminformation": "^5.27.11",
34
+ "tftp": "^0.1.2",
35
+ "ws": "^8.18.3"
36
+ },
37
+ "devDependencies": {
38
+ "@oclif/prettier-config": "^0.2.1",
39
+ "@oclif/test": "^4.1.15",
40
+ "@types/chai": "^5.2.3",
41
+ "@types/debug": "^4.1.12",
42
+ "@types/glob": "^9.0.0",
43
+ "@types/inquirer": "^9.0.9",
44
+ "@types/js-yaml": "^4.0.9",
45
+ "@types/mocha": "^10.0.8",
46
+ "@types/mustache": "^4.2.6",
47
+ "@types/netmask": "^2.0.5",
48
+ "@types/node": "^22.15.30",
49
+ "@types/react": "^18.3.18",
50
+ "@types/read": "^0.0.32",
51
+ "@types/shelljs": "^0.8.17",
52
+ "@types/ws": "^8.18.1",
53
+ "chai": "^6.2.1",
54
+ "eslint": "^9.39.1",
55
+ "eslint-config-oclif": "^6.0.118",
56
+ "eslint-config-prettier": "^10.1.8",
57
+ "glob": "^12.0.0",
58
+ "mocha": "^11.7.5",
59
+ "oclif": "^4.22.47",
60
+ "perrisbrewery": "^25.9.16",
61
+ "prettier": "^3.6.2",
62
+ "shx": "^0.4.0",
63
+ "ts-node": "10.9.2",
64
+ "ts-prune": "^0.10.3",
65
+ "typescript": "^5.9.3"
66
+ },
67
+ "engines": {
68
+ "node": ">=16.0.0"
69
+ },
70
+ "files": [
71
+ ".oclif.manifest.json",
72
+ "/addons",
73
+ "/assets",
74
+ "/bin",
75
+ "/conf",
76
+ "/dist",
77
+ "/dracut",
78
+ "/eui",
79
+ "/manpages",
80
+ "/mkinitcpio",
81
+ "/mkinitfs",
82
+ "/perrisbrewery",
83
+ "/scripts"
84
+ ],
85
+ "homepage": "https://penguins-eggs.net",
86
+ "keywords": [
87
+ "oclif",
88
+ "remaster",
89
+ "system"
90
+ ],
91
+ "license": "MIT",
92
+ "main": "dist/index.js",
93
+ "type": "module",
94
+ "oclif": {
95
+ "bin": "eggs",
96
+ "dirname": "penguins-eggs",
97
+ "commands": "./dist/commands",
98
+ "plugins": [
99
+ "@oclif/plugin-help",
100
+ "@oclif/plugin-autocomplete",
101
+ "@oclif/plugin-version"
85
102
  ],
86
- "homepage": "https://penguins-eggs.net",
87
- "keywords": [
88
- "oclif",
89
- "remaster",
90
- "system"
91
- ],
92
- "license": "MIT",
93
- "main": "dist/index.js",
94
- "type": "module",
95
- "oclif": {
96
- "bin": "eggs",
97
- "dirname": "penguins-eggs",
98
- "commands": "./dist/commands",
99
- "plugins": [
100
- "@oclif/plugin-help",
101
- "@oclif/plugin-autocomplete",
102
- "@oclif/plugin-version"
103
- ],
104
- "topicSeparator": " ",
105
- "topics": {
106
- "hello": {
107
- "description": "Say hello to the world and others"
108
- }
109
- }
110
- },
111
- "repository": "pieroproietti/penguins-eggs",
112
- "scripts": {
113
- "_postpack": "shx rm -f oclif.manifest.json",
114
- "_prepack": "oclif manifest && ocl -t linux-x64",
115
- "build": "shx rm -rf dist && tsc -b",
116
- "deb": "shx rm -rf dist && tsc -p . && oclif manifest && pb deb --release $(cat ./release)",
117
- "format": "prettier --write \"+(src|test)/**/*.+(ts|js|json)\"",
118
- "lint": "eslint . --ext .ts",
119
- "manifest": "oclif manifest",
120
- "posttest": "pnpm run lint",
121
- "tarballs": "shx rm -rf dist && tsc -p . && oclif manifest && oclif pack tarballs -t linux-x64 --no-xz -r . && pb tarballs --release $(cat ./release)",
122
- "test": "mocha --forbid-only \"test/**/*.test.ts\"",
123
- "unused": "ts-prune",
124
- "version": "oclif readme && git add README.md"
125
- },
126
- "types": "dist/index.d.ts",
127
- "pnpm": {
128
- "overrides": {
129
- "react": "^18.3.1",
130
- "@types/react": "^18.3.18"
131
- }
103
+ "topicSeparator": " ",
104
+ "topics": {
105
+ "hello": {
106
+ "description": "Say hello to the world and others"
107
+ }
132
108
  }
133
- }
109
+ },
110
+ "repository": "pieroproietti/penguins-eggs",
111
+ "types": "dist/index.d.ts",
112
+ "scripts": {
113
+ "appimage": "pnpm build && ./scripts/appimage-build.sh",
114
+ "appimage:install": "./scripts/appimage-install.sh",
115
+ "build": "pnpm clean && shx rm -rf dist && tsc -p . && oclif manifest",
116
+ "clean": "rm -rf build dist *.AppImage AppDir squashfs-root",
117
+ "deb": "pnpm build && pb deb --release $(cat ./release)",
118
+ "format": "prettier --write \"+(src|test)/**/*.+(ts|js|json)\"",
119
+ "lint": "eslint . --ext .ts",
120
+ "manifest": "oclif manifest",
121
+ "postbuild": "shx cp -r bin dist/",
122
+ "posttest": "pnpm run lint",
123
+ "tarballs": "shx rm -rf dist && tsc -p . && oclif manifest && oclif pack tarballs -t linux-x64 --no-xz -r . && pb tarballs --release $(cat ./release)",
124
+ "test": "mocha --forbid-only \"test/**/*.test.ts\"",
125
+ "unused": "ts-prune",
126
+ "version": "oclif readme && git add README.md"
127
+ }
128
+ }
File without changes
File without changes
File without changes
File without changes
@@ -32,11 +32,6 @@ common:
32
32
  - ipxe
33
33
  - pxelinux
34
34
 
35
- # dependencies arch specific
36
- # arm64: grub-efi-arm64-bin, ipxe, shim-signed, u-boot-tools,
37
- # amd64: grub-pc-bin, grub-efi-ia32-bin, grub-efi-amd64-bin, syslinux-common, ipxe, isolinux, pxelinux, shim-signed
38
- # i386: grub-pc-bin, grub-efi-ia32-bin, syslinux-common, ipxe, isolinux, pxelinux
39
-
40
35
  arch:
41
36
  amd64:
42
37
  - grub-efi-amd64-bin
@@ -8,6 +8,13 @@ eggs is a console utility, in active development, who let you to remaster your s
8
8
 
9
9
  # INSTALL
10
10
 
11
+ penguins-eggs as an AppImage, it can be installed on all supported distributions. Download it from https://github.com/pieroproietti/penguins-eggs/releases, then run the following commands:
12
+ ```
13
+ $ chmod +x {{{packageNameVersioned}}}-x86_64.AppImage
14
+ $ sudo mv /usr/local/bin
15
+ $ sudo eggs setup
16
+ ```
17
+
11
18
  AlpineLinux
12
19
  ```
13
20
  $ doas apk add penguins-eggs@testing
package/scripts/99clean CHANGED
File without changes
package/scripts/_eggs CHANGED
@@ -10,13 +10,22 @@ _eggs_export() {
10
10
  case "$state" in
11
11
  cmds)
12
12
  _values "completions" \
13
- "iso[export iso in the destination host]" \
14
- "pkg[export pkg/iso to the destination host]" \
13
+ "appimage[export penguins-eggs AppImage to the destination host]" \
14
+ "iso[export remastered ISO in the destination host]" \
15
+ "pkg[export penguins-eggs package to the destination host]" \
15
16
  "tarballs[export pkg/iso/tarballs to the destination host]" \
16
17
 
17
18
  ;;
18
19
  args)
19
20
  case $line[1] in
21
+ "appimage")
22
+ _arguments -S \
23
+ "(-c --clean)"{-c,--clean}"[remove old .AppImage before to copy]" \
24
+ "(-h --help)"{-h,--help}"[Show CLI help.]" \
25
+ "(-v --verbose)"{-v,--verbose}"[verbose]" \
26
+ --help"[Show help for command]" \
27
+ "*: :_files"
28
+ ;;
20
29
  "iso")
21
30
  _arguments -S \
22
31
  "(-C --checksum)"{-C,--checksum}"[export checksums md5 and sha256]" \
@@ -59,7 +68,7 @@ _eggs_tools() {
59
68
  cmds)
60
69
  _values "completions" \
61
70
  "clean[clean system log, apt, etc]" \
62
- "repo[add/remove penguins-eggs-repo]" \
71
+ "repo[add/remove penguins-repos]" \
63
72
  "skel[update skel from home configuration]" \
64
73
  "stat[get statistics from sourceforge]" \
65
74
  "yolk[configure eggs to install without internet]" \
@@ -77,10 +86,10 @@ _values "completions" \
77
86
  ;;
78
87
  "repo")
79
88
  _arguments -S \
80
- "(-a --add)"{-a,--add}"[add penguins-eggs-repo]" \
89
+ "(-a --add)"{-a,--add}"[add penguins-repos]" \
81
90
  "(-h --help)"{-h,--help}"[Show CLI help.]" \
82
91
  "(-n --nointeractive)"{-n,--nointeractive}"[no user interaction]" \
83
- "(-r --remove)"{-r,--remove}"[remove penguins-eggs-repo]" \
92
+ "(-r --remove)"{-r,--remove}"[remove penguins-repos]" \
84
93
  "(-v --verbose)"{-v,--verbose}"[verbose]" \
85
94
  --help"[Show help for command]" \
86
95
  "*: :_files"
@@ -181,22 +190,20 @@ _eggs() {
181
190
  case "$state" in
182
191
  cmds)
183
192
  _values "completions" \
184
- "export[export iso in the destination host]" \
193
+ "export[export penguins-eggs AppImage to the destination host]" \
185
194
  "tools[clean system log, apt, etc]" \
186
195
  "wardrobe[get warorobe]" \
187
196
  "adapt[adapt monitor resolution for VM only]" \
188
- "analyze[analyze for syncto]" \
189
- "calamares[configure calamares or install or configure it]" \
197
+ "calamares[a GUI system installer - install and configure calamares]" \
190
198
  "config[Configure eggs to run it]" \
191
199
  "cuckoo[PXE start with proxy-dhcp]" \
192
200
  "dad[ask help from daddy - TUI configuration helper]" \
193
- "install[krill: the CLI system installer - the egg became a penguin!]" \
194
- "krill[krill: the CLI system installer - the egg became a penguin!]" \
195
201
  "kill[kill the eggs/free the nest]" \
202
+ "krill[a TUI system installer - install the system]" \
196
203
  "love[the simplest way to get an egg!]" \
197
204
  "mom[ask help from mommy - TUI helper]" \
198
- "pods[eggs pods: build ISOs from containers]" \
199
- "produce[produce a live image from your system whithout your data]" \
205
+ "produce[produce a live image from your system]" \
206
+ "setup[Automatically check and install system prerequisites]" \
200
207
  "status[informations about eggs status]" \
201
208
  "update[update the Penguins' eggs tool]" \
202
209
  "autocomplete[Display autocomplete installation instructions.]" \
@@ -221,12 +228,6 @@ _arguments -S \
221
228
  "(-v --verbose)"{-v,--verbose}"[]" \
222
229
  --help"[Show help for command]" \
223
230
  "*: :_files" ;;
224
- analyze)
225
- _arguments -S \
226
- "(-h --help)"{-h,--help}"[Show CLI help.]" \
227
- "(-v --verbose)"{-v,--verbose}"[verbose]" \
228
- --help"[Show help for command]" \
229
- "*: :_files" ;;
230
231
  calamares)
231
232
  _arguments -S \
232
233
  "(-h --help)"{-h,--help}"[Show CLI help.]" \
@@ -263,25 +264,12 @@ _arguments -S \
263
264
  "(-v --verbose)"{-v,--verbose}"[]" \
264
265
  --help"[Show help for command]" \
265
266
  "*: :_files" ;;
266
- install)
267
+ kill)
267
268
  _arguments -S \
268
- "(-b --btrfs)"{-b,--btrfs}"[Format btrfs]" \
269
- "(-c --chroot)"{-c,--chroot}"[chroot before to end]" \
270
- "(-k --crypted)"{-k,--crypted}"[Crypted CLI installation]" \
271
- "(-d --domain)"{-d,--domain}"[Domain name, defult: .local]:file:_files" \
272
- "(-H --halt)"{-H,--halt}"[Halt the system after installation]" \
273
269
  "(-h --help)"{-h,--help}"[Show CLI help.]" \
274
- "(-i --ip)"{-i,--ip}"[hostname as ip, eg: ip-192-168-1-33]" \
270
+ "(-i --isos)"{-i,--isos}"[erase all ISOs on remote mount]" \
275
271
  "(-n --nointeractive)"{-n,--nointeractive}"[no user interaction]" \
276
- "(-N --none)"{-N,--none}"[Swap none: 256M]" \
277
- "(-p --pve)"{-p,--pve}"[Proxmox VE install]" \
278
- "(-r --random)"{-r,--random}"[Add random to hostname, eg: colibri-ay412dt]" \
279
- "(-R --replace)"{-R,--replace}"[Replace partition. eg: --replace /dev/sda3]:file:_files" \
280
- "(-s --small)"{-s,--small}"[Swap small: RAM]" \
281
- "(-S --suspend)"{-S,--suspend}"[Swap suspend: RAM x 2]" \
282
- "(-t --testing)"{-t,--testing}"[Just testing krill]" \
283
- "(-u --unattended)"{-u,--unattended}"[Unattended installation]" \
284
- "(-v --verbose)"{-v,--verbose}"[Verbose]" \
272
+ "(-v --verbose)"{-v,--verbose}"[verbose]" \
285
273
  --help"[Show help for command]" \
286
274
  "*: :_files" ;;
287
275
  krill)
@@ -305,14 +293,6 @@ _arguments -S \
305
293
  "(-v --verbose)"{-v,--verbose}"[Verbose]" \
306
294
  --help"[Show help for command]" \
307
295
  "*: :_files" ;;
308
- kill)
309
- _arguments -S \
310
- "(-h --help)"{-h,--help}"[Show CLI help.]" \
311
- "(-i --isos)"{-i,--isos}"[erase all ISOs on remote mount]" \
312
- "(-n --nointeractive)"{-n,--nointeractive}"[no user interaction]" \
313
- "(-v --verbose)"{-v,--verbose}"[verbose]" \
314
- --help"[Show help for command]" \
315
- "*: :_files" ;;
316
296
  love)
317
297
  _arguments -S \
318
298
  "(-h --help)"{-h,--help}"[Show CLI help.]" \
@@ -329,11 +309,6 @@ _arguments -S \
329
309
  "(-h --help)"{-h,--help}"[Show CLI help.]" \
330
310
  --help"[Show help for command]" \
331
311
  "*: :_files" ;;
332
- pods)
333
- _arguments -S \
334
- "(-h --help)"{-h,--help}"[Show CLI help.]" \
335
- --help"[Show help for command]" \
336
- "*: :_files" ;;
337
312
  produce)
338
313
  _arguments -S \
339
314
  "*"--addons"[addons to be used: adapt, pve, rsupport]:file:_files" \
@@ -360,6 +335,12 @@ _arguments -S \
360
335
  "(-y --yolk)"{-y,--yolk}"[force yolk renew]" \
361
336
  --help"[Show help for command]" \
362
337
  "*: :_files" ;;
338
+ setup)
339
+ _arguments -S \
340
+ "(-c --check)"{-c,--check}"[check status only, do not install]" \
341
+ "(-f --force)"{-f,--force}"[force installation even if already installed]" \
342
+ --help"[Show help for command]" \
343
+ "*: :_files" ;;
363
344
  status)
364
345
  _arguments -S \
365
346
  "(-h --help)"{-h,--help}"[Show CLI help.]" \
package/scripts/adapt.sh CHANGED
File without changes
@@ -0,0 +1,152 @@
1
+ #!/bin/bash
2
+ set -e
3
+
4
+ echo "Building Penguins Eggs AppImage..."
5
+
6
+ APP_NAME="penguins-eggs"
7
+ VERSION=$(node -p "require('./package.json').version")
8
+ ARCH="x86_64"
9
+
10
+ # Verifica build
11
+ if [ ! -f "dist/bin/dev.js" ]; then
12
+ echo "ERROR: Build not found. Run: pnpm run build"
13
+ exit 1
14
+ fi
15
+
16
+ echo "SUCCESS: Build found: dist/bin/dev.js"
17
+
18
+ # Verifica esistenza cartella appimage
19
+ if [ ! -d "appimage" ]; then
20
+ echo "ERROR: appimage/ directory not found"
21
+ echo "Please create appimage/ with required files"
22
+ exit 1
23
+ fi
24
+
25
+ # Verifica file richiesti in appimage/
26
+ if [ ! -f "appimage/AppRun" ]; then
27
+ echo "ERROR: appimage/AppRun not found"
28
+ exit 1
29
+ fi
30
+
31
+ if [ ! -f "appimage/penguins-eggs.desktop" ]; then
32
+ echo "ERROR: appimage/penguins-eggs.desktop not found"
33
+ exit 1
34
+ fi
35
+
36
+ # Verifica FUSE
37
+ echo "Checking system requirements..."
38
+ if ! ldconfig -p | grep -q libfuse.so.2; then
39
+ echo "WARNING: libfuse2 not found. AppImage may not run properly."
40
+ echo "Please install FUSE:"
41
+ echo " Alpine: sudo apk add fuse"
42
+ echo " Arch: sudo pacman -S fuse2"
43
+ echo " Debian/Ubuntu: sudo apt-get install fuse libfuse2"
44
+ echo " Fedora/RHEL: sudo dnf install fuse fuse-libs"
45
+ echo " Opensuse: sudo zypper install fuse fuse-libs"
46
+ echo ""
47
+ echo "Continuing with build anyway..."
48
+ fi
49
+
50
+ # Pulisci e crea struttura
51
+ rm -rf AppDir
52
+ mkdir -p AppDir/usr/lib/penguins-eggs
53
+ mkdir -p AppDir/usr/bin
54
+ mkdir -p AppDir/usr/share/applications
55
+ mkdir -p AppDir/usr/share/icons/hicolor/256x256/apps
56
+
57
+ # Scarica appimagetool
58
+ if [ ! -f "appimagetool" ]; then
59
+ echo "Downloading appimagetool..."
60
+ wget -q https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-${ARCH}.AppImage -O appimagetool
61
+ chmod +x appimagetool
62
+ fi
63
+
64
+ # Copia il progetto
65
+ echo "Copying project files..."
66
+ for dir in dist node_modules assets addons bin conf dracut manpages mkinitcpio mkinitfs scripts src templates; do
67
+ if [ -d "$dir" ]; then
68
+ echo " Copying: $dir"
69
+ cp -r "$dir" AppDir/usr/lib/penguins-eggs/
70
+ fi
71
+ done
72
+
73
+ # Scarica e installa Node.js
74
+ NODE_VERSION="22.21.1"
75
+ echo "Downloading Node.js v$NODE_VERSION..."
76
+ wget -q https://nodejs.org/dist/latest-v22.x/node-v$NODE_VERSION-linux-x64.tar.xz -O nodejs.tar.xz
77
+ tar -xf nodejs.tar.xz
78
+ mkdir -p AppDir/usr/lib/penguins-eggs/node
79
+ cp -r node-v$NODE_VERSION-linux-x64/* AppDir/usr/lib/penguins-eggs/node/
80
+ rm -rf node-v$NODE_VERSION-linux-x64 nodejs.tar.xz
81
+
82
+ # Bootloaders
83
+ mkdir -p AppDir/usr/lib/penguins-eggs/bootloaders
84
+ echo "Downloading bootloaders..."
85
+ wget -q -O bootloaders.tar.gz "https://github.com/pieroproietti/penguins-bootloaders/releases/download/v25.9.8/bootloaders.tar.gz"
86
+ echo "Extracting bootloaders..."
87
+ tar -xzf bootloaders.tar.gz -C AppDir/usr/lib/penguins-eggs/bootloaders --strip-components=1
88
+ rm -f bootloaders.tar.gz
89
+
90
+ # Copia package.json
91
+ cp package.json AppDir/usr/lib/penguins-eggs/ 2>/dev/null || true
92
+
93
+ # COPIA i file dall'appimage/
94
+
95
+ # Copia e aggiorna metadati AppData
96
+ if [ -f "appimage/penguins-eggs.appdata.xml" ]; then
97
+ mkdir -p AppDir/usr/share/metainfo
98
+
99
+ # Aggiorna automaticamente versione e data
100
+ CURRENT_DATE=$(date +%Y-%m-%d)
101
+ sed -e "s|%VERSION%|$VERSION|g" \
102
+ -e "s|%DATE%|$CURRENT_DATE|g" \
103
+ "appimage/penguins-eggs.appdata.xml" > AppDir/usr/share/metainfo/penguins-eggs.appdata.xml
104
+
105
+ echo "AppData metadata updated: version $VERSION, date $CURRENT_DATE"
106
+ else
107
+ echo "WARNING: AppData file not found at appimage/penguins-eggs.appdata.xml"
108
+ fi
109
+
110
+
111
+ # AppRun
112
+ cp appimage/AppRun AppDir/
113
+ chmod +x AppDir/AppRun
114
+
115
+ # penguins-eggs.desktop
116
+ cp appimage/penguins-eggs.desktop AppDir/
117
+ cp appimage/penguins-eggs.desktop AppDir/usr/share/applications/
118
+
119
+ # penguins-eggs.png
120
+ cp appimage/penguins-eggs.png AppDir/
121
+ cp appimage/penguins-eggs.png AppDir/usr/share/icons/hicolor/256x256/apps/
122
+
123
+ # Link per l'eseguibile
124
+ ln -sf ../lib/penguins-eggs/dist/bin/dev.js AppDir/usr/bin/eggs
125
+
126
+ # Verifica file richiesti
127
+ echo "Checking required AppDir files:"
128
+ ls -la AppDir/AppRun
129
+ ls -la AppDir/penguins-eggs.desktop
130
+ ls -la AppDir/penguins-eggs.png
131
+
132
+ # Crea AppImage
133
+ echo "Creating AppImage..."
134
+ ARCH=$ARCH ./appimagetool AppDir "${APP_NAME}-${VERSION}-${ARCH}.AppImage"
135
+
136
+ # Test
137
+ echo "Testing AppImage..."
138
+ chmod +x "${APP_NAME}-${VERSION}-${ARCH}.AppImage"
139
+
140
+ if command -v fusermount &> /dev/null || command -v fusermount3 &> /dev/null; then
141
+ if ./"${APP_NAME}-${VERSION}-${ARCH}.AppImage" --version; then
142
+ echo "SUCCESS: AppImage working correctly!"
143
+ else
144
+ echo "WARNING: AppImage test failed"
145
+ fi
146
+ else
147
+ echo "WARNING: Cannot test AppImage without FUSE"
148
+ fi
149
+
150
+ echo ""
151
+ echo "AppImage created: ${APP_NAME}-${VERSION}-${ARCH}.AppImage"
152
+ echo "Size: $(du -h "${APP_NAME}-${VERSION}-${ARCH}.AppImage" | cut -f1)"
@@ -0,0 +1,43 @@
1
+ #!/bin/bash
2
+ # Script di installazione system-wide per penguins-eggs AppImage
3
+
4
+ APP_NAME="penguins-eggs"
5
+ INSTALL_DIR="/usr/local/bin"
6
+
7
+ echo "Installing Penguins Eggs system-wide..."
8
+
9
+ # Cerca l'AppImage nella directory corrente
10
+ APPIMAGE_FILE=$(find . -maxdepth 1 -name "${APP_NAME}-*-x86_64.AppImage" | head -1)
11
+
12
+ if [ -z "$APPIMAGE_FILE" ]; then
13
+ echo "ERROR: AppImage not found in current directory."
14
+ echo "Please download it from: https://github.com/pieroproietti/penguins-eggs/releases"
15
+ echo "Or run from the directory containing the AppImage file."
16
+ exit 1
17
+ fi
18
+
19
+ # Rendi eseguibile e installa system-wide
20
+ echo "Installing $APPIMAGE_FILE to $INSTALL_DIR/eggs"
21
+ sudo chmod +x "$APPIMAGE_FILE"
22
+ sudo cp "$APPIMAGE_FILE" "$INSTALL_DIR/eggs"
23
+
24
+ # Nota sulle completion (rimosse)
25
+ echo ""
26
+ echo "NOTE autocomplete: run eggs autocomplete and follow instrutions"
27
+ echo " man pages are not available in penguins-eggs as AppImage."
28
+ echo ""
29
+
30
+ echo ""
31
+ echo "SUCCESS: Penguins Eggs installed system-wide!"
32
+ echo ""
33
+ echo "Components installed:"
34
+ echo " - Main executable: $INSTALL_DIR/eggs"
35
+ echo ""
36
+ echo "Usage:"
37
+ echo " eggs help [command] # Get help for specific commands"
38
+ echo " eggs setup -f # Install prerequisites"
39
+ echo " eggs dad -d # Configure eggs (default values)"
40
+ echo " eggs love -n # Create live ISO image (nointeractive)"
41
+ echo ""
42
+ echo "For full documentation, visit:"
43
+ echo " https://github.com/pieroproietti/penguins-eggs"
File without changes