From 5974968ebdec4dac2136cc187fbeae2c9a7138d6 Mon Sep 17 00:00:00 2001 From: luz Date: Mon, 12 May 2025 10:57:01 -0500 Subject: [PATCH] updated but broken README --- README.md | 123 ++++++++++-------------------------------------------- 1 file changed, 22 insertions(+), 101 deletions(-) diff --git a/README.md b/README.md index 03fc59e..62f24ee 100644 --- a/README.md +++ b/README.md @@ -1,112 +1,33 @@ -# Phyllome OS +# Kickstart Phyllome OS -Phyllome OS is a [Fedora Remix](https://fedoraproject.org/wiki/Remix) designed to leverage [hardware-assisted virtualization](https://wiki.phyllo.me/virt/lexicon#hardware-assisted-virtualization) and [paravirtualization](https://wiki.phyllo.me/virt/lexicon#paravirtualization) to make it easier to run virtualized operating systems locally. +[Phyllome OS](https://wiki.phyllo.me/phyllomeos/context) uses the [kickstart installation method](https://pykickstart.readthedocs.io/en/latest/kickstart-docs.html#chapter-1-introduction) to deploy itself to a specific target computer or virtual machine by means of kickstart files. -Phyllome OS uses the [automated kickstart installation](https://pykickstart.readthedocs.io/en/latest/kickstart-docs.html#chapter-1-introduction) method to deploy itself to a specific target computer or virtual machine. +This repository contains such files broken down as: -> Phyllome OS is in its ***alpha*** stage of development. Expect bugs and disappointment +* `ingredients`🥑 🥥 🥭 🥝 🥦 🥬 🥒 🧄: the basic building blocks for assembling Phyllome OS and other derivatives. -## The content of this repository +* `recipes`🧾 🧩: lists of ingredients to compose several editions -Each version of Phyllome OS is like a `dish` that is based on a `recipe` that lists `ingredients`, or basic building blocks for assembling Phyllome OS and other derivatives. - -* `ingredients`🥑 🥥 🥭 🥝 🥦 🥬 🥒 🧄: Each ingredient represents a feature or a set of integrated features, such as a specific Desktop Environment - -`cat ingredients/base-storage.cfg` - -``` -[...] -# What ? This kickstart file provides a basic ext4 unencrypted partition layout for UEFI-based systems - -part /boot/efi --fstype="efi" --size=128 --fsoptions="umask=0077,shortname=winnt" --label=efi # Will create an EFI system partitition of 128 MiB (vda1) -part /boot --fstype="ext4" --size=512 --label=boot # Create a boot partition of 512 MiB using the ext4 filesystem (vda2) -part / --fstype="ext4" --grow --label=root # The remaining space will be used for root (vda3) -``` - -* `recipes`🧾 🧩: this directory contains recipes for deploying operating system artifacts on bare-metal, as a live system, or inside a virtual machine. - -`cat recipes/desktop-hypervisor.cfg` - -``` -# What ? This kickstart file bootstraps a desktop hypervisor. - -[...] - -%include ../ingredients/base-fedora-repo.cfg # offical repositories for Fedora -%include ../ingredients/base-storage.cfg # base storage -%include ../ingredients/base.cfg # A minimal machine -%include ../ingredients/base-desktop-gnome.cfg # A desktop environment based on GNOME Shell -%include ../ingredients/base-desktop-virtual-machine-manager.cfg # the virtual machine manager -%include ../ingredients/base-hypervisor.cfg # A base hypervisor -%include ../ingredients/base-initial-setup-gnome.cfg # Includes initial-setup for GNOME Shell, allowing for the creation of a user after the first boot, as well as some basic configuration -``` - -* `dishes`🥨 🥐 🥖 🥧 🥞 🥯 🧆 🧁...: the end-product in the form of stand-alone and ready-to-consume kickstart file - -`cat dishes/desktop-hypervisor.cfg` - -``` -# Generated by pykickstart v3.58 -#version=DEVEL -# Use text mode install -text -# Firewall configuration -firewall --enabled --service=mdns -# Keyboard layouts -keyboard --xlayouts='ch (fr)' -# System language -lang en_US.UTF-8 -# Network information - -[...] - -%end - -%packages --exclude-weakdeps -@core -@hardware-support -NetworkManager-wifi -dejavu-sans-mono-fonts -fedora-remix-logos -firefox -generic-logos -generic-release -generic-release-common -generic-release-notes -gnome-backgrounds.noarch -gnome-initial-setup -gnome-shell -gnome-terminal -guestfs-tools -libguestfs-tools -libusb -libvirt -libvirt-daemon-config-network -libvirt-daemon-kvm -mesa-dri-drivers -mozilla-ublock-origin.noarch -nano -pciutils -python3-libguestfs -qemu-kvm -usbutils -virt-install -virt-manager -virt-top -wget -wpa_supplicant --fedora-logos --fedora-release --fedora-release-common --fedora-release-identity-basic --fedora-release-notes --gnome-tour - -%end -``` +* `dishes`🥨 🥐 🥖 🥧 🥞 🥯 🧆 🧁: read-to-consume and standalone kickstart artifacts, which can be used to deploy complete systems ## Development +git clone + +You can suggest a modification to an existing ingredient or create a new ingredient from scratch. + +Let's assume that you wish to add *luanti*, an infinite-world block sandbox engine to all default installation. + +The following command will automatically add the said package to the file `ingredient/core-packages-default.cfg`, just before the `%end` packages section + +`sed -i '/^%end # End of the packages section/i luanti # Multiplayer infinite-world block sandbox with survival mode' ingredient/core-packages-default.cfg` + +A recipe can then be modified. + +### Recipes + +You can modify an existing recipe or create + Let's assume you wish to add [Luanti](https://www.luanti.org/), a free and open-source sandbox video game engine, as an ingredient to a dish. * Clone this repository and change directory: