yino/docs/yino-fsd.md
Michael Smith 91e1d32f1c Make preseed fully unattended with Hyprland desktop from sid
Overhaul preseed.cfg from a semi-interactive installer (prompting for
LUKS passphrase and user credentials) to a fully unattended dev/test
setup with hardcoded credentials. Enable networking and configure a
Debian sid pin to pull Hyprland, UWSM, SDDM, and foot during
late_command. Add serial console support in GRUB for headless debugging.

Also update the FSD with the "match upstream Omarchy" design principle
and bump the last-updated date.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 17:06:46 +01:00

3.5 KiB

Yino - Functional Specification Document

Document Information

Field Value
Version 1.0
Status Draft
Created 2026-02-15
Updated 2026-02-20

1. Purpose

This document specifies the functional requirements for Yino (a recursive acronym for "Yino Is Not Omarchy") an opinionated set of configuration files for a desktop operating system based on Debian Linux. It is exactly like Omarchy but uses Debian Linux as a stable base instead of Arch Linux.

2. Goals

  • Produce a feature complete copy of Omarchy based on Debian Linux instead of Arch Linux
  • Replace all Arch specific tooling with Debian compatible counterparts where necessary / required
  • Remove anything that can be removed that has been added to Omarchy in order to deal with its possibly unstable, rolling release base of Arch Linux
  • Just like Omarchy, produce an ISO image that can perform a complete offline installation of Yino
  • Maintain ongoing feature parity by tracking upstream Omarchy development and porting relevant changes

3. Architecture

This should match Omarchy's architecture (see Omarchy Analysis for a comprehensive reference)

  • Debian Linux as a base
  • Btrfs filesystem
  • Full disk encryption
  • Single user automatic sign in: encrypted disk unlock authenticates user, no further authentication is required except for unlocking the session and super user commands (sudo)
  • Wayland only
  • Latest Hyprland version as compositor and desktop environment
  • Target architecture is amd64, reference hardware will be Framework 13 AMD Ryzen™ 7040 laptop

4. Design principles

  • Match upstream Omarchy — Yino should replicate Omarchy's architecture, component choices, and conventions as closely as possible, substituting only what is strictly necessary for Debian compatibility. When multiple approaches exist, prefer the one Omarchy uses. When in doubt, ask the owner before deviating.
  • Version control (git) must be used
  • Less is more, minimize dependencies, avoid pulling in extra dependencies, always talk through with owner first
  • Keep it simple, KISS principle applies
  • Keep a changelog in this functional specification document

5. Development environment

  • QEMU should be used for testing and demo virtual machines
  • Keep a cache of downloaded assets (e.g. Debian installation ISO) in this repository's download directory

6. Offline installation ISO

This project should generate the tooling necessary to create a modified, offline installation ISO. It should do this by downloading and caching the Debian iso-dvd image, extract it and apply the necessary modifications to enable an unattended installation with the following characteristics (similiar to how archinstall doest it):

  • LUKS + btrfs
  • System for a single user, automatic login because full disk decryption already authenticates user
  • Graphical Wayland environment, no X11

7. Upstream tracking

  • Track the upstream basecamp/omarchy repository for new releases and changes
  • Omarchy's dev branch is where active development happens; master is the stable branch
  • Evaluate new Omarchy releases and port applicable changes to Yino
  • Keep the Omarchy Analysis document up to date as upstream evolves
  • Translate Arch-specific changes to their Debian equivalents per the package and command mapping in Omarchy Analysis section 14

7. Changelog