इस प्रोजेक्ट के बारे में

Kyanite, Fedora Kinoite का एक स्पिन है जिसे दैनिक उपयोग के डेस्कटॉप के रूप में डिज़ाइन किया गया है और इसे इम्यूटेबल bootc (बूटेबल कंटेनर) इमेज के रूप में वितरित किया जाता है। यह KDE Plasma के साथ आता है और कॉर्पोरेट ब्रांडिंग हटाता है तथा स्टॉक Kinoite की खुरदुरी बातों को चिकना करता है। स्टॉक Kinoite से मुख्य अंतरों में Mozilla का आधिकारिक Flatpak के माध्यम से Firefox, Discover की जगह Bazaar, पहले बूट पर Flathub कॉन्फ़िगर होना और Fedora के flatpak रिमोट हटा दिए जाना, डिफ़ॉल्ट शेल के रूप में Fish, डायनामिक वॉलपेपर, CJK इनपुट के लिए fcitx5, तथा h264/h265/AV1 प्लेबैक के लिए negativo17 के माध्यम से अधिक संपूर्ण कोडेक स्टैक शामिल हैं। Docker, वर्चुअलाइज़ेशन, Steam और ROCm जैसे भारी घटक बेस इमेज के बजाय वैकल्पिक sysext में अलग रखे गए हैं। लैपटॉप स्पीकर DSP सेटअप के लिए PipeWire फ़िल्टर चेन शामिल हैं, और CPU, ROCm या Vulkan पर स्थानीय LLM चलाने के लिए Ollama Quadlets तैयार हैं। मौजूदा bootc सिस्टम के लिए इंस्टॉलेशन सीधा है: `sudo bootc switch ghcr.io/alyraffauf/kyanite:stable` से इमेज पर स्विच करें और रीबूट करें। `ujust` कमांड फ्रेमवर्क (Universal Blue से लिया गया) सिस्टम प्रबंधन के लिए कस्टम रेसिपी प्रदान करता है। वैकल्पिक sysext एक अलग रिपॉजिटरी में systemd-sysext पेलोड के रूप में उपलब्ध हैं, जिनमें buildx और compose के साथ Docker CE, HIP और OpenCL के साथ AMD ROCm, Gamescope और MangoHud के साथ नेटिव Steam, Syncthing, Tailscale मेश-VPN, और QEMU/KVM वर्चुअलाइज़ेशन शामिल हैं। ये systemd-sysupdate.timer के माध्यम से स्वतः अपडेट होते हैं और `ujust install-sysext` तथा `ujust remove-sysext` से इंस्टॉल या हटाए जा सकते हैं। स्थानीय LLM के लिए, तीन Quadlet यूनिट्स Ollama को यूज़र-स्तरीय systemd सेवा के रूप में चलाती हैं, जिसमें कंटेनर के अंदर GPU रनटाइम होते हैं। CPU, ROCm और Vulkan बैकएंड परस्पर अनन्य हैं और ollama-data वॉल्यूम साझा करते हैं ताकि मॉडल वेट स्विच करने पर दोबारा डाउनलोड न हों। ROCm बैकएंड आधिकारिक रूप से समर्थित AMD कार्डों के साथ काम करता है, जबकि Vulkan उन कार्डों को कवर करता है जिन्हें ROCm समर्थन नहीं करता। Syncthing 127.0.0.1:8384 पर GUI के साथ एक नेटिव sysext के रूप में उपलब्ध है, और ~/.local/state/syncthing/ से मौजूदा कॉन्फ़िगरेशन को आगे ले जाता है। Quadlet टेम्पलेट /usr/share/kyanite/quadlets/ पर भेजे जाते हैं और ujust रेसिपी द्वारा ~/.config/containers/systemd/ पर कॉपी किए जाते हैं ताकि OS अपडेट उपयोगकर्ता संपादनों को मिटा न सकें। podman-auto-update.timer डिफ़ॉल्ट रूप से चलता है और AutoUpdate=registry वाले क्वाडलेट्स को रात में ताज़ा करता है। कस्टमाइज़ेशन JSON फ़ाइलों के माध्यम से घोषणात्मक है: packages.json प्रति वैरिएंट पैकेज के लिए, services.json systemd यूनिट्स के लिए, files/ वैरिएंट-विशिष्ट सिस्टम फ़ाइलों के लिए, brew/ Homebrew बंडलों के लिए, flatpaks/ प्रीइंस्टॉल्ड Flatpaks के लिए, और ujust/ कस्टम रेसिपी के लिए। अलग फ्लेवर बनाने के लिए एक वैरिएंट स्कैफोल्ड मौजूद है, हालाँकि फिलहाल केवल मुख्य kyanite वैरिएंट ही बिल्ड होता है। स्थानीय रूप से बिल्ड करने के लिए Podman और Just की आवश्यकता होती है। कमांड में कंटेनर के लिए `just build`, VM परीक्षण के लिए `just build-qcow2`, पूर्ण ISO के लिए `just build-iso` (लगभग 10GB, 30+ मिनट), और QEMU में qcow2 बूट करने के लिए `just run-vm` शामिल हैं। साझा डेस्कटॉप एसेट डाइजेस्ट-पिन किए गए kyanite-common OCI लेयर से आते हैं। BASE_IMAGE को kinoite-nvidia इमेज पर सेट करके एक NVIDIA बेस प्रयोग उपलब्ध है। सुरक्षा प्रकाशित सार्वजनिक कुंजी के विरुद्ध cosign साइनिंग द्वारा संभाली जाती है। इमेज को `cosign verify` से सत्यापित किया जा सकता है। साइन किए गए ट्रांसपोर्ट पर स्विच करने के लिए दो-चरणीय बूटस्ट्रैप की आवश्यकता होती है: पहले पॉलिसी और कुंजी पाने के लिए एक अहस्ताक्षरित स्विच, फिर ostree-image-signed: पर रिबेस ताकि बाइट्स फाइलसिस्टम को छूने से पहले हर खींची गई इमेज का स्वचालित सत्यापन सक्षम हो। परियोजना Apache 2.0 के तहत लाइसेंस प्राप्त है और KDE Plasma के साथ Fedora Kinoite पर आधारित है, जो Universal Blue से प्रेरित है।