Disk Templates
Under Construction
Currently under construction use with caution
Structure
A disk template consists of exactly two files
default.nix
README.md
default.nix
Placeholders are filled with their machine specific options when a template is used for a machine.
The user can choose any valid options from the hardware report.
The file itself is then copied to machines/{machineName}/disko.nix
and will be automatically loaded by the machine.
single-disk/default.nix
Placeholders
Each template must declare the options of its placeholders depending on the hardware-report.
api/disk.py
templates: dict[str, dict[str, Callable[[dict[str, Any]], Placeholder]]] = {
"single-disk": {
# Placeholders
"mainDisk": lambda hw_report: Placeholder(
label="Main disk", options=hw_main_disk_options(hw_report), required=True
),
}
}
Introducing new local or global placeholders requires contributing to clan-core api/disks.py
.
Predefined placeholders
Some placeholders provide predefined functionality
uuid
: In most cases we recommend adding a unique id to all disks. This prevents the system to false boot from i.e. hot-plugged devices.
Readme
The readme frontmatter must be of the same format as modules frontmatter.
---
description = "Simple disk schema for single disk setups"
---
# Single disk
Use this schema for simple setups where ....
The format and fields of this file is not clear yet. We might change that once fully implemented.