Sobre el proyecto
Kyanite es una variante de Fedora Kinoite diseñada como escritorio de uso diario, distribuida como una imagen bootc (contenedor arrancable) inmutable. Incluye KDE Plasma y elimina la marca corporativa, puliendo los bordes ásperos del Kinoite estándar.
Las diferencias clave con Kinoite estándar incluyen Firefox mediante el Flatpak oficial de Mozilla, Bazaar reemplazando a Discover, Flathub configurado en el primer arranque con los remotos flatpak de Fedora eliminados, Fish como shell predeterminado, fondos de pantalla dinámicos, fcitx5 para entrada CJK y una pila de códecs más completa mediante negativo17 para reproducción h264/h265/AV1. Componentes pesados como Docker, virtualización, Steam y ROCm se separan en sysexts opcionales en lugar de la imagen base. Se incluyen cadenas de filtros PipeWire para configuraciones DSP de altavoces de portátiles, y Quadlets de Ollama están listos para LLM locales en CPU, ROCm o Vulkan.
La instalación es sencilla para sistemas bootc existentes: cambie a la imagen con `sudo bootc switch ghcr.io/alyraffauf/kyanite:stable` y reinicie. El marco de comandos `ujust` (tomado de Universal Blue) proporciona recetas personalizadas para gestionar el sistema.
Los sysexts opcionales están disponibles como cargas útiles de systemd-sysext en un repositorio separado, incluyendo Docker CE con buildx y compose, AMD ROCm con HIP y OpenCL, Steam nativo con Gamescope y MangoHud, Syncthing, Tailscale mesh-VPN y virtualización QEMU/KVM. Estos se actualizan automáticamente mediante systemd-sysupdate.timer y pueden instalarse o eliminarse con `ujust install-sysext` y `ujust remove-sysext`.
Para LLM locales, tres unidades Quadlet ejecutan Ollama como servicio systemd a nivel de usuario con tiempos de ejecución GPU dentro del contenedor. Los backends CPU, ROCm y Vulkan son mutuamente excluyentes y comparten el volumen ollama-data para que los pesos del modelo no se descarguen nuevamente al cambiar. El backend ROCm funciona con tarjetas AMD oficialmente compatibles, mientras que Vulkan cubre tarjetas que ROCm no soporta.
Syncthing está disponible como sysext nativo con GUI en 127.0.0.1:8384, conservando la configuración existente de ~/.local/state/syncthing/.
Las plantillas Quadlet se incluyen en /usr/share/kyanite/quadlets/ y se copian a ~/.config/containers/systemd/ mediante recetas ujust para que las actualizaciones del sistema no sobrescriban las ediciones del usuario. El temporizador podman-auto-update.timer se ejecuta por defecto, actualizando quadlets con AutoUpdate=registry cada noche.
La personalización es declarativa mediante archivos JSON: packages.json para paquetes por variante, services.json para unidades systemd, files/ para archivos de sistema específicos de variante, brew/ para paquetes Homebrew, flatpaks/ para Flatpaks preinstalados y ujust/ para recetas personalizadas. Existe un andamiaje de variante para construir diferentes sabores, aunque solo la variante principal kyanite se construye actualmente.
Construir localmente requiere Podman y Just. Los comandos incluyen `just build` para el contenedor, `just build-qcow2` para pruebas en VM, `just build-iso` para un ISO completo (aproximadamente 10GB, más de 30 minutos) y `just run-vm` para arrancar el qcow2 en QEMU. Los activos de escritorio compartidos provienen de una capa OCI kyanite-common con digest fijado. Un experimento base NVIDIA está disponible configurando BASE_IMAGE a una imagen kinoite-nvidia.
La seguridad se maneja mediante firma cosign contra una clave pública publicada. Las imágenes pueden verificarse con `cosign verify`. Cambiar al transporte firmado requiere un arranque en dos pasos: primero un cambio sin firmar para obtener la política y la clave, luego un rebase a ostree-image-signed: para habilitar la verificación automática de cada imagen extraída antes de que los bytes toquen el sistema de archivos.
El proyecto está licenciado bajo Apache 2.0 y se basa en Fedora Kinoite con KDE Plasma, inspirado en Universal Blue.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.