yino/docs/yino-fsd.md
Michael Smith b8a002eb50 Add upstream tracking goal and section to FSD
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 22:42:06 +01:00

62 lines
2.7 KiB
Markdown

# 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](https://github.com/basecamp/omarchy) but uses [Debian Linux](https://www.debian.org/) 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](Omarchy.md) 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. Upstream tracking
- Track the upstream [basecamp/omarchy](https://github.com/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](Omarchy.md) document up to date as upstream evolves
- Translate Arch-specific changes to their Debian equivalents per the package and command mapping in [Omarchy Analysis](Omarchy.md) section 14
## 7. Changelog