yino/docs/yino-fsd.md
Michael Smith 17fa52824c Add ISO build tooling and serial console support
- Add bin/yino-iso with download, build, and clean subcommands for
  creating a preseeded Debian installer ISO
- Add --serial flag to bin/yino-vm boot for headless serial console
- Add offline installation ISO spec to FSD (section 6)
- Update README TODO to reflect ISO pipeline progress

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 00:47:23 +01:00

3.2 KiB

Yino - Functional Specification Document

Document Information

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

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

  • 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