62 lines
2.7 KiB
Markdown
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
|