[update-readmes] Mode: rewrite — migrating to template structure...
Penguins-Eggs is a remastering tool that allows users to create custom Linux distributions or live systems based on various Linux distributions, including Debian, Ubuntu, Arch, Fedora, and others. It is designed for system administrators, developers, and enthusiasts who need to replicate, customize, or distribute operating system environments efficiently.
The architecture of penguins-eggs is modular, leveraging TypeScript and the oclif framework for CLI development. The project is designed to facilitate system remastering across multiple Linux distributions. Key components include:
- CLI Interface: Built using
@oclif/core, it provides commands for creating and managing system remasters. - Integrations: Located in the
integrationsdirectory, this module handles distribution-specific logic and external tool integrations. - Core Utilities: Dependencies like
axios,js-yaml, andsysteminformationare used for system data retrieval, configuration parsing, and API interactions. - UI Components: Built with
inkand related libraries for interactive terminal-based user interfaces. - Workflows: GitHub Actions workflows automate CI/CD, documentation generation, repository synchronization, and artifact mirroring.
The directory structure is as follows:
penguins-eggs/
├── bin/ # Entry point for the CLI
├── integrations/ # Distribution-specific integrations
├── src/ # Core application logic
├── workflows/ # GitHub Actions workflows
├── package.json # Project metadata and dependencies
├── README.md # Documentation
└── tests/ # Unit and integration tests
git clone https://github.com/Interested-Deving-1896/penguins-eggs.git
cd penguins-eggsProduces a distributable live ISO without user data:
sudo eggs produce| Goal | Command | Notes |
|---|---|---|
| Standard clone | eggs produce --clone |
User data copied unencrypted — do not share publicly |
| Home encryption | eggs produce --homecrypt |
/home encrypted with LUKS inside the ISO |
| Full encryption | eggs produce --fullcrypt |
Entire system encrypted (Debian/Devuan only) |
| Flag | Compressor | Use case |
|---|---|---|
| (default) | zstd fast | General use |
--pendrive |
zstd level 15 | Optimised for USB drives |
--standard |
xz | Smaller size, slower |
--max |
xz -Xbcj | Maximum compression |
- ci.yml: Runs linting, unit tests, and build checks for the project. No secrets required.
- codeql.yml: Performs static code analysis using GitHub CodeQL to detect vulnerabilities. No secrets required.
- release.yml: Automates the release process, including version tagging and publishing. Requires
GH_TOKENfor repository access. - iso-test.yml: Tests ISO builds for compatibility and functionality. Requires
ISO_TEST_KEYfor authentication. - mirror.yaml: Mirrors the repository to external platforms. Requires
MIRROR_TOKENfor access. - sync-eggs-docs-to-book.yml: Syncs documentation to the project book repository. Requires
DOCS_SYNC_TOKEN. - mirror-releases.yml: Mirrors release artifacts to external storage. Requires
RELEASE_MIRROR_KEY. - rate-limit-status.yml: Monitors API rate limits and logs status. No secrets required.
- rotate-token.yml: Rotates API tokens for security. Requires
ADMIN_TOKEN. - frogbot-scan.yml: Scans dependencies for vulnerabilities using Frogbot. Requires
JFROG_API_KEY. - trigger-book-sync.yml: Triggers synchronization of the project book. Requires
BOOK_SYNC_TRIGGER_KEY.
This repo is maintained in Interested-Deving-1896/penguins-eggs and mirrored through:
Interested-Deving-1896/penguins-eggs ──► OpenOS-Project-OSP/penguins-eggs ──► OpenOS-Project-Ecosystem-OOC/penguins-eggs
Changes flow downstream automatically via the hourly mirror chain in
fork-sync-all.
Direct commits to OSP or OOC are detected and opened as PRs back to Interested-Deving-1896.
| Contributor | Commits |
|---|---|
| @monstermunchkin | 818 |
| @stgraber | 785 |
| @Interested-Deving-1896 | 485 |
| @itoffshore | 155 |
| @pieroproietti | 56 |
| @ona-agent | 50 |
| @simondeziel | 32 |
| @nanjj | 23 |
| @masnax | 16 |
| @brauner | 13 |
| @mjrider | 11 |
| @tew42 | 10 |
| @chaosoffire | 9 |
| @ona-bot | 9 |
| @stefanor | 6 |
| @Obirvalger | 5 |
| @nbuwe | 5 |
| @adamcstephens | 5 |
| @gibmat | 5 |
| @hallyn | 5 |
| @dependabot[bot] | 4 |
| @web-flow | 4 |
| @geaaru | 4 |
| @eddyg | 3 |
| @tenforward | 3 |
| @marcosps | 3 |
| @stiltr | 3 |
| @timbretimber | 3 |
| @foxtrotcz | 3 |
| @gnustomp | 2 |
Original project — no upstream influences recorded.
No additional resource files found.
This repo uses automated accessibility auditing via check-accessibility.yml.
Checks include: CODEOWNERS ownership coverage, README screen-reader compatibility, WCAG 2.1 AA HTML compliance, audio overview (espeak-ng), and Braille output (liblouis).
Run the Check Accessibility workflow to generate the first report and accessibility artifacts. See the W3C Web Content Accessibility Guidelines (WCAG) for the underlying accessibility reference.