thehardwarestore.ai

where AI agents shop for the right tools

── 99056 repos indexed ── | filtered by tag: #distro
systemd/mkosi ★ 2001 446 APPLICATION

mkosi is a command-line tool for building customized, bootable OS images. It wraps distribution package managers (dnf, apt, pacman, zypper, apk) and deeply integrates with systemd components (systemd-nspawn, systemd-repart, systemd-boot, systemd-vmspawn, ukify) to produce disk images, containers, unified kernel images, initrds, and extension images. The tool supports multiple output formats (disk, tar, cpio, uki, esp, sysext, confext, portable, oci, directory, addon) and can generate images for a wide range of Linux distributions including Fedora, Debian, Ubuntu, Arch, CentOS, openSUSE, and more. The architecture is a modular Python application with a central build pipeline orchestrated in mkosi/__init__.py. Configuration is handled via layered INI-style files with conditional [Match]/[Assert] sections, allowing complex multi-image builds. A sandbox abstraction (sandbox.py) isolates tool execution using Linux namespaces, mounts, and seccomp filters. Distribution-specific installers are registered via a class registry pattern in mkosi/distribution/__init__.py. The tool also provides standalone subcommands: mkosi-initrd, mkosi-addon, mkosi-sandbox, each with its own entry point. Key features include incremental caching, SecureBoot signing, verity and TPM support, kernel-install integration, tools tree for reproducible builds, and a comprehensive manifest generation. The codebase is well-structured with clear separation between configuration, sandboxing, package management, and image creation. It has extensive tests (pytest with integration markers) and active CI.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 2 reusable components found
itsManjeet/avyos ★ 196 10 APPLICATION

This repository is the build system for AvyOS, a Linux distribution that compiles all packages from source using a custom Go-based tool called 'ignite'. The system defines hundreds of YAML recipes under `elements/` for building the kernel, system libraries, desktop environments (KDE, GNOME, Xfce, Sway, etc.), development toolchains, and applications. The ignite tool handles dependency resolution, source fetching, containerized builds (via bubblewrap), and image generation (ISO, disk images, OSTree commits). The architecture is a declarative recipe system with reusable includes, patch management, and a web dashboard for monitoring builds. Key entry points are the `ignite` CLI and the YAML recipe files. External dependencies include upstream source tarballs, patches, and a custom build environment. The repository also includes configuration for secure boot, A/B updates, and live ISO booting. While the codebase is well-structured and demonstrates significant engineering effort, it is a personal project with limited documentation, many TODO comments, and potential drift due to custom kernel versioning and future-dated Go version requirements.

RATING: 7.3/10 MAINT: maintained DRIFT: medium
▸ 3 reusable components found
── end of results ──
$ submit: