forked from Fediversity/Fediversity
41 lines
951 B
Nix
41 lines
951 B
Nix
{
|
|
lib,
|
|
...
|
|
}:
|
|
let
|
|
inherit (lib) types mkOption;
|
|
in
|
|
{
|
|
options = {
|
|
infrastructure = mkOption {
|
|
description = "Infrastructure for Fediversity applications to run on";
|
|
type =
|
|
with types;
|
|
attrsOf (attrTag {
|
|
|
|
single-nixos-machine-via-usb = mkOption {
|
|
type =
|
|
with types;
|
|
submodule {
|
|
# TODO: maybe steal some data structures from NixOS
|
|
options = {
|
|
hasNetwork = mkOption {
|
|
type = types.bool;
|
|
};
|
|
disks = mkOption {
|
|
type =
|
|
with types;
|
|
attrsOf (submodule {
|
|
options.size = mkOption {
|
|
type = types.bytes;
|
|
};
|
|
|
|
});
|
|
};
|
|
};
|
|
};
|
|
};
|
|
});
|
|
};
|
|
};
|
|
}
|