File PersistenceOS.kiwi of Package PersistenceOS
<?xml version="1.0" encoding="utf-8"?>
<image schemaversion="8.3" name="PersistenceOS" displayname="PersistenceOS">
<description type="system">
<author>PersistenceOS Team</author>
<contact>support@persistenceos.org</contact>
<specification>PersistenceOS Installation Image (MicroOS 6.1 Base)</specification>
</description>
<preferences>
<version>6.1.0</version>
<packagemanager>zypper</packagemanager>
<locale>en_US</locale>
<keytable>us</keytable>
<timezone>UTC</timezone>
<rpm-check-signatures>false</rpm-check-signatures>
<rpm-excludedocs>true</rpm-excludedocs>
<type image="oem" filesystem="btrfs" firmware="uefi" installiso="true" bootpartition="false" btrfs_root_is_snapper_snapshot="false">
<bootloader name="grub2" console="serial" timeout="10"/>
<size unit="G">8</size>
</type>
</preferences>
<profiles>
<profile name="PersistenceOS" description="PersistenceOS Image Profile" arch="x86_64"/>
</profiles>
<users>
<user password="$1$wYJUgpM5$RXMMeASDc035eX.NbYWFl0" home="/root" name="root" groups="root"/>
</users>
<repository type="rpm-md">
<source path="obsrepositories:/"/>
</repository>
<packages type="image">
<!-- Base system packages -->
<package name="patterns-microos-base"/>
<package name="patterns-microos-defaults"/>
<package name="systemd"/>
<package name="dracut"/>
<package name="grub2"/>
<package name="kernel-default"/>
<package name="openssh"/>
<package name="firewalld"/>
<package name="NetworkManager"/>
<!-- Health checker packages -->
<package name="health-checker"/>
<package name="health-checker-plugins-MicroOS"/>
<!-- Filesystem-related packages -->
<package name="btrfsprogs"/>
<package name="e2fsprogs"/>
<package name="xfsprogs"/>
<package name="lvm2"/>
<!-- Virtualization packages -->
<package name="libvirt-daemon"/>
<package name="libvirt-client"/>
<package name="qemu-kvm"/>
<package name="qemu-tools"/>
<!-- Web UI packages -->
<package name="python3-base"/>
<!-- Python & API Runtime - FastAPI/Uvicorn serves both static files and API endpoints directly -->
<package name="python311-base"/>
<package name="python311-pip"/> <!-- Ensure pip is available for package installation -->
<!-- Try RPM packages first, fallback to pip installation in config.sh -->
<package name="python311-fastapi"/>
<package name="python311-uvicorn"/>
<package name="python311-psutil"/>
<package name="python311-pydantic"/>
<package name="python311-typing-extensions"/>
<package name="python311-websockets"/> <!-- for WebSocket support -->
<package name="python311-aiofiles"/> <!-- for async file operations -->
<package name="python311-python-multipart"/> <!-- for form data parsing -->
<package name="python311-starlette"/> <!-- Core dependency for FastAPI -->
<package name="python311-httptools"/> <!-- For better HTTP parsing performance -->
<package name="python311-ujson"/> <!-- For faster JSON handling -->
<package name="python311-netifaces"/>
<package name="python311-requests"/> <!-- HTTP client library -->
<package name="python311-PyYAML"/> <!-- YAML processing -->
<package name="python311-lxml"/> <!-- XML processing -->
<package name="python311-Pillow"/> <!-- Image processing -->
<package name="python311-cryptography"/> <!-- Cryptographic functions -->
<package name="python311-bcrypt"/> <!-- Password hashing -->
<package name="python311-passlib"/> <!-- Password utilities -->
<package name="python311-python-jose"/> <!-- JWT handling -->
<!-- Security packages -->
<package name="policycoreutils"/>
<package name="selinux-policy"/>
<package name="openssl"/> <!-- For SSL certificate generation -->
<package name="pam_pwquality"/>
<!-- Utilities -->
<package name="vim"/>
<package name="vim-small"/> <!-- Minimal vim for space efficiency -->
<package name="less"/>
<package name="tar"/>
<package name="gzip"/>
<package name="zip"/>
<package name="unzip"/>
<package name="wget"/>
<package name="curl"/>
<package name="rsync"/>
<package name="sudo"/>
<package name="timezone"/>
<package name="bash-completion"/>
<package name="dracut-kiwi-oem-repart"/>
<package name="dracut-kiwi-oem-dump"/>
<!-- System information and monitoring tools -->
<package name="util-linux"/> <!-- for lscpu, uptime, lsblk -->
<package name="hostname"/> <!-- replacement for inetutils -->
<package name="procps"/> <!-- for free, ps commands -->
<package name="jq"/> <!-- for JSON processing -->
<package name="figlet"/> <!-- for enhanced welcome screen -->
<package name="findutils"/> <!-- find command -->
<package name="grep"/> <!-- text search -->
<package name="sed"/> <!-- stream editor -->
<package name="awk"/> <!-- text processing -->
<!-- Network utilities -->
<package name="iproute2"/> <!-- for ip command -->
<package name="iputils"/> <!-- for ping command -->
<!-- Security and system tools -->
<package name="nftables"/> <!-- Modern firewall -->
<package name="iptables"/> <!-- Legacy firewall compatibility -->
<package name="logrotate"/> <!-- Log rotation -->
<package name="cron"/> <!-- Task scheduling -->
<!-- Additional Virtualization packages -->
<package name="libvirt-daemon-qemu"/>
<package name="libvirt-daemon-config-network"/> <!-- VM networking configuration -->
<package name="dnsmasq"/>
<package name="iproute2"/> <!-- provides ip command for network bridging -->
<!-- UEFI Support for VMs - CRITICAL for enhanced VM creation -->
<package name="ovmf"/> <!-- UEFI firmware for virtual machines -->
<package name="qemu-ovmf-x86_64"/> <!-- x86_64 UEFI firmware -->
<!-- Enhanced Virtualization Support -->
<package name="virt-manager-common"/> <!-- VM configuration utilities -->
<package name="qemu-guest-agent"/> <!-- Guest agent for VMs -->
<!-- Additional Storage packages -->
<package name="snapper"/>
<package name="snapper-zypp-plugin"/> <!-- Snapper integration with zypper -->
<package name="smartmontools"/>
<package name="mdadm"/>
<package name="parted"/> <!-- Disk partitioning tools -->
<package name="gdisk"/> <!-- GPT partitioning tools -->
<!-- Hardware detection and monitoring tools -->
<package name="pciutils"/> <!-- lspci command -->
<package name="usbutils"/> <!-- lsusb command -->
<package name="dmidecode"/> <!-- Hardware information -->
<!-- System monitoring and performance -->
<package name="lsof"/> <!-- List open files -->
<!-- Container and additional virtualization support -->
<package name="podman"/> <!-- Container runtime -->
<package name="slirp4netns"/> <!-- User-mode networking for containers -->
<package name="fuse-overlayfs"/> <!-- Overlay filesystem for containers -->
<package name="toolbox"/> <!-- Container-based development environment -->
<!-- Template engine support -->
<package name="python3-Jinja2"/>
<!-- Additional system libraries -->
<package name="glib2-tools"/> <!-- GLib utilities -->
<package name="dbus-1"/> <!-- D-Bus system -->
<package name="systemd-sysvinit"/> <!-- SysV init compatibility -->
<!-- Development and debugging tools (optional but useful) -->
<package name="strace"/> <!-- System call tracer -->
<package name="gdb"/> <!-- GNU debugger -->
<package name="valgrind"/> <!-- Memory debugging -->
<!-- File system utilities -->
<package name="dosfstools"/> <!-- FAT filesystem tools -->
<package name="ntfs-3g"/> <!-- NTFS filesystem support -->
<!-- KIWI Overlay Archive - Contains all web UI files -->
<archive name="root.tar.gz"/>
</packages>
<packages type="bootstrap">
<package name="filesystem"/>
<package name="glibc-locale"/>
<package name="ca-certificates"/>
</packages>
</image>