mirror of
https://github.com/gensokyo-zone/infrastructure.git
synced 2026-02-09 12:29:19 -08:00
101 lines
3.6 KiB
Nix
101 lines
3.6 KiB
Nix
{ config, lib, meta, ... }:
|
|
|
|
with lib;
|
|
|
|
{
|
|
options = {
|
|
deploy.profile = {
|
|
gui = mkEnableOption "Graphical System";
|
|
vfio = mkEnableOption "VFIO";
|
|
shared = mkEnableOption "Shared System";
|
|
trusted = mkEnableOption "Trusted Submodule";
|
|
cross = {
|
|
enable = mkEnableOption "cross/emulated compilation";
|
|
aarch64 = mkOption {
|
|
type = types.bool;
|
|
default = false;
|
|
};
|
|
armv6l = mkOption {
|
|
type = types.bool;
|
|
default = false;
|
|
};
|
|
armv7l = mkOption {
|
|
type = types.bool;
|
|
default = false;
|
|
};
|
|
};
|
|
hardware = {
|
|
acs-override = mkEnableOption "ACS IOMMU Override";
|
|
amdgpu = mkEnableOption "AMD GPU";
|
|
hcloud-imperative = mkEnableOption "Imperative Hetzner Cloud Setup";
|
|
intel = mkEnableOption "Intel CPU";
|
|
laptop = mkEnableOption "Laptop";
|
|
wifi = mkEnableOption "WiFi, home network";
|
|
ryzen = mkEnableOption "AMD Ryzen CPU";
|
|
ms-7b86 = mkEnableOption "MSI B450-A Pro Max";
|
|
rm-310 = mkEnableOption "Intel DQ67OW";
|
|
raspi = mkEnableOption "Raspberry Pi 1 Model B+";
|
|
oracle = {
|
|
common = mkEnableOption "OCI";
|
|
ubuntu = mkEnableOption "Canonical Ubuntu Base Image";
|
|
oracle = mkEnableOption "Oracle Linux Base Image";
|
|
};
|
|
eeepc-1015pem = mkEnableOption "Asus Eee PC 1015PEM";
|
|
v330-14arr = mkEnableOption "Lenovo Ideapad v330-14ARR";
|
|
};
|
|
};
|
|
home-manager.users = mkOption {
|
|
type = types.attrsOf (types.submoduleWith {
|
|
modules = [
|
|
({ nixos, ... }: {
|
|
options.deploy.profile = {
|
|
gui = mkEnableOption "Graphical System";
|
|
vfio = mkEnableOption "VFIO";
|
|
shared = mkEnableOption "Shared System";
|
|
trusted = mkEnableOption "Trusted Submodule" // {
|
|
default = meta.trusted ? secrets;
|
|
};
|
|
cross = {
|
|
enable = mkEnableOption "cross/emulated compilation";
|
|
aarch64 = mkOption {
|
|
type = types.bool;
|
|
default = false;
|
|
};
|
|
armv6l = mkOption {
|
|
type = types.bool;
|
|
default = false;
|
|
};
|
|
armv7l = mkOption {
|
|
type = types.bool;
|
|
default = false;
|
|
};
|
|
};
|
|
hardware = {
|
|
acs-override = mkEnableOption "ACS IOMMU Override";
|
|
amdgpu = mkEnableOption "AMD GPU";
|
|
hcloud-imperative = mkEnableOption "Imperative Hetzner Cloud Setup";
|
|
intel = mkEnableOption "Intel CPU";
|
|
laptop = mkEnableOption "Laptop";
|
|
wifi = mkEnableOption "WiFi, home network";
|
|
ryzen = mkEnableOption "AMD Ryzen CPU";
|
|
ms-7b86 = mkEnableOption "MSI B450-A Pro Max";
|
|
rm-310 = mkEnableOption "Intel DQ67OW";
|
|
raspi = mkEnableOption "Raspberry Pi 1 Model B+";
|
|
oracle = {
|
|
common = mkEnableOption "OCI";
|
|
ubuntu = mkEnableOption "Canonical Ubuntu Base Image";
|
|
oracle = mkEnableOption "Oracle Linux Base Image";
|
|
};
|
|
eeepc-1015pem = mkEnableOption "Asus Eee PC 1015PEM";
|
|
v330-14arr = mkEnableOption "Lenovo Ideapad v330-14ARR";
|
|
};
|
|
};
|
|
config = {
|
|
deploy.profile = nixos.deploy.profile;
|
|
};
|
|
})
|
|
];
|
|
});
|
|
};
|
|
};
|
|
}
|