penguins-eggs 25.12.16 → 26.1.3

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 (87) hide show
  1. package/.oclif.manifest.json +192 -192
  2. package/README.md +703 -341
  3. package/README.pdf +3174 -19913
  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 +3 -9
  8. package/assets/calamares/install-system.sh +23 -22
  9. package/assets/penguins-eggs.desktop +0 -0
  10. package/assets/penguins-krill.desktop +5 -23
  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/cleanup/cleanup.sh +0 -0
  20. package/conf/distros/focal/calamares/calamares-modules/sources-yolk/sources-yolk.sh +0 -0
  21. package/conf/distros/focal/calamares/libexec/calamares-aptsources.sh +0 -0
  22. package/conf/distros/focal/calamares/libexec/calamares-l10n-helper.sh +0 -0
  23. package/conf/distros/focal/calamares/libexec/calamares-logs-helper.sh +0 -0
  24. package/conf/distros/focal/calamares/libexec/calamares-nomodeset.sh +0 -0
  25. package/conf/distros/noble/calamares/calamares-modules/cleanup/cleanup.sh +0 -0
  26. package/conf/distros/noble/calamares/calamares-modules/sources-yolk/sources-yolk.sh +0 -0
  27. package/conf/distros/noble/calamares/libexec/calamares-aptsources.sh +0 -0
  28. package/conf/distros/noble/calamares/libexec/calamares-l10n-helper.sh +0 -0
  29. package/conf/distros/noble/calamares/libexec/calamares-logs-helper.sh +0 -0
  30. package/conf/distros/noble/calamares/libexec/calamares-nomodeset.sh +0 -0
  31. package/conf/distros/opensuse/calamares/calamares-modules/bootloaderspecification/bootloaderspecification.sh +0 -0
  32. package/conf/distros/opensuse/calamares/settings.yml +0 -0
  33. package/conf/distros/opensuse/calamares/zstd2lzo.sh +0 -0
  34. package/conf/distros/trixie/calamares/calamares-modules/cleanup/cleanup.sh +0 -0
  35. package/conf/distros/trixie/calamares/calamares-modules/dpkg-unsafe-io/dpkg-unsafe-io.sh +0 -0
  36. package/conf/distros/trixie/calamares/calamares-modules/sources-yolk/sources-yolk.sh +0 -0
  37. package/conf/init/unattended.sh +0 -0
  38. package/dist/bin/dev.js +0 -0
  39. package/dist/bin/run.js +0 -0
  40. package/dist/classes/distro.js +2 -1
  41. package/dist/classes/incubation/incubator.js +21 -8
  42. package/dist/classes/ovary.d/create-xdg-autostart.d.ts +3 -3
  43. package/dist/classes/ovary.d/create-xdg-autostart.js +139 -149
  44. package/dist/classes/ovary.d/produce.js +2 -2
  45. package/dist/classes/ovary.d/user-create-live.js +6 -1
  46. package/dist/classes/ovary.d/xorriso-command.js +11 -21
  47. package/dist/classes/utils.js +3 -0
  48. package/dist/classes/xdg.d.ts +6 -1
  49. package/dist/classes/xdg.js +119 -108
  50. package/dist/commands/export/appimage.js +2 -1
  51. package/dist/commands/export/pkg.js +16 -8
  52. package/dist/commands/update.js +1 -1
  53. package/dist/krill/classes/prepare.d/users.js +6 -6
  54. package/dist/krill/classes/sequence.js +1 -1
  55. package/dist/krill/components/users.js +4 -4
  56. package/dist/krill/lib/get_userfullname.js +1 -1
  57. package/dist/krill/lib/get_username.js +3 -3
  58. package/dracut/modules.d/00debug-shell/debug-hook.sh +0 -0
  59. package/dracut/modules.d/00debug-shell/module-setup.sh +0 -0
  60. package/dracut/modules.d/90block/block-cmdline.sh +0 -0
  61. package/dracut/modules.d/90block/module-setup.sh +0 -0
  62. package/dracut/modules.d/95iso-scan/iso-scan-fallback.sh +0 -0
  63. package/dracut/modules.d/95iso-scan/iso-scan.sh +0 -0
  64. package/dracut/modules.d/95iso-scan/module-setup.sh +0 -0
  65. package/dracut/modules.d/95luks-loop/luks-loop.sh +0 -0
  66. package/dracut/modules.d/95luks-loop/module-setup.sh +0 -0
  67. package/eui/eui-autostart-cinnamon.desktop +0 -0
  68. package/eui/eui-autostart-xfce.desktop +0 -0
  69. package/eui/eui-create-image.sh +0 -0
  70. package/eui/eui-start.sh +0 -0
  71. package/package.json +125 -130
  72. package/perrisbrewery/scripts/postinst +0 -0
  73. package/perrisbrewery/scripts/postrm +0 -0
  74. package/perrisbrewery/scripts/preinst +0 -0
  75. package/perrisbrewery/scripts/prerm +0 -0
  76. package/perrisbrewery/template/dependencies.yaml +3 -0
  77. package/scripts/99clean +0 -0
  78. package/scripts/adapt.sh +0 -0
  79. package/scripts/boot-encrypted-root.sh +0 -0
  80. package/scripts/bros/waydroid-helper.sh +0 -0
  81. package/scripts/lsb_release +0 -0
  82. package/scripts/mom.sh +0 -0
  83. package/scripts/mount-encrypted-home.sh +0 -0
  84. package/scripts/pve-live.service +0 -0
  85. package/scripts/pve-live.sh +0 -0
  86. package/scripts/restore_homecrypt_krill.sh +0 -0
  87. package/scripts/resy +0 -0
package/README.md CHANGED
@@ -21,13 +21,12 @@ It took years of work to create the penguins-eggs, and I also incurred expenses
21
21
  <!-- toc -->
22
22
  * [README](#readme)
23
23
  * [Penguin&#39;s eggs are generated and new birds are ready to fly...](#penguin39s-eggs-are-generated-and-new-birds-are-ready-to-fly)
24
- * [Presentation](#presentation)
24
+ * [penguins-eggs](#penguins-eggs)
25
25
  * [Installation](#installation)
26
- * [Introduction](#introduction)
27
- * [Technology](#technology)
28
- * [Features](#features)
29
- * [Packages](#packages)
30
26
  * [Usage](#usage)
27
+ * [The Aviary: Tools & Terminology](#the-aviary-tools--terminology)
28
+ * [Supported Distributions](#supported-distributions)
29
+ * [Links & Documentation](#links--documentation)
31
30
  * [Commands](#commands)
32
31
  * [GUI](#gui)
33
32
  * [Book](#book)
@@ -42,580 +41,943 @@ It took years of work to create the penguins-eggs, and I also incurred expenses
42
41
  - [FAQ](https://penguins-eggs.net/docs/faq)
43
42
  - [Changelog](https://github.com/pieroproietti/penguins-eggs/blob/master/CHANGELOG.md#changelog)
44
43
 
45
- # Presentation
46
- **penguins-eggs** is a system cloning and distribution remastering tool primarily designed for Linux distributions.
47
44
 
48
- It’s often used to create customized live ISO images or backups of a Linux system, allowing users to replicate or share their setup easily. Think of it as a way to "hatch" a new system from an existing one—hence the funny name.
45
+ # penguins-eggs
49
46
 
50
- Here’s a breakdown of what it’s used for:
47
+ **penguins-eggs** (or simply `eggs`) is a console tool that allows you to remaster your system and redistribute it as live images on USB sticks or via PXE.
51
48
 
52
- * Distribution Remastering: If you’re into crafting your own Linux distro (or a spin of an existing one), `penguins-eggs` simplifies the process. You can tweak an existing system, strip out or add components, and then package it as a new ISO for distribution.
49
+ Think of it as a way to "hatch" a new system from an existing one. It is a system cloning and distribution remastering tool primarily designed for Linux. It allows users to create customized live ISO images or backups of a Linux system, replicating the setup easily.
53
50
 
54
- * Creating Custom Live ISOs: It lets you generate a bootable live ISO from your system. You can share this ISO with others or use it to boot your setup on different hardware. It’s like creating your own personalized Linux distro without starting from scratch.
51
+ ### Key Capabilities
55
52
 
56
- * System Backup and Cloning: You can use penguins-eggs to create a snapshot of your current Linux system, including installed packages, configurations, and user data (if you choose). This can be handy for disaster recovery or migrating to a new machine.
53
+ * **Distribution Remastering:** Craft your own Linux distro (or a spin of an existing one). Tweak an existing system, strip or add components, and package it as a new ISO.
54
+ * **System Backup & Cloning:** Create a snapshot of your current system, including installed packages and configurations.
55
+ * **Distro-Agnostic:** Works across **Debian, Devuan, Ubuntu, Arch, Fedora, AlmaLinux, Rocky, OpenSuSE, and Alpine**.
56
+ * **Fast & Efficient:** Uses `livefs` and `zstd` compression (up to 10x faster) to avoid copying the entire filesystem.
57
+ * **Secure:** Supports LUKS encryption for user data within the ISO.
57
58
 
58
- Lightweight and Distro-Agnostic: It works across various Debian, Devuan, Ubuntu, Arch, Fedora, Almalinux, Rocky, OpenSuSE and Alpine derivativesso you’re not locked into one ecosystem. Please consult the complete list of [SUPPORTED-DISTROS](https://github.com/pieroproietti/fresh-eggs/blob/main/SUPPORTED-DISTROS.md) to get more informations.
59
+ ---
59
60
 
60
61
  # Installation
61
- ## AppImage
62
- [![penguins-eggs as AppImage](https://img.shields.io/badge/Get%20it%20as-AppImage-important.svg)](https://github.com/pieroproietti/penguins-eggs/releases)
63
62
 
63
+ There are three main ways to install `eggs`. Choose the one that fits your workflow.
64
64
 
65
- Although penguins-eggs has only recently been released as an AppImage, this is perhaps the simplest method. All you need is to get the penguins-eggs AppImage: open a browser at the url: `https://github.com/pieroproietti/penguins-eggs`, on the right side, find `latest release`, download the AppImage `penguins-eggs-25.x.x-1-x86_64.AppImage` and launch it using `sudo`
65
+ ### Method 1: The "Fresh Eggs" Script (Recommended)
66
+ This is the most practical way suitable for all [supported distros](https://github.com/pieroproietti/fresh-eggs/blob/main/SUPPORTED-DISTROS.md). It automatically configures necessary repositories (like NodeSource) and installs dependencies.
66
67
 
67
- The AppImage will be automatically configured and renamed as `/usr/bin/eggs`. It's ready to use!
68
+ ```bash
69
+ git clone [https://github.com/pieroproietti/fresh-eggs](https://github.com/pieroproietti/fresh-eggs)
70
+ cd fresh-eggs
71
+ sudo ./fresh-eggs.sh
72
+ ```
68
73
 
69
- `eggs love` to get your system remastered as live ISO.
74
+ ### Method 2: AppImage (Universal)
75
+ Download the latest AppImage from [Releases](https://github.com/pieroproietti/penguins-eggs/releases).
70
76
 
71
- ## Before trying the AppImage, depending on your distro, you need to install these packages:
72
- * Alpine: `sudo apk add fuse`
73
- * Arch/Manjaro: `sudo pacman -S fuse2`
74
- * Debian/Devuan/Ubuntu: `sudo apt-get install fuse libfuse2`
75
- * Fedora/RHEL: `sudo dnf install fuse fuse-libs`
76
- * Opensuse: `sudo zypper install fuse fuse-libs`
77
+ **Prerequisites:** Depending on your distro, you may need FUSE:
78
+ * **Debian/Ubuntu:** `sudo apt-get install fuse libfuse2`
79
+ * **Arch:** `sudo pacman -S fuse2`
80
+ * **Fedora:** `sudo dnf install fuse fuse-libs`
77
81
 
78
- ## AppImage installation
79
- penguins-eggs as an AppImage, it can be installed on all supported distributions. Download it from [github.com/pieroproietti](https://github.com/pieroproietti/penguins-eggs/releases) or on [appimage.github.io](https://appimage.github.io/penguins-eggs), then run the following commands:
80
- ```
81
- $ chmod +x penguins-eggs-25.11.29-1-x86_64.AppImage
82
- $ sudo ./penguins-eggs-25.11.29-1-x86_64.AppImage
82
+ **Run:**
83
+ ```bash
84
+ chmod +x penguins-eggs-*.AppImage
85
+ sudo ./penguins-eggs-*.AppImage
83
86
  ```
87
+ *The AppImage will automatically configure itself as `/usr/bin/eggs`.*
84
88
 
85
- Note that the AppImage version and the native version consist of exactly the same code and install/remove the same native dependencies on every distro.
89
+ ### Method 3: Native Packages
90
+ If you prefer native package managers, specific repositories are available.
86
91
 
87
- ## Native packages
88
- **Try the new repos** for [Debian/Devuan/Ubuntu](https://github.com/pieroproietti/penguins-eggs/blob/master/DOCS/INSTALL-DEBIAN-DEVUAN-UBUNTU.md)[Fedora](https://github.com/pieroproietti/penguins-eggs/blob/master/DOCS/INSTALL-FEDORA.md), [Enterprise linux](https://github.com/pieroproietti/penguins-eggs/blob/master/DOCS/INSTALL-ENTERPRISE-LINUX.md) and [OpenSUSE](https://github.com/pieroproietti/penguins-eggs/blob/master/DOCS/INSTALL-OPENSUSE.md).
92
+ | Family | Instructions |
93
+ | :--- | :--- |
94
+ | **Debian/Ubuntu** | [Install Guide](https://github.com/pieroproietti/penguins-eggs/blob/master/DOCS/INSTALL-DEBIAN-DEVUAN-UBUNTU.md) / [PPA Info](https://pieroproietti.github.io/penguins-eggs-ppa) |
95
+ | **Arch/Manjaro** | Available in **AUR** and **Manjaro Community**. Use `yay penguins-eggs` or `pamac install penguins-eggs`. |
96
+ | **Fedora/RHEL** | [Fedora Guide](https://github.com/pieroproietti/penguins-eggs/blob/master/DOCS/INSTALL-FEDORA.md) / [Enterprise Linux](https://github.com/pieroproietti/penguins-eggs/blob/master/DOCS/INSTALL-ENTERPRISE-LINUX.md) |
97
+ | **Alpine** | Available in the [penguins-alpine](https://github.com/pieroproietti/penguins-alpine) repo. |
89
98
 
90
- ## penguins-eggs-25.7.x installation
91
- `penguins-eggs-25.7.x` depends on `nodejs >18`, which is not directly available on all distros. We can rely on [nodesource](https://github.com/nodesource/distributions?tab=readme-ov-file#debian-and-ubuntu-based-distributions) for adding them.
99
+ ---
92
100
 
93
- ### using fresh-eggs
94
- It's the most pratical way and is suitable for all [supported distros](https://github.com/pieroproietti/fresh-eggs/blob/main/SUPPORTED-DISTROS.md).
101
+ # Usage
95
102
 
96
- [fresh-eggs](https://github.com/pieroproietti/fresh-eggs) configure automatically `nodesource` when need, and install the right package for your distro. Copy and paste, the follow commands:
97
- ```
98
- git clone https://github.com/pieroproietti/fresh-eggs
99
- cd fresh-eggs
100
- sudo ./fresh-eggs.sh
103
+ Once installed, simply run `eggs` to see the available commands.
104
+
105
+ ### Basic: Create a Clean ISO
106
+ This creates a distributable live ISO *without* user data. Perfect for sharing your custom distro.
107
+ ```bash
108
+ sudo eggs produce
101
109
  ```
102
- And follow instructions.
103
110
 
104
- ### using Eggo - The Simpler Installer for Penguins Eggs
105
- From our friend [Brickboss](https://github.com/robert19066) come [eggo](https://github.com/robert19066/Eggo) a simple installer for penguins-eggs. [Instructions](https://github.com/robert19066/Eggo).
111
+ ### Cloning: Backup Your System
112
+ To keep your user data, configurations, and files:
106
113
 
114
+ | Goal | Command | Description |
115
+ | :--- | :--- | :--- |
116
+ | **Standard Clone** | `eggs produce --clone` | Copies user data unencrypted. **Do not share publicly.** |
117
+ | **Home Encryption** | `eggs produce --homecrypt` | Encrypts `/home` data inside the ISO using LUKS. |
118
+ | **Full Encryption** | `eggs produce --fullcrypt` | Encrypts the entire system (Debian/Devuan only). |
107
119
 
108
- ### Manual installation
120
+ ### Compression Options
121
+ * `--pendrive`: Optimized for USBs (zstd level 15).
122
+ * `--standard`: Uses `xz` compression.
123
+ * `--max`: Maximum compression (`xz -Xbcj`).
109
124
 
110
- ### AlmaLinux, RockyLinux
111
- Since penguins-eggs-25.7.14 rpm packages for Enterprise Linux [el9](https://penguins-eggs.net/basket/index.php/packages/el9) are availables.
125
+ ---
112
126
 
113
- ### AlpineLinux
114
- I maintain a package for Alpine Linux. Its repository is [penguins-alpine](https://github.com/pieroproietti/penguins-alpine) and related packages can be downloaded from [penguins-eggs.net](https://penguins-eggs.net/basket/index.php/packages/alpine) or the [sourceforge page](https://sourceforge.net/projects/penguins-eggs/files/Packages/alpine/).
127
+ # The Aviary: Tools & Terminology
115
128
 
116
- ### Arch
117
- Just download and install penguins-eggs-25.x.x using [fresh-eggs](https://github.com/pieroproietti/fresh-eggs).
129
+ `penguins-eggs` uses a bird-themed naming convention for its internal tools:
118
130
 
119
- ### Debian, Devuan, Ubuntu
120
- Just download and install penguins-eggs-25.x.x using [fresh-eggs](https://github.com/pieroproietti/fresh-eggs).
131
+ * **Wardrobe:** A tool to organize customizations, scripts, and themes. It allows you to switch between configurations (e.g., from a bare CLI system to a full GUI). See [penguins-wardrobe](https://github.com/pieroproietti/penguins-wardrobe).
132
+ * **Cuckoo:** A PXE boot server feature. It allows you to boot your generated ISO on other computers over the local network without needing a USB drive.
133
+ * **Yolk:** A local repository bundled inside the ISO containing essential packages, allowing offline installation.
134
+ * **Krill:** The internal CLI/TUI system installer. Essential for server installs or when no GUI is available.
135
+ * **Calamares:** The industry-standard GUI installer, automatically configured by `eggs` for desktop environments.
136
+ * **Mom & Dad:**
137
+ * `eggs mom`: Interactive help and documentation assistant.
138
+ * `eggs dad`: Configuration wizard. Run `sudo eggs dad -d` to reset configuration.
121
139
 
122
- #### Debian 10 Buster, Debian 11 Bullseye
123
- Before to install `penguins-eggs-25.x.x`, add the repos from `nodesource`. Follow these [instructions](https://github.com/pieroproietti/penguins-eggs/issues/368) to get `nodejs>18` available.
140
+ ---
124
141
 
125
- #### Debian 9 Stretch, Ubuntu 18.04 Bionic
126
- Use the package `penguins-eggs-25.x.x-bionic-x`, which is compiled against node16. Follow these [instructions](https://github.com/pieroproietti/penguins-eggs/issues/368#issuecomment-2169961955) to get `nodejs>16` available.
142
+ # Supported Distributions
127
143
 
128
- ### Fedora
129
- Since penguins-eggs-25.7.14 rpm packages for [fedora42](https://penguins-eggs.net/basket/index.php/packages/fedora) are availables.
144
+ `eggs` is designed to be distro-agnostic. It respects the original package manager and repository lists.
130
145
 
131
- ### Manjaro
132
- penguins-eggs is on Manjaro community repo, so just: `sudo pamac install penguins-eggs`.
146
+ * **Debian Family:** Debian, Devuan, Ubuntu, Linux Mint, Kali, KDE Neon, Pop!_OS.
147
+ * **Arch Family:** Arch Linux, Manjaro, Biglinux, EndeavourOS, Garuda.
148
+ * **RPM Family:** Fedora, AlmaLinux, Rocky Linux, OpenSUSE.
149
+ * **Others:** Alpine Linux.
133
150
 
134
- ### Openmanba
135
- Openmamba is an italian distribution based on rpm and using dnf as package manager, it is really up-to-date, penguins-eggs is available as rpm package.
151
+ > [!NOTE]
152
+ > For a complete and updated list, please consult [SUPPORTED-DISTROS](https://github.com/pieroproietti/fresh-eggs/blob/main/SUPPORTED-DISTROS.md).
136
153
 
137
- ### OpenSUSE
138
- Since penguins-eggs-25.7.14 rpm packages for [OpenSUSE](https://penguins-eggs.net/basket/index.php/packages/opensuse) are availables.
154
+ ---
139
155
 
140
-
156
+ # Links & Documentation
141
157
 
142
- # Introduction
158
+ * **Official Website:** [penguins-eggs.net](https://penguins-eggs.net)
159
+ * **Blog & News:** [The Triple Somersault](https://penguins-eggs.net/blog/triple-somersault)
160
+ * **SourceForge ISOs:** [Download Examples](https://sourceforge.net/projects/penguins-eggs/files/ISOS/)
161
+ * **User Guide:** [Wardrobe User Guide](https://penguins-eggs.net/docs/Tutorial/wardrobe-users-guide)
143
162
 
144
- `penguins-eggs` is the package name of `eggs` a console tool, under continuous development, that allows you to remaster your system and redistribute it as live images on USB sticks or via PXE.
163
+ # Commands
164
+ <!-- commands -->
165
+ * [`eggs adapt`](#eggs-adapt)
166
+ * [`eggs autocomplete [SHELL]`](#eggs-autocomplete-shell)
167
+ * [`eggs calamares`](#eggs-calamares)
168
+ * [`eggs config`](#eggs-config)
169
+ * [`eggs cuckoo`](#eggs-cuckoo)
170
+ * [`eggs dad`](#eggs-dad)
171
+ * [`eggs export appimage`](#eggs-export-appimage)
172
+ * [`eggs export iso`](#eggs-export-iso)
173
+ * [`eggs export pkg`](#eggs-export-pkg)
174
+ * [`eggs export tarballs`](#eggs-export-tarballs)
175
+ * [`eggs help [COMMAND]`](#eggs-help-command)
176
+ * [`eggs kill`](#eggs-kill)
177
+ * [`eggs krill`](#eggs-krill)
178
+ * [`eggs love`](#eggs-love)
179
+ * [`eggs mom`](#eggs-mom)
180
+ * [`eggs produce`](#eggs-produce)
181
+ * [`eggs setup install`](#eggs-setup-install)
182
+ * [`eggs setup purge`](#eggs-setup-purge)
183
+ * [`eggs status`](#eggs-status)
184
+ * [`eggs tools clean`](#eggs-tools-clean)
185
+ * [`eggs tools repo`](#eggs-tools-repo)
186
+ * [`eggs tools skel`](#eggs-tools-skel)
187
+ * [`eggs tools stat`](#eggs-tools-stat)
188
+ * [`eggs tools yolk`](#eggs-tools-yolk)
189
+ * [`eggs update`](#eggs-update)
190
+ * [`eggs version`](#eggs-version)
191
+ * [`eggs wardrobe get [REPO]`](#eggs-wardrobe-get-repo)
192
+ * [`eggs wardrobe list [REPO]`](#eggs-wardrobe-list-repo)
193
+ * [`eggs wardrobe show [REPO]`](#eggs-wardrobe-show-repo)
194
+ * [`eggs wardrobe wear [REPO]`](#eggs-wardrobe-wear-repo)
145
195
 
146
- The concept behind Penguins’ Eggs stems from the idea of “reproduction” and “population selection” applied to operating systems. During the era of popular remastering programs like Remastersys and Systemback, both of which experienced maintenance issues and were eventually abandoned, the need for a new, modern tool became evident.
196
+ ## `eggs adapt`
147
197
 
148
- The inspiration for Penguins’ Eggs led to the development of a new tool written in a modern, cross-distribution language, utilizing its own packaging system.
198
+ adapt monitor resolution for VM only
149
199
 
150
- Initially built with javascript and then switched to Typescript as the main development language, the design of the tool resembles an egg production process, consisting of operations such as produce to create the eggs and hatch to install them (I changed a bit later: from hatch to install, then to krill as a tribute to calamares tribes).
200
+ ```
201
+ USAGE
202
+ $ eggs adapt [-h] [-v]
151
203
 
152
- Other commands follow: like `kill` for removing produced ISOs, `calamares` for configuring the graphical installer, `mom` as interactive help, `dad` to configure eggs, `status`, `tools`, etc.
204
+ FLAGS
205
+ -h, --help Show CLI help.
206
+ -v, --verbose
153
207
 
154
- Considered a work-in-progress, the ultimate goal of Penguins Eggs is to allow the creation of live ISOs from an installed system and their use for system installations. It can be used both to create images on USB devices - even [Ventoy](https://www.ventoy.net/en/index.html) - and as a PXE server to distribute the image itself over a local network. Inspired by the behavior of the cuckoo bird, which depends on others to hatch its eggs.
208
+ DESCRIPTION
209
+ adapt monitor resolution for VM only
155
210
 
156
- Written primarily in TypeScript, Penguins’ Eggs is designed to be compatible with various Linux distributions, despite differences in package managers, file paths, and more.
211
+ EXAMPLES
212
+ $ eggs adapt
213
+ ```
157
214
 
158
- The tool currently supports Debian, Devuan, Ubuntu, Arch, Manjaro, and their derivatives, across multiple architectures including amd64, i386, and arm64.
215
+ _See code: [src/commands/adapt.ts](https://github.com/pieroproietti/penguins-eggs/blob/v26.1.3/src/commands/adapt.ts)_
159
216
 
160
- From the release of version 9.6.x, Penguins’ Eggs is available as a [Debian package](https://penguins-eggs.net/basket/index.php?p=packages%2Fdebs), then was extended to Arch Linux creating the relative [PKGBUILD](https://aur.archlinux.org/packages/penguins-eggs). Nowadays, eggs can remaster AlmaLinux, Fedora, openmamba, openSuSE, and RockyLinux too.
217
+ ## `eggs autocomplete [SHELL]`
161
218
 
162
- Penguins Eggs caters to a wide range of systems including PCs, older machines, and single-board ARM systems like the Raspberry Pi, across amd64, i386, and arm64 architectures.
219
+ Display autocomplete installation instructions.
163
220
 
164
- For more information and updates, visit the [Penguins Eggs' official website](https://penguins-eggs.net).
221
+ ```
222
+ USAGE
223
+ $ eggs autocomplete [SHELL] [-r]
165
224
 
225
+ ARGUMENTS
226
+ [SHELL] (zsh|bash|powershell) Shell type
166
227
 
167
- > [!TIP]
168
- > `eggs` is an actively developed console tool designed to help you customize and distribute your system as live images on USB sticks or through PXE. By using this tool, you can remaster your system according to your preferences.
228
+ FLAGS
229
+ -r, --refresh-cache Refresh cache (ignores displaying instructions)
169
230
 
170
- > [!TIP]
171
- > By default, `eggs` completely removes the system's data and users. However, it also offers the option to remaster the system while including the data and accounts of existing users. This can be done using the `--clone` flag. Additionally, you can preserve the users and files by storing them in an encrypted LUKS file within the resulting ISO file, which can be achieved with the `--cryptedclone` flag.
231
+ DESCRIPTION
232
+ Display autocomplete installation instructions.
172
233
 
173
- > [!TIP]
174
- > The resulting live system can be easily installed using either the calamares installer or the internal TUI krill installer. Furthermore, using `krill`, you can easily get an unattended installation, utilizing `--unattended` and various [krill](#eggs-krill) flags.
234
+ EXAMPLES
235
+ $ eggs autocomplete
175
236
 
176
- > [!TIP]
177
- > One interesting feature of `eggs` is its integration with the `penguins-wardrobe` This allows you to create or utilize scripts to switch between different configurations. For example, you can start with a bare version of the system, featuring only a command-line interface (CLI), and then easily transition to a full graphical user interface (GUI) or server configurations.
237
+ $ eggs autocomplete bash
178
238
 
179
- > [!NOTE]
180
- > For more information and customization options, you can explore `penguins-wardrobe`. a related project. You can fork it and adapt it to meet your specific needs.
239
+ $ eggs autocomplete zsh
181
240
 
182
- See [penguins-wardrobe](https://github.com/pieroproietti/penguins-wardrobe), fork it, and adapt it to your needs.
241
+ $ eggs autocomplete powershell
183
242
 
184
- # Technology
185
- `eggs` is primarily written in TypeScript and is designed to be compatible with various Linux distributions. While there may be differences in package managers, paths, and other aspects, the underlying programs used to build the live system are generally the same.
243
+ $ eggs autocomplete --refresh-cache
244
+ ```
245
+
246
+ _See code: [@oclif/plugin-autocomplete](https://github.com/oclif/plugin-autocomplete/blob/v3.2.39/src/commands/autocomplete/index.ts)_
186
247
 
187
- Currently, `eggs` supports several Linux distributions, including [AlmaLinux](https://almalinux.org/), [Arch](https://archlinux.org/), [Debian](https://www.debian.org/), [Devuan](https://www.devuan.org/), [LinuxMint](https://www.linuxmint.com/), [Manjaro](https://manjaro.org/), [openmamba](https://openmamba.org/), [openSuSE](https://www.opensuse.org/), [Ubuntu](https://ubuntu.com/), [RockyLinux](https://rockylinux.org/) and [derivatives](./conf/derivatives.yaml).
248
+ ## `eggs calamares`
188
249
 
189
- It also caters to different architectures, namely `amd64`, `i386`, and `arm64`.
250
+ a GUI system installer - install and configure calamares
251
+
252
+ ```
253
+ USAGE
254
+ $ eggs calamares [-h] [-i] [-n] [-p] [-r] [--remove] [--theme <value>] [-v]
190
255
 
191
- Starting from version 9.6.x, `penguins-eggs` is released as a Debian package, available for amd64, i386, and arm64 architectures. This allows it to support a wide range of PCs, including older machines, as well as single-board ARM systems like the Raspberry Pi. You can learn more about this release in the article titled Triple Somersault! [Triple somersault!](https://penguins-eggs.net/blog/triple-somersault).
256
+ FLAGS
257
+ -h, --help Show CLI help.
258
+ -i, --install install calamares and its dependencies
259
+ -n, --nointeractive no user interaction
260
+ -p, --policies configure calamares policies
261
+ -r, --release release: remove calamares and all its dependencies after the installation
262
+ -v, --verbose
263
+ --remove remove calamares and its dependencies
264
+ --theme=<value> theme/branding for eggs and calamares
192
265
 
193
- For more information on the supported distributions and architectures, you can visit the blog [blog](https://penguins-eggs.net/blog/distros-that-can-be-remastered-with-eggs).
266
+ DESCRIPTION
267
+ a GUI system installer - install and configure calamares
194
268
 
195
- Additionally, you can find examples of remastered ISO images created with `eggs` on the project's SourceForge page [sourceforge page of the project](https://sourceforge.net/projects/penguins-eggs/files/ISOS/).
269
+ EXAMPLES
270
+ sudo eggs calamares
196
271
 
272
+ sudo eggs calamares --install
197
273
 
198
- # Features
199
- Penguins-eggs is a versatile tool that offers an array of features and benefits for Linux users. Whether you want to create an installable ISO from your current Linux system or explore various customization options,
200
-
201
- Penguins-eggs has got you covered. To get started with Penguins-eggs, you'll need to install it on your Linux distribution. The tool supports a wide range of Linux distributions and their major derivatives, including Arch, Debian, Devuan, Manjaro, Ubuntu, and more. Additionally, you can easily add support for additional derivatives, expanding the tool's capabilities even further.
274
+ sudo eggs calamares --install --theme=/path/to/theme
202
275
 
203
- 1. Fast and Efficient
204
- Penguins-eggs is designed to be fast and efficient. Unlike traditional methods that involve copying the entire file system, Penguins-eggs utilizes livefs, which allows for instant acquisition of the live system. By default, the tool.
276
+ sudo eggs calamares --remove
277
+ ```
205
278
 
206
- 2. Supports Compression Algorithm
207
- Employs the zstd compression algorithm, significantly reducing the time required for the process, often up to 10 times faster. When creating an installable ISO.
279
+ _See code: [src/commands/calamares.ts](https://github.com/pieroproietti/penguins-eggs/blob/v26.1.3/src/commands/calamares.ts)_
208
280
 
209
- 3. Supports Clone
210
- Penguins-eggs provides various options to suit your needs. With the --clone flag, you can preserve the data and accounts of unencrypted users, ensuring a seamless experience for users accessing the live system. Moreover, you can opt for a crypted clone, where user data and accounts are saved in an encrypted LUKS volume within the ISO image, enhancing security and privacy.
281
+ ## `eggs config`
211
282
 
212
- 4. Cuckoo and PXE boot
213
- In addition to ISO creation, Penguins-eggs offers a unique feature called Cuckoo. By starting Cuckoo from the live system, you can set up a PXE boot server, making it accessible to all computers on the network. This functionality opens up possibilities for network booting and streamlined deployment. Penguins Eggs Linux ushers in a new era of innovation and convenience with its groundbreaking default feature, Cuckoo live network boot, which transforms any computer running Penguins Eggs into a PXE (Preboot eXecution Environment) boot server. This revolutionary paradigm of network booting and seamless deployment underscores Penguins Eggs Linux’s commitment to redefining the parameters of accessibility and efficiency within the realm of Linux distributions.
283
+ Configure eggs to run it
214
284
 
215
- 5. Supports Both TUI/GUI Installer
216
- To simplify the installation process, Penguins-eggs provides its own system installer called krill. This installer is particularly useful when a GUI (Graphical User Interface) is not available, allowing for installation in various situations. However, if you are using a desktop system, Penguins-eggs recommends and configures the calamares GUI installer, ensuring a seamless and user-friendly experience.
217
- Penguins Eggs Linux spearheads a transformative revolution in the realm of system installation with the incorporation of its TUI (Text-based User Interface) / GUI (Graphical User Interface) installer, setting a new standard of versatility and accessibility within the landscape of Linux distributions.
285
+ ```
286
+ USAGE
287
+ $ eggs config [-c] [-h] [-n] [-v]
218
288
 
219
- 6. Repository Lists
220
- One of the key advantages of Penguins-eggs is its commitment to utilizing only the original distro's packages. This means that no modifications are made to your repository lists, ensuring a safe and reliable environment. Penguins-eggs prioritizes maintaining the integrity and authenticity of your Linux distribution.
289
+ FLAGS
290
+ -c, --clean remove old configuration before to create new one
291
+ -h, --help Show CLI help.
292
+ -n, --nointeractive no user interaction
293
+ -v, --verbose verbose
221
294
 
222
- 7. Wardrobe
223
- To enhance customization options, Penguins-eggs introduces the concept of Wardrobe. With Wardrobe and its various components, such as costumes, you can easily organize and manage your customizations, samples, and more. This feature enables a streamlined and efficient workflow, allowing you to tailor your Linux system to your preferences.
295
+ DESCRIPTION
296
+ Configure eggs to run it
224
297
 
225
- 8. Supporting Multiple Distributions
226
- Eggs supporting multiple distributions and their derivatives
227
- Supports: Alpine, Arch, Debian, Fedora, Devuan, Manjaro, Ubuntu,
228
- and major derivatives like: Linuxmint, KDE neon, EndeavourOS, Garuda, etc. You can easily add more derivatives.
298
+ EXAMPLES
299
+ sudo eggs config
229
300
 
230
- 10. Supports Hardware Architectures
231
- supports a wide range of hardware architectures.
232
- Supports: i386, amd64 and arm64 architecture, from old PCs, and common PCs to single board computers like Raspberry Pi 4/5
301
+ sudo eggs config --clean
233
302
 
234
- 11. Supports privacy and security
235
- Safe: only use the original distro's packages, without any modification in your repository lists. Penguins Eggs Linux embarks on a steadfast commitment to user security and system integrity through its default practice of exclusively utilizing original distributions’ packages without any modifications in the repository lists. This resolute dedication to maintaining the pristine authenticity of packages reinforces Penguins Eggs’ fundamental ethos of safety and reliability, fostering an environment characterized by unwavering trust in the integrity of the software ecosystem.
303
+ sudo eggs config --clean --nointeractive
304
+ ```
236
305
 
306
+ _See code: [src/commands/config.ts](https://github.com/pieroproietti/penguins-eggs/blob/v26.1.3/src/commands/config.ts)_
237
307
 
238
- ## Wardrobe, Themes, and Addons
239
- In April 2022, the `wardrobe` command was introduced to `eggs`. This addition serves as a comprehensive tool to assist and streamline the process of creating a customized version of Linux, starting from a command-line interface (CLI) system. I have embraced wardrobe for all my editions to enhance convenience, enabling me to better organize, consolidate, and manage my work effectively.
240
- To add a unique touch to my customizations, I have assigned bird names to each edition. Except for the "naked" edition, there are various options available, including "Colibri," "eagle," "duck," "owl," and "chicks" under the bookworm and plastilinux distributions. [bookworm](https://sourceforge.net/projects/penguins-eggs/files/ISOS/debian/bookworm/) and [plastilinux](https://sourceforge.net/projects/penguins-eggs/files/ISOS/plastilinux/).Furthermore, under Waydroid on the eggs' SourceForge page, you can find "wagtail" and "warbier."
241
- I have high hopes that people will take an interest in wardrobe and consider forking the main repository to incorporate their own customizations. By collaborating, we can achieve significant progress that would be challenging for a single developer to accomplish. If you would like to delve deeper into the wardrobe, I recommend reading the [Penguins Eggs' blog](https://penguins-eggs.net/blog/wardrobe-colibri-duck-eagle-and-owl/). post titled Wardrobe: Colibri, Duck, Eagle, and Owl, which provides further insights into its features and benefits.
242
- Furthermore, addons, predominantly themes, have been organized under the vendor's folder in the penguin's wardrobe. I encourage utilizing your wardrobe for all your customization needs to maintain consistency and organization throughout your work.
308
+ ## `eggs cuckoo`
243
309
 
244
- > [!NOTE]
245
- > For detailed instructions on using a wardrobe, please consult the wardrobe users' guide [wardrobe users' guide](https://penguins-eggs.net/docs/Tutorial/wardrobe-users-guide).
310
+ PXE start with proxy-dhcp
246
311
 
312
+ ```
313
+ USAGE
314
+ $ eggs cuckoo [-h] [-v]
247
315
 
248
- ## System Cloning and Data Handling
249
- When creating a live distribution of your system using eggs produce, you must decide how to handle user data. You have three primary approaches: Default (Clean), Direct Clone, and Encrypted Clone.
316
+ FLAGS
317
+ -h, --help Show CLI help.
318
+ -v, --verbose verbose
250
319
 
251
- ### 1. Default Mode (Clean System)
252
- Command: `eggs produce`
320
+ DESCRIPTION
321
+ PXE start with proxy-dhcp
253
322
 
254
- This is the default mode. It completely removes all user data and personal settings from the live distribution.
323
+ EXAMPLES
324
+ sudo eggs cuckoo
325
+ ```
255
326
 
256
- Best for: Creating a distributable ISO to share with others or creating a clean "factory reset" image.
327
+ _See code: [src/commands/cuckoo.ts](https://github.com/pieroproietti/penguins-eggs/blob/v26.1.3/src/commands/cuckoo.ts)_
257
328
 
258
- Privacy: Maximum. No private data remains in the live system.
329
+ ## `eggs dad`
259
330
 
260
- ### 2. Clone (Unencrypted)
261
- Command: `eggs produce --clone`
331
+ ask help from daddy - TUI configuration helper
262
332
 
263
- This command creates an exact replica of your current system, saving both system files and user data directly into the ISO.
333
+ ```
334
+ USAGE
335
+ $ eggs dad [-c] [-d] [-f <value>] [-n] [-h] [-v]
264
336
 
265
- Behavior: If someone obtains this ISO, they can boot it and immediately access your files, browsing history, and settings without a password.
337
+ FLAGS
338
+ -c, --clean remove old configuration before to create
339
+ -d, --default reset to default values
340
+ -f, --file=<value> use a file configuration custom
341
+ -h, --help Show CLI help.
342
+ -n, --nointeractive no user interaction
343
+ -v, --verbose
266
344
 
267
- Best for: Personal backups where the physical media (USB/DVD) remains in your secure possession.
345
+ DESCRIPTION
346
+ ask help from daddy - TUI configuration helper
268
347
 
269
- Privacy Warning: Low. Data is not encrypted. Do not share this ISO publicly if it contains sensitive information.
348
+ EXAMPLES
349
+ sudo dad
270
350
 
271
- ### 3. Encrypted Clone (Secure Backup)
272
- Commands: `eggs produce --homecrypt` / `eggs produce --fullcrypt`
351
+ sudo dad --clean
273
352
 
274
- These options save your data within the ISO but protect it inside a LUKS (Linux Unified Key Setup) volume.
353
+ sudo dad --default
354
+ ```
275
355
 
276
- Behavior: Your user data is included but is not visible or accessible in the live system session. Even if a third party obtains the ISO, they cannot access the data without the LUKS passphrase.
356
+ _See code: [src/commands/dad.ts](https://github.com/pieroproietti/penguins-eggs/blob/v26.1.3/src/commands/dad.ts)_
277
357
 
278
- Best for: Secure backups or transporting your environment across different machines.
358
+ ## `eggs export appimage`
279
359
 
280
- > [NOTE] Availability and Scope
360
+ export penguins-eggs AppImage to the destination host
281
361
 
282
- > eggs produce --homecrypt: Available for most distributions using either native penguins-eggs packages or the AppImage. It protects sensitive data under /home and system accounts.
362
+ ```
363
+ USAGE
364
+ $ eggs export appimage [-c] [-h] [-v]
283
365
 
284
- > `eggs produce --fullcrypt`: Supported only on Debian Trixie and Devuan Excalibur, and exclusively when using native eggs packages. Unlike homecrypt, this option does not limit protection to /home, but encrypts the entire system.
366
+ FLAGS
367
+ -c, --clean remove old .AppImage before to copy
368
+ -h, --help Show CLI help.
369
+ -v, --verbose verbose
285
370
 
286
- | Command | Data Included? | Encryption | Visible on Live System? | Use Case |
287
- | :--- | :--- | :--- | :--- | :--- |
288
- | `eggs produce` | No | N/A | No | Public Distribution / Clean Install |
289
- | `eggs produce --clone` | **Yes** | No | **Yes** | Personal Unsecured Backup |
290
- | `eggs produce --homecrypt` | **Yes** (/home) | **Yes (LUKS)** | Yes | Secure Backup of User Data |
291
- | `eggs produce --fullcrypt` | **Yes** (Full) | **Yes (LUKS)** | Yes | Maximum Security Backup (Debian/Devuan only) |
371
+ DESCRIPTION
372
+ export penguins-eggs AppImage to the destination host
292
373
 
293
- ## Calamares and krill
294
- Calamares and Krill are powerful tools in the Eggs project, [calamares](https://calamares.io), offering versatile installation options for Linux systems. The Eggs project was specifically designed to utilize Calamares as the default system installer, providing users with the flexibility to customize their installations using themes. However, Eggs goes beyond Calamares by introducing its own installer called Krill, which focuses on command-line interface (CLI) installations, particularly for server environments.
374
+ EXAMPLES
375
+ $ eggs export pkg
295
376
 
296
- Krill adopts a TUI interface that closely resembles Calamares, ensuring a consistent user experience. Leveraging the same configuration files created by Eggs for Calamares, Krill maintains compatibility and allows for seamless transitions between desktop and server installations. By simply adding the flag during installation, Krill enables unattended installations, streamlining the process for system administrators. Fine-tuning installation parameters becomes effortless as the configuration values can be modified in the ```/etc/penguins-eggs.d/krill.yaml``` file, facilitating automated deployments.
377
+ $ eggs export pkg --clean
297
378
 
298
- > [!TIP]
299
- > Thanks to the Eggs project's integration of Calamares and the introduction of Krill, users can enjoy a comprehensive installation toolkit. Whether one prefers the graphical interface of Calamares or the command-line efficiency of Krill, Eggs caters to diverse installation needs, making Linux setup a breeze.
379
+ $ eggs export pkg --all
380
+ ```
300
381
 
301
- ## Cuckoo
302
- Just like the cuckoo bird lays its eggs in the nests of other birds, the Eggs project introduces a similar concept in the form of a self-configuring PXE service. This service allows you to boot and install your ISO on networked computers that are not originally configured for your specific ISO.
303
- With the command `cuckoo` you can deploy a newly created ISO on an already installed system, or you can live to boot the ISO itself. This means that you can either install your ISO on existing systems or directly run the ISO without the need for a permanent installation.
382
+ _See code: [src/commands/export/appimage.ts](https://github.com/pieroproietti/penguins-eggs/blob/v26.1.3/src/commands/export/appimage.ts)_
304
383
 
305
- > [!TIP]
306
- > By leveraging the cuckoo command, the Eggs project provides a convenient method for deploying and testing your ISO on a variety of networked computers, expanding the possibilities for system installations and evaluations.
384
+ ## `eggs export iso`
307
385
 
308
- ## Mom and Dad
309
- I have introduced two helpful built-in assistants: Mom and Dad. Mom, based on the easybashgui [easybashgui](https://github.com/BashGui/easybashgui) script, serves as a comprehensive guide, providing explanations of various commands and documentation. This ensures that users have access to clear instructions and information as they navigate through Eggs' functionalities.
310
- On the other hand, Dad serves as a convenient shortcut for properly configuring Eggs. By simply typing ```sudo eggs dad``` and following the straightforward instructions, users can quickly configure Eggs to meet their specific requirements. For even faster configuration, utilizing the command ```sudo eggs dad -d``` allows for a complete reset of the configuration, loading default settings, and deleting any created ISOs.
311
- Once Eggs is properly configured, generating your live environment becomes a breeze. Just type ```sudo eggs produce``` to effortlessly generate your live ISO. With this streamlined workflow, Eggs empowers users to efficiently create customized live environments tailored to their needs. Whether you rely on Mom's guidance or Dad's configuration shortcuts, Eggs offers a user-friendly experience for ISO creation and customization.
386
+ export remastered ISO in the destination host
312
387
 
313
- ## Yolk
314
- Yolk is a local repository that is bundled within the LiveCD of Eggs. This repository contains a carefully curated selection of essential packages required for installation. Yolk serves as a valuable resource, as it allows you to install your system confidently, even without an active internet connection.
315
- By including Yolk in the LiveCD, Eggs ensures that all the necessary packages are readily available during the installation process. This eliminates the dependency on an internet connection, making it possible to install your system in offline environments or situations where internet access is limited or unavailable.
316
- Yolk acts as a safety net, providing the minimum set of indispensable packages required for a successful installation. This guarantees a smooth and reliable installation experience, regardless of the availability of an internet connection. With Yolk by your side, you can confidently proceed with system installations, knowing that the essential packages are at your disposal.
388
+ ```
389
+ USAGE
390
+ $ eggs export iso [-C] [-c] [-h] [-v]
317
391
 
318
- # Packages
319
- Eggs offers support for a variety of packages. Specifically, for Debian, Devuan, and Ubuntu, Eggs utilizes .deb packages that are compatible with both amd_64 and i386 architectures. This ensures seamless integration with these distributions, allowing users to easily install and utilize Eggs' features.
320
- On the other hand, Arch and ManjaroLinux have their own packaging system known as PKGBUILDs. Eggs is designed to work harmoniously with these distributions, leveraging the specific packaging structure provided by PKGBUILDs. This ensures that Eggs can seamlessly integrate into Arch and ManjaroLinux environments, providing users with a consistent and optimized experience.
321
- By adapting to the packaging systems used by different distributions, Eggs ensures compatibility and ease of use across a wide range of Linux environments. Whether you're using Debian, Devuan, Ubuntu, Arch, or ManjaroLinux, Eggs is equipped to support your preferred distribution, enabling you to make the most of its features and functionalities.
392
+ FLAGS
393
+ -C, --checksum export checksums md5 and sha256
394
+ -c, --clean delete old ISOs before to copy
395
+ -h, --help Show CLI help.
396
+ -v, --verbose verbose
322
397
 
398
+ DESCRIPTION
399
+ export remastered ISO in the destination host
323
400
 
324
- ## Debian families
325
- Eggs caters to the Debian family of distributions, offering a seamless installation experience through deb packages.
401
+ EXAMPLES
402
+ $ eggs export iso
326
403
 
327
- These deb packages are available for multiple architectures, including amd64, i386, and arm64.
404
+ $ eggs export iso --clean
405
+ ```
328
406
 
329
- The availability of `penguins-eggs` as a deb package simplifies the installation process for users of Debian-based distributions. Whether you are running a 64-bit (amd64) or 32-bit (i386) architecture, or even an arm64 architecture, Eggs has you covered. This ensures that users across a wide range of Debian-based systems can easily download, install, and utilize Eggs' features.
407
+ _See code: [src/commands/export/iso.ts](https://github.com/pieroproietti/penguins-eggs/blob/v26.1.3/src/commands/export/iso.ts)_
330
408
 
331
- By providing deb packages for various architectures, Eggs promotes accessibility and inclusivity, allowing users on different hardware platforms to benefit from its functionality. Whether you're using a traditional desktop computer or an ARM-based device, Eggs ensures compatibility and a consistent experience across the Debian family of distributions.
409
+ ## `eggs export pkg`
332
410
 
333
- The packages can be installed on Debian, Devuan, or Ubuntu-based distributions without the need to worry about the specific version. Whether you're using Buster, Bullseye, Bookworm, Trixie, Chimaera, Daedalus, Focal, Jammy or Noble, `eggs` is reported to work across these versions. However, it's important to ensure compatibility with the respective processor architecture.
411
+ export penguins-eggs package to the destination host
334
412
 
335
- Ubuntu bionic cannot install nodejs >16, so I packaged a specific version for bionic, still largely used.
413
+ ```
414
+ USAGE
415
+ $ eggs export pkg [-a] [-c] [-h] [-v]
336
416
 
337
- The packages `penguins-eggs` provided include standard scripts for `preinst`, `postinst`, `prerm`, and `postrm`. These scripts play a crucial role in the installation and management of the packages. The preinst script is executed before the package is installed, allowing for any necessary preparations or configurations. The postinst script is executed after the package installation, enabling additional setup or customization. Similarly, the prerm script is executed before the package is removed, while the postrm script is executed after the package removal.
417
+ FLAGS
418
+ -a, --all export all archs
419
+ -c, --clean remove old .deb before to copy
420
+ -h, --help Show CLI help.
421
+ -v, --verbose verbose
338
422
 
339
- In addition to the scripts, `penguins-eggs` package also include man pages, bash-completion and other.
423
+ DESCRIPTION
424
+ export penguins-eggs package to the destination host
340
425
 
341
- man pages serve as documentation for the installed packages, providing detailed information on their usage, configuration options, and other relevant details. The inclusion of man pages ensures that users have access to comprehensive documentation, enabling them to effectively utilize and manage the Eggs packages.
426
+ EXAMPLES
427
+ $ eggs export pkg
342
428
 
343
- Overall, Eggs' packages offer a comprehensive and user-friendly experience, with standard scripts and detailed documentation, making installation and management hassle-free on Debian, Devuan, and Ubuntu-based distributions.
429
+ $ eggs export pkg --clean
344
430
 
431
+ $ eggs export pkg --all
432
+ ```
345
433
 
346
- ### Install eggs
347
- There are multiple methods available, lately I prefer `fresh-eggs` way, working for all the supported distros: Arch, Debian, Devuan, Manjaro, Ubuntu and derivatives.:
434
+ _See code: [src/commands/export/pkg.ts](https://github.com/pieroproietti/penguins-eggs/blob/v26.1.3/src/commands/export/pkg.ts)_
348
435
 
349
- ```
350
- git clone https://github.com/pieroproietti/fresh-eggs
351
- cd fresh-eggs
352
- sudo ./fresh-eggs.sh
353
- ```
436
+ ## `eggs export tarballs`
354
437
 
355
- `fresh-eggs` on Debian families add automatically the `penguins-eggs-ppa` repository and, when need, add `nodesource` repository. On Arch, `chaotic-aur` repo will be added.
438
+ export pkg/iso/tarballs to the destination host
356
439
 
357
- This let to install, update, remove `penguins-eggs` like a native package.
440
+ ```
441
+ USAGE
442
+ $ eggs export tarballs [-c] [-h] [-v]
358
443
 
359
- #### Debian families
360
- `penguins-eggs-25.x.x` depend on `nodejs >18`, not directly available in all the distros. We can rely on [nodesource](https://github.com/nodesource/distributions?tab=readme-ov-file#debian-and-ubuntu-based-distributions) adding them.
444
+ FLAGS
445
+ -c, --clean remove old .deb before to copy
446
+ -h, --help Show CLI help.
447
+ -v, --verbose verbose
361
448
 
362
- ##### Download and install penguins-eggs packages
363
- To install Eggs, the simplest method is to download the package `penguins-eggs` from the project's SourceForge page [package eggs](https://penguins-eggs.net/basket/index.php?p=packages%2Fdebs) and install it on your system.
449
+ DESCRIPTION
450
+ export pkg/iso/tarballs to the destination host
364
451
 
365
- After downloading the appropriate package, based on your system's architecture, you can proceed with the installation. If you are using an amd64 system, run the following command in the terminal:
452
+ EXAMPLES
453
+ $ eggs export tarballs
366
454
 
367
- ```sudo dpkg -i penguins_eggs_25.x.x-1_amd64.deb```
455
+ $ eggs export tarballs --clean
456
+ ```
368
457
 
369
- For i386 systems, the command would be:
370
- ```sudo dpkg -i penguins_eggs_25.x.x-1_i386.deb```
458
+ _See code: [src/commands/export/tarballs.ts](https://github.com/pieroproietti/penguins-eggs/blob/v26.1.3/src/commands/export/tarballs.ts)_
371
459
 
372
- Executing these commands will initiate the installation process and install Eggs on your system.
373
- Once Eggs is successfully installed, you have the option to enhance its functionality by adding the penguins-eggs-ppa repository. This repository provides additional tools and features for Eggs. To add the penguins-eggs-ppa repository, run the following command in the terminal:
374
- ```sudo eggs tools ppa --install```
375
- This command will add the penguins-eggs-ppa repository to your system, allowing you to access updated versions of Eggs and additional tools provided by the repository.
376
- By following these steps, you can easily install Eggs, add the penguins-eggs-ppa repository, [penguins-eggs-ppa](https://pieroproietti.github.io/penguins-eggs-ppa), and unlock further capabilities and enhancements for your Eggs installation.
460
+ ## `eggs help [COMMAND]`
377
461
 
378
- ##### Using penguins-eggs-ppa
379
- For derivatives of Debian, Devuan, and Ubuntu, such as Linuxmint, LMDE, etc., `fresh-eggs` will typically work as well. However, if needed, you can manually add the penguins-eggs-ppa repository by copying and pasting the following two lines into a terminal:
462
+ Display help for eggs.
380
463
 
381
464
  ```
382
- curl -fsSL https://pieroproietti.github.io/penguins-eggs-ppa/KEY.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/penguins-eggs.gpg
383
- echo "deb [arch=$(dpkg --print-architecture)] https://pieroproietti.github.io/penguins-eggs-ppa ./" | sudo tee /etc/apt/sources.list.d/penguins-eggs.list > /dev/null
384
- ```
465
+ USAGE
466
+ $ eggs help [COMMAND...] [-n]
385
467
 
386
- After adding the repository, update your package repositories and install Eggs by running the following command:
468
+ ARGUMENTS
469
+ [COMMAND...] Command to show help for.
387
470
 
471
+ FLAGS
472
+ -n, --nested-commands Include all nested commands in the output.
473
+
474
+ DESCRIPTION
475
+ Display help for eggs.
388
476
  ```
389
- sudo apt update && sudo apt install penguins_eggs
477
+
478
+ _See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v6.2.36/src/commands/help.ts)_
479
+
480
+ ## `eggs kill`
481
+
482
+ kill the eggs/free the nest
483
+
390
484
  ```
485
+ USAGE
486
+ $ eggs kill [-h] [-i] [-n] [-v]
391
487
 
392
- Executing these commands will update your package sources and install Eggs on your system.
488
+ FLAGS
489
+ -h, --help Show CLI help.
490
+ -i, --isos erase all ISOs on remote mount
491
+ -n, --nointeractive no user interaction
492
+ -v, --verbose verbose
393
493
 
494
+ DESCRIPTION
495
+ kill the eggs/free the nest
394
496
 
395
- #### Upgrade eggs
396
- To upgrade Eggs, the process will vary depending on whether you are using the penguins-eggs-ppa repository or not. Here's how you can upgrade Eggs with both approaches:
397
- If you have already added the penguins-eggs-ppa repository, you can upgrade Eggs alongside other packages on your system by running the following command:
497
+ EXAMPLES
498
+ sudo eggs kill
398
499
  ```
399
- sudo apt upgrade
500
+
501
+ _See code: [src/commands/kill.ts](https://github.com/pieroproietti/penguins-eggs/blob/v26.1.3/src/commands/kill.ts)_
502
+
503
+ ## `eggs krill`
504
+
505
+ a TUI system installer - install the system
506
+
400
507
  ```
401
- > [!TIP]
402
- > This command will check for updates for all installed packages, including Eggs, and upgrade them to their latest versions if available.
508
+ USAGE
509
+ $ eggs krill [-b] [-c] [-k] [-d <value>] [-H] [-h] [-i] [-n] [-N] [-p] [-r] [-R <value>] [-s] [-S] [-t]
510
+ [-u] [-v]
403
511
 
404
- > [!NOTE]
405
- > On the other hand, if you have not added the `penguins-eggs-ppa` repository, you can manually upgrade Eggs by downloading the new version from the SourceForge page [here](https://penguins-eggs.net/basket/index.php?p=packages%2Fdebs). Once you have downloaded the appropriate package for your system architecture, follow these steps:
512
+ FLAGS
513
+ -H, --halt Halt the system after installation
514
+ -N, --none Swap none: 256M
515
+ -R, --replace=<value> Replace partition. eg: --replace /dev/sda3
516
+ -S, --suspend Swap suspend: RAM x 2
517
+ -b, --btrfs Format btrfs
518
+ -c, --chroot chroot before to end
519
+ -d, --domain=<value> Domain name, defult: .local
520
+ -h, --help Show CLI help.
521
+ -i, --ip hostname as ip, eg: ip-192-168-1-33
522
+ -k, --crypted Crypted CLI installation
523
+ -n, --nointeractive no user interaction
524
+ -p, --pve Proxmox VE install
525
+ -r, --random Add random to hostname, eg: colibri-ay412dt
526
+ -s, --small Swap small: RAM
527
+ -t, --testing Just testing krill
528
+ -u, --unattended Unattended installation
529
+ -v, --verbose Verbose
530
+
531
+ DESCRIPTION
532
+ a TUI system installer - install the system
533
+
534
+ EXAMPLES
535
+ sudo eggs install
406
536
 
407
- 1. Install the package using the `gdebi` command (assuming you have `gdebi` installed):
537
+ sudo eggs install --unattended --halt
538
+
539
+ sudo eggs install --chroot
408
540
  ```
409
- sudo gdebi penguins_eggs_25.x.x-1_amd64.deb
541
+
542
+ _See code: [src/commands/krill.ts](https://github.com/pieroproietti/penguins-eggs/blob/v26.1.3/src/commands/krill.ts)_
543
+
544
+ ## `eggs love`
545
+
546
+ the simplest way to get an egg!
547
+
410
548
  ```
411
- or for i386 systems:
549
+ USAGE
550
+ $ eggs love [-h] [-v] [-H] [-n] [-c] [-k] [-f]
551
+
552
+ FLAGS
553
+ -H, --hidden stealth mode
554
+ -c, --clone clone (uncrypted)
555
+ -f, --fullcrypt clone crypted full
556
+ -h, --help Show CLI help.
557
+ -k, --homecrypt clone crypted home
558
+ -n, --nointeractive no user interaction
559
+ -v, --verbose
560
+
561
+ DESCRIPTION
562
+ the simplest way to get an egg!
563
+
564
+ EXAMPLES
565
+ $ eggs auto
412
566
  ```
413
- sudo dpkg -i penguins_eggs_25.x.x-1_i386.deb
567
+
568
+ _See code: [src/commands/love.ts](https://github.com/pieroproietti/penguins-eggs/blob/v26.1.3/src/commands/love.ts)_
569
+
570
+ ## `eggs mom`
571
+
572
+ ask help from mommy - TUI helper
573
+
414
574
  ```
575
+ USAGE
576
+ $ eggs mom [-h]
577
+
578
+ FLAGS
579
+ -h, --help Show CLI help.
580
+
581
+ DESCRIPTION
582
+ ask help from mommy - TUI helper
415
583
 
416
- 2. In case of any missing dependencies, you can resolve them by running the following command:
584
+ EXAMPLES
585
+ $ eggs mom
417
586
  ```
418
- sudo apt install -f
587
+
588
+ _See code: [src/commands/mom.ts](https://github.com/pieroproietti/penguins-eggs/blob/v26.1.3/src/commands/mom.ts)_
589
+
590
+ ## `eggs produce`
591
+
592
+ produce a live image from your system
593
+
419
594
  ```
420
- This will automatically install any required dependencies for Eggs.
421
- > [!TIP]
422
- > By following these instructions, you can upgrade Eggs either through the penguins-eggs-ppa repository or by manually downloading and installing the latest version from the SourceForge page. Ensure that you choose the appropriate method based on your current setup to keep Eggs up to date with the latest enhancements and bug fixes.
595
+ USAGE
596
+ $ eggs produce [--addons <value>...] [--basename <value>] [-c] [-k] [-f] [--excludes <value>...] [-h] [-H]
597
+ [-K <value>] [--links <value>...] [-m] [-N] [-n] [-p] [-P <value>] [--release] [-s] [-S] [--theme <value>] [-i] [-v]
598
+ [-y]
423
599
 
424
- ## Arch families
425
- Eggs has been available in the Arch User Repository (AUR) for quite some time, thanks to the support of the Arch Linux community. Although I was initially unaware of its presence, I am now directly maintaining the AUR version of [penguins-eggs](https://aur.archlinux.org/packages/penguins-eggs). Additionally, I am actively participating in the Manjaro Community Repository, specifically for the [penguins-eggs](https://gitlab.manjaro.org/packages/community/penguins-eggs) package.
600
+ FLAGS
601
+ -H, --hidden stealth mode
602
+ -K, --kernel=<value> kernel version
603
+ -N, --noicon no icon eggs on desktop
604
+ -P, --prefix=<value> prefix
605
+ -S, --standard standard compression: xz -b 1M
606
+ -c, --clone clone (uncrypted)
607
+ -f, --fullcrypt clone crypted full
608
+ -h, --help Show CLI help.
609
+ -i, --includeRootHome folder /root is included on live
610
+ -k, --homecrypt clone crypted home
611
+ -m, --max max compression: xz -Xbcj ...
612
+ -n, --nointeractive no user interaction
613
+ -p, --pendrive optimized for pendrive: zstd -b 1M -Xcompression-level 15
614
+ -s, --script script mode. Generate scripts to manage iso build
615
+ -v, --verbose verbose
616
+ -y, --yolk force yolk renew
617
+ --addons=<value>... addons to be used: adapt, pve, rsupport
618
+ --basename=<value> basename
619
+ --excludes=<value>... use: static, homes, home
620
+ --links=<value>... desktop links
621
+ --release release: remove penguins-eggs, calamares and dependencies after installation
622
+ --theme=<value> theme for livecd, calamares branding and partitions
426
623
 
427
- Being present in the AUR signifies that Eggs is available for Arch Linux users to easily install and manage through their package managers. The AUR is a community-driven repository that allows users to contribute and maintain packages that are not officially supported by Arch Linux. By maintaining the AUR version of penguins-eggs, I can ensure that Arch Linux users have access to the latest updates and improvements for Eggs.
624
+ DESCRIPTION
625
+ produce a live image from your system
428
626
 
429
- > [!TIP]
430
- > Furthermore, my participation in the Manjaro Community Repository demonstrates my commitment to providing support for Eggs on the Manjaro distribution. Manjaro is a popular Arch-based Linux distribution known for its user-friendly approach and community-driven development. By actively contributing to the Manjaro Community Repository, I can ensure that Eggs remains compatible and well-integrated with the Manjaro ecosystem.
627
+ EXAMPLES
628
+ sudo eggs produce # zstd fast compression
431
629
 
432
- > [!TIP]
433
- > In summary, Eggs is available in the AUR and is directly maintained by me. Additionally, I am actively involved in the Manjaro Community Repository to provide support for Eggs on the Manjaro distribution. This ensures that users of Arch Linux and its derivatives, such as Manjaro, can easily access and benefit from using Eggs in their systems.
630
+ sudo eggs produce --pendrive # zstd compression optimized pendrive
434
631
 
632
+ sudo eggs produce --clone # clear clone (unencrypted)
435
633
 
436
- ### Arch
437
- To install penguins-eggs on Arch Linux, there are multiple methods available. One option is to install it directly from the Arch User Repository (AUR) by adding the `chaotic-AUR` repository. Here's how you can do it:
634
+ sudo eggs produce --homecrypt # clone crypted home (all inside /home is cypted)
438
635
 
439
- 1. Add the Chaotic-AUR repository to your system. You can find the repository at [https://aur.chaotic.cx/](https://aur.chaotic.cx/).
636
+ sudo eggs produce --fullcrypt # clone crypted full (entire system is crypted)
440
637
 
441
- 2. After adding the Chaotic-AUR repository, open a terminal and run the following command to install penguins-eggs using `pacman`:
638
+ sudo eggs produce --basename=colibri
442
639
  ```
443
- sudo pacman -Sy penguins-eggs
444
- ```
445
- This command will synchronize the package databases and install penguins-eggs on your system.
446
640
 
447
- Alternatively, you can use a utility called `fresh-eggs`. This script will add the AUR repository and install penguins-eggs on your system.
641
+ _See code: [src/commands/produce.ts](https://github.com/pieroproietti/penguins-eggs/blob/v26.1.3/src/commands/produce.ts)_
448
642
 
449
- It's possible too to use the popular AUR helper tool called `yay`. Simply run the following command:
450
- ```
451
- yay penguins-eggs
452
- ```
453
- `yay` will handle the installation process for you, including any necessary dependencies.
643
+ ## `eggs setup install`
454
644
 
455
- If you prefer to build from source, you can download the sources from the AUR repository. Here are the steps:
645
+ Automatically check and install system prerequisites
456
646
 
457
- 1. Clone the `penguins-eggs` repository from the AUR:
458
- ```
459
- git clone https://aur.archlinux.org/packages/penguins-eggs
460
647
  ```
648
+ USAGE
649
+ $ eggs setup install
461
650
 
462
- 2. Change to the `penguins-eggs` directory:
463
- ```
464
- cd penguins-eggs
465
- ```
651
+ DESCRIPTION
652
+ Automatically check and install system prerequisites
653
+
654
+ EXAMPLES
655
+ $ eggs setup # this help
656
+
657
+ sudo eggs setup install # install native dependencies, autocomplete, man, etc
466
658
 
467
- 3. Build and install the package using `makepkg`:
659
+ sudo eggs setup purge # purge all configurations, autocomplete, man, etc installed from penguins-eggs AppImage
468
660
  ```
469
- makepkg -srcCi
661
+
662
+ _See code: [src/commands/setup/install.ts](https://github.com/pieroproietti/penguins-eggs/blob/v26.1.3/src/commands/setup/install.ts)_
663
+
664
+ ## `eggs setup purge`
665
+
666
+ Automatically check and install system prerequisites
667
+
470
668
  ```
471
- > [!TIP]
472
- > This command will compile the source code, create a package, and install it on your system.
473
- These methods provide various ways to install penguins-eggs on Arch Linux, allowing you to choose the one that suits your preferences and workflow.
669
+ USAGE
670
+ $ eggs setup purge
474
671
 
672
+ DESCRIPTION
673
+ Automatically check and install system prerequisites
674
+
675
+ EXAMPLES
676
+ $ eggs setup # this help
475
677
 
476
- ### Manjaro
477
- Starting from version 9.4.3, penguins-eggs is now included in the Manjaro community repository, making it even easier to install on Manjaro Linux. To install penguins-eggs on Manjaro, you can use the `pamac` package manager with the following command:
678
+ sudo eggs setup install # install native dependencies, autocomplete, man, etc
679
+
680
+ sudo eggs setup purge # purge all configurations, autocomplete, man, etc installed from penguins-eggs AppImage
478
681
  ```
479
- pamac install penguins-eggs
682
+
683
+ _See code: [src/commands/setup/purge.ts](https://github.com/pieroproietti/penguins-eggs/blob/v26.1.3/src/commands/setup/purge.ts)_
684
+
685
+ ## `eggs status`
686
+
687
+ informations about eggs status
688
+
480
689
  ```
481
- This command will fetch the package from the Manjaro community repository and install it on your system.
690
+ USAGE
691
+ $ eggs status [-h] [-v]
482
692
 
483
- Alternatively, if you prefer to manually manage the installation process, you can clone the penguins-eggs package from the Manjaro community repository and build it from source. Here are the steps:
693
+ FLAGS
694
+ -h, --help Show CLI help.
695
+ -v, --verbose
484
696
 
485
- 1. Clone the penguins-eggs package from the Manjaro community repository:
697
+ DESCRIPTION
698
+ informations about eggs status
699
+
700
+ EXAMPLES
701
+ $ eggs status
486
702
  ```
487
- git clone https://gitlab.manjaro.org/packages/community/penguins-eggs/
703
+
704
+ _See code: [src/commands/status.ts](https://github.com/pieroproietti/penguins-eggs/blob/v26.1.3/src/commands/status.ts)_
705
+
706
+ ## `eggs tools clean`
707
+
708
+ clean system log, apt, etc
709
+
488
710
  ```
711
+ USAGE
712
+ $ eggs tools clean [-h] [-n] [-v]
713
+
714
+ FLAGS
715
+ -h, --help Show CLI help.
716
+ -n, --nointeractive no user interaction
717
+ -v, --verbose verbose
489
718
 
490
- 2. Change to the penguins-eggs directory:
719
+ DESCRIPTION
720
+ clean system log, apt, etc
721
+
722
+ EXAMPLES
723
+ sudo eggs tools clean
491
724
  ```
492
- cd penguins-eggs
725
+
726
+ _See code: [src/commands/tools/clean.ts](https://github.com/pieroproietti/penguins-eggs/blob/v26.1.3/src/commands/tools/clean.ts)_
727
+
728
+ ## `eggs tools repo`
729
+
730
+ add/remove penguins-repos
731
+
493
732
  ```
733
+ USAGE
734
+ $ eggs tools repo [-a] [-h] [-n] [-r] [-v]
735
+
736
+ FLAGS
737
+ -a, --add add penguins-repos
738
+ -h, --help Show CLI help.
739
+ -n, --nointeractive no user interaction
740
+ -r, --remove remove penguins-repos
741
+ -v, --verbose verbose
494
742
 
495
- 3. Build and install the package using `makepkg`:
743
+ DESCRIPTION
744
+ add/remove penguins-repos
745
+
746
+ EXAMPLES
747
+ sudo eggs tools repo --add
748
+
749
+ sudo eggs tools repo --remove
496
750
  ```
497
- makepkg -srcCi
751
+
752
+ _See code: [src/commands/tools/repo.ts](https://github.com/pieroproietti/penguins-eggs/blob/v26.1.3/src/commands/tools/repo.ts)_
753
+
754
+ ## `eggs tools skel`
755
+
756
+ update skel from home configuration
757
+
498
758
  ```
499
- > [!TIP]
500
- > This command will compile the source code, create a package, and install it on your system.
759
+ USAGE
760
+ $ eggs tools skel [-h] [-u <value>] [-v]
761
+
762
+ FLAGS
763
+ -h, --help Show CLI help.
764
+ -u, --user=<value> user to be used
765
+ -v, --verbose
501
766
 
502
- By including penguins-eggs in the Manjaro community repository, Manjaro Linux users can easily access and install the package using their preferred package manager. The Manjaro community repository is specifically dedicated to packages that are supported by the Manjaro community, ensuring that penguins-eggs is well-integrated and compatible with the Manjaro distribution.
767
+ DESCRIPTION
768
+ update skel from home configuration
503
769
 
504
- > [!TIP]
505
- > Whether you choose to install penguins-eggs using `pamac` or by manually building it from source, you can enjoy the benefits of this package on your Manjaro Linux system.
770
+ EXAMPLES
771
+ sudo eggs tools skel
506
772
 
773
+ sudo eggs tools skel --user user-to-be-copied
774
+ ```
507
775
 
508
- # Usage
509
- Once the package has been installed, you can have the new ```eggs``` command. Typing ```eggs``` will get the list of commands, and typing ```eggs produce --help``` will get the eggs produce command help screen. You can also use the command autocomplete with the TABS key, you will get the possible choices for each command. In addition, there is a man page, so by typing ```man eggs``` you will get that help as well. You can also use the ```eggs mom``` command that interactively allows you to consult the help for all commands and online documentation.
776
+ _See code: [src/commands/tools/skel.ts](https://github.com/pieroproietti/penguins-eggs/blob/v26.1.3/src/commands/tools/skel.ts)_
510
777
 
511
- ## Examples
512
- Here are some examples of how to use penguins-eggs to create live systems with different configurations:
778
+ ## `eggs tools stat`
779
+
780
+ get statistics from sourceforge
513
781
 
514
- 1. To create a live system without user data, run the following command with `sudo`:
515
782
  ```
516
- sudo eggs produce
783
+ USAGE
784
+ $ eggs tools stat [-h] [-m] [-y]
785
+
786
+ FLAGS
787
+ -h, --help Show CLI help.
788
+ -m, --month current month
789
+ -y, --year current year
790
+
791
+ DESCRIPTION
792
+ get statistics from sourceforge
793
+
794
+ EXAMPLES
795
+ $ eggs tools stat
796
+
797
+ $ eggs tools stat --month
798
+
799
+ $ eggs tools stat --year
517
800
  ```
518
- This command will generate a live system without any user data included.
519
801
 
520
- 2. To create a live system with user data that is not encrypted, use the `--clone` flag:
802
+ _See code: [src/commands/tools/stat.ts](https://github.com/pieroproietti/penguins-eggs/blob/v26.1.3/src/commands/tools/stat.ts)_
803
+
804
+ ## `eggs tools yolk`
805
+
806
+ configure eggs to install without internet
807
+
521
808
  ```
522
- sudo eggs produce --clone
809
+ USAGE
810
+ $ eggs tools yolk [-h] [-v]
811
+
812
+ FLAGS
813
+ -h, --help Show CLI help.
814
+ -v, --verbose
815
+
816
+ DESCRIPTION
817
+ configure eggs to install without internet
818
+
819
+ EXAMPLES
820
+ sudo eggs tools yolk
523
821
  ```
524
- This command will produce a live system that includes user data without encryption.
525
822
 
526
- 3. If you want to create a live system with encrypted user data, use the `--cryptedclone` flag:
823
+ _See code: [src/commands/tools/yolk.ts](https://github.com/pieroproietti/penguins-eggs/blob/v26.1.3/src/commands/tools/yolk.ts)_
824
+
825
+ ## `eggs update`
826
+
827
+ update the Penguins' eggs tool
828
+
527
829
  ```
528
- sudo eggs produce --cryptedclone
830
+ USAGE
831
+ $ eggs update [-h] [-v]
832
+
833
+ FLAGS
834
+ -h, --help Show CLI help.
835
+ -v, --verbose verbose
836
+
837
+ DESCRIPTION
838
+ update the Penguins' eggs tool
839
+
840
+ EXAMPLES
841
+ $ eggs update
529
842
  ```
530
- This command will generate a live system with encrypted user data.
531
843
 
532
- ## Compression
533
- By default, penguins-eggs uses fasted compression `zstd level 3` for efficiency during the creation process. However, if you want a more compressed ISO file, you can chooce `--pendrive` flag `zstd level 15` optimized for pendrives, `--standard` flag, use `xz`, or `--max` flag using `xz -Xbcj` to get the maximun level of compression. For example:
844
+ _See code: [src/commands/update.ts](https://github.com/pieroproietti/penguins-eggs/blob/v26.1.3/src/commands/update.ts)_
845
+
846
+ ## `eggs version`
534
847
 
535
848
  ```
536
- sudo eggs produce
537
- sudo eggs produce --pendrive
538
- sudo eggs produce --standard
539
- sudo eggs produce --max
849
+ USAGE
850
+ $ eggs version [--json] [--verbose]
851
+
852
+ FLAGS
853
+ --verbose Show additional information about the CLI.
854
+
855
+ GLOBAL FLAGS
856
+ --json Format output as json.
857
+
858
+ FLAG DESCRIPTIONS
859
+ --verbose Show additional information about the CLI.
860
+
861
+ Additionally shows the architecture, node version, operating system, and versions of plugins that the CLI is using.
540
862
  ```
541
- > [!TIP]
542
- > This command will apply differents compression to the ISO file, resulting in a smaller file size or in a longer process. Consult [Penguins Eggs' official guide](https://penguins-eggs.net/docs/Tutorial/eggs-users-guide) for more detailed informations.
543
- # Commands
544
- <!-- commands -->
545
- * [`eggs autocomplete [SHELL]`](#eggs-autocomplete-shell)
546
- * [`eggs help [COMMAND]`](#eggs-help-command)
547
- * [`eggs version`](#eggs-version)
548
863
 
549
- ## `eggs autocomplete [SHELL]`
864
+ _See code: [@oclif/plugin-version](https://github.com/oclif/plugin-version/blob/v2.2.36/src/commands/version.ts)_
550
865
 
551
- Display autocomplete installation instructions.
866
+ ## `eggs wardrobe get [REPO]`
867
+
868
+ get warorobe
552
869
 
553
870
  ```
554
871
  USAGE
555
- $ eggs autocomplete [SHELL] [-r]
872
+ $ eggs wardrobe get [REPO] [-h] [-v]
556
873
 
557
874
  ARGUMENTS
558
- [SHELL] (zsh|bash|powershell) Shell type
875
+ [REPO] repository to get
559
876
 
560
877
  FLAGS
561
- -r, --refresh-cache Refresh cache (ignores displaying instructions)
878
+ -h, --help Show CLI help.
879
+ -v, --verbose
562
880
 
563
881
  DESCRIPTION
564
- Display autocomplete installation instructions.
882
+ get warorobe
565
883
 
566
884
  EXAMPLES
567
- $ eggs autocomplete
885
+ $ eggs wardrobe get
568
886
 
569
- $ eggs autocomplete bash
887
+ $ eggs wardrobe get your-wardrobe
888
+ ```
570
889
 
571
- $ eggs autocomplete zsh
890
+ _See code: [src/commands/wardrobe/get.ts](https://github.com/pieroproietti/penguins-eggs/blob/v26.1.3/src/commands/wardrobe/get.ts)_
572
891
 
573
- $ eggs autocomplete powershell
892
+ ## `eggs wardrobe list [REPO]`
893
+
894
+ list costumes and accessoires in wardrobe
574
895
 
575
- $ eggs autocomplete --refresh-cache
576
896
  ```
897
+ USAGE
898
+ $ eggs wardrobe list [REPO] [-d <value>] [-h] [-v]
577
899
 
578
- _See code: [@oclif/plugin-autocomplete](https://github.com/oclif/plugin-autocomplete/blob/v3.2.39/src/commands/autocomplete/index.ts)_
900
+ ARGUMENTS
901
+ [REPO] wardrobe to get
579
902
 
580
- ## `eggs help [COMMAND]`
903
+ FLAGS
904
+ -d, --distro=<value> distro
905
+ -h, --help Show CLI help.
906
+ -v, --verbose
581
907
 
582
- Display help for eggs.
908
+ DESCRIPTION
909
+ list costumes and accessoires in wardrobe
910
+
911
+ EXAMPLES
912
+ $ eggs wardrobe list
913
+
914
+ $ eggs wardrobe list your-wardrobe
915
+
916
+ $ eggs wardrobe list --distro arch
917
+ ```
918
+
919
+ _See code: [src/commands/wardrobe/list.ts](https://github.com/pieroproietti/penguins-eggs/blob/v26.1.3/src/commands/wardrobe/list.ts)_
920
+
921
+ ## `eggs wardrobe show [REPO]`
922
+
923
+ show costumes/accessories in wardrobe
583
924
 
584
925
  ```
585
926
  USAGE
586
- $ eggs help [COMMAND...] [-n]
927
+ $ eggs wardrobe show [REPO] [-h] [-j] [-v] [-w <value>]
587
928
 
588
929
  ARGUMENTS
589
- [COMMAND...] Command to show help for.
930
+ [REPO] costume to show
590
931
 
591
932
  FLAGS
592
- -n, --nested-commands Include all nested commands in the output.
933
+ -h, --help Show CLI help.
934
+ -j, --json output JSON
935
+ -v, --verbose
936
+ -w, --wardrobe=<value> wardrobe
593
937
 
594
938
  DESCRIPTION
595
- Display help for eggs.
939
+ show costumes/accessories in wardrobe
940
+
941
+ EXAMPLES
942
+ $ eggs wardrobe show colibri
943
+
944
+ $ eggs wardrobe show accessories/firmwares
945
+
946
+ $ eggs wardrobe show accessories/
596
947
  ```
597
948
 
598
- _See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v6.2.36/src/commands/help.ts)_
949
+ _See code: [src/commands/wardrobe/show.ts](https://github.com/pieroproietti/penguins-eggs/blob/v26.1.3/src/commands/wardrobe/show.ts)_
599
950
 
600
- ## `eggs version`
951
+ ## `eggs wardrobe wear [REPO]`
952
+
953
+ wear costume/accessories from wardrobe
601
954
 
602
955
  ```
603
956
  USAGE
604
- $ eggs version [--json] [--verbose]
957
+ $ eggs wardrobe wear [REPO] [-h] [-a] [-f] [-v] [-w <value>]
958
+
959
+ ARGUMENTS
960
+ [REPO] costume to wear
605
961
 
606
962
  FLAGS
607
- --verbose Show additional information about the CLI.
963
+ -a, --no_accessories not install accessories
964
+ -f, --no_firmwares not install firmwares
965
+ -h, --help Show CLI help.
966
+ -v, --verbose
967
+ -w, --wardrobe=<value> wardrobe
608
968
 
609
- GLOBAL FLAGS
610
- --json Format output as json.
969
+ DESCRIPTION
970
+ wear costume/accessories from wardrobe
611
971
 
612
- FLAG DESCRIPTIONS
613
- --verbose Show additional information about the CLI.
972
+ EXAMPLES
973
+ sudo eggs wardrobe wear duck
614
974
 
615
- Additionally shows the architecture, node version, operating system, and versions of plugins that the CLI is using.
975
+ sudo eggs wardrobe wear accessories/firmwares
976
+
977
+ sudo eggs wardrobe wear wagtail/waydroid
616
978
  ```
617
979
 
618
- _See code: [@oclif/plugin-version](https://github.com/oclif/plugin-version/blob/v2.2.36/src/commands/version.ts)_
980
+ _See code: [src/commands/wardrobe/wear.ts](https://github.com/pieroproietti/penguins-eggs/blob/v26.1.3/src/commands/wardrobe/wear.ts)_
619
981
  <!-- commandsstop -->
620
982
 
621
983
  # GUI