Some checks failed
CI / Flake Check (push) Has been cancelled
CI / Evaluate Key Configurations (nix-builder) (push) Has been cancelled
CI / Evaluate Key Configurations (nix-desktop1) (push) Has been cancelled
CI / Evaluate Key Configurations (nix-laptop1) (push) Has been cancelled
CI / Evaluate Artifacts (installer-iso-nix-laptop1) (push) Has been cancelled
CI / Evaluate Artifacts (lxc-nix-builder) (push) Has been cancelled
CI / Build and Publish Documentation (push) Has been cancelled
CI / Format Check (push) Has been cancelled
72 lines
2.1 KiB
Nix
72 lines
2.1 KiB
Nix
# ============================================================================
|
|
# Desktop Configuration
|
|
# ============================================================================
|
|
# Hardware and boot configuration for standard desktop workstations.
|
|
# Includes Intel CPU support and NVMe storage.
|
|
|
|
{
|
|
config,
|
|
lib,
|
|
modulesPath,
|
|
...
|
|
}:
|
|
|
|
with lib;
|
|
|
|
let
|
|
cfg = config.athenix.hw.nix-zima;
|
|
in
|
|
{
|
|
imports = [
|
|
(modulesPath + "/installer/scan/not-detected.nix")
|
|
];
|
|
|
|
options.athenix.hw.nix-zima = mkOption {
|
|
type = types.submodule {
|
|
options = {
|
|
enable = mkOption {
|
|
type = types.bool;
|
|
default = false;
|
|
description = "Enable Zima-specific hardware configuration.";
|
|
};
|
|
};
|
|
};
|
|
default = { };
|
|
description = "Zima hardware type configuration.";
|
|
};
|
|
|
|
config = mkIf cfg.enable {
|
|
# ========== Boot Configuration ==========
|
|
|
|
boot.initrd.availableKernelModules = [
|
|
"xhci_pci" # USB 3.0 support
|
|
"usb_storage" # USB storage devices
|
|
"sd_mod" # SD card support
|
|
"sdhci_pci" # SD card host controller
|
|
];
|
|
boot.initrd.kernelModules = [ ];
|
|
boot.kernelModules = [ "kvm-intel" ]; # Intel virtualization support
|
|
boot.extraModulePackages = [ ];
|
|
boot.kernelParams = [
|
|
"quiet" # Minimal boot messages
|
|
"splash" # Show Plymouth boot splash
|
|
"boot.shell_on_fail" # Emergency shell on boot failure
|
|
"udev.log_priority=3" # Reduce udev logging
|
|
"rd.systemd.show_status=auto" # Show systemd status during boot
|
|
];
|
|
|
|
# ========== Filesystem Configuration ==========
|
|
athenix.host.filesystem.useSwap = lib.mkDefault false;
|
|
athenix.host.filesystem.device = lib.mkDefault "/dev/mmcblk0";
|
|
athenix.host.buildMethods = lib.mkDefault [ "installer-iso" ];
|
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
|
|
|
# ========== Hardware Configuration ==========
|
|
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
|
|
|
# ========== Software Profile ==========
|
|
athenix.sw.enable = lib.mkDefault true;
|
|
athenix.sw.desktop.enable = lib.mkDefault true;
|
|
};
|
|
}
|