mirror of
https://github.com/gensokyo-zone/infrastructure.git
synced 2026-02-09 12:29:19 -08:00
Using ./home.nix and ./nixos.nix as entrypoints for hosts. Using hardware profiles. Using new entrypoints (profiles/base/profiles.nix + profiles/base/home.nix). New modules (for DNS handling, for themeing, ...). Split up deploy-tf.nix into several modules. Renamed common profile to base profile.
49 lines
1.7 KiB
Nix
49 lines
1.7 KiB
Nix
{ config, lib, ... }:
|
|
|
|
with lib;
|
|
|
|
{
|
|
options = {
|
|
deploy.profile = {
|
|
gui = mkEnableOption "Graphical System";
|
|
laptop = mkEnableOption "Laptop (Implies WiFi)";
|
|
vfio = mkEnableOption "VFIO";
|
|
trusted = mkEnableOption "Trusted Submodule";
|
|
hardware = {
|
|
amdgpu = mkEnableOption "AMD GPU";
|
|
hcloud-imperative = mkEnableOption "Imperative Hetzner Cloud Setup";
|
|
intel = mkEnableOption "Intel CPU";
|
|
ms-7b86 = mkEnableOption "MSI B450-A Pro Max";
|
|
rm-310 = mkEnableOption "Intel DQ67OW";
|
|
ryzen = mkEnableOption "AMD Ryzen CPU";
|
|
v330-14arr = mkEnableOption "Lenovo Ideapad v330-14ARR";
|
|
};
|
|
};
|
|
home-manager.users = mkOption {
|
|
type = types.attrsOf (types.submoduleWith {
|
|
modules = [
|
|
({ superConfig, ... }: {
|
|
options.deploy.profile = {
|
|
gui = mkEnableOption "Graphical System";
|
|
laptop = mkEnableOption "Laptop (Implies WiFi)";
|
|
vfio = mkEnableOption "VFIO";
|
|
trusted = mkEnableOption "Trusted Submodule";
|
|
hardware = {
|
|
amdgpu = mkEnableOption "AMD GPU";
|
|
hcloud-imperative = mkEnableOption "Imperative Hetzner Cloud Setup";
|
|
intel = mkEnableOption "Intel CPU";
|
|
ms-7b86 = mkEnableOption "MSI B450-A Pro Max";
|
|
rm-310 = mkEnableOption "Intel DQ67OW";
|
|
ryzen = mkEnableOption "AMD Ryzen CPU";
|
|
v330-14arr = mkEnableOption "Lenovo Ideapad v330-14ARR";
|
|
};
|
|
};
|
|
config = {
|
|
deploy.profile = superConfig.deploy.profile;
|
|
};
|
|
})
|
|
];
|
|
});
|
|
};
|
|
};
|
|
}
|