From 791bc419b6dac7c70951981ef6b34cdf85828470 Mon Sep 17 00:00:00 2001 From: adikro Date: Sat, 20 Dec 2025 03:14:45 +0100 Subject: absolutely massive rewrite, made (almost) everything modular with changes to come --- sys/core/drivers.nix | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 sys/core/drivers.nix (limited to 'sys/core/drivers.nix') diff --git a/sys/core/drivers.nix b/sys/core/drivers.nix new file mode 100644 index 0000000..de7dcb5 --- /dev/null +++ b/sys/core/drivers.nix @@ -0,0 +1,48 @@ +{ config, lib, pkgs, ... }: +let + cfg = config.szpont.sys.core.drivers; +in +{ + options.szpont.sys.core.drivers = { + enable = lib.mkEnableOption "enables hardware drivers"; + amd.enable = lib.mkEnableOption "AMD specific drivers and microcode"; + stability = lib.mkOption { + type = lib.types.enum [ "stable" "unstable" ]; + default = "stable"; + }; + }; + + config = lib.mkIf cfg.enable { + services.smartd.enable = true; + hardware.sensor.iio.enable = true; + hardware.enableRedistributableFirmware = true; + hardware.graphics = { + enable = true; + enable32Bit = true; + }; + + programs.coolercontrol.enable = true; + environment.systemPackages = with pkgs; [ linux-firmware ]; + + } // (lib.mkIf cfg.amd.enable (lib.mkMerge [ + { + services.xserver.videoDrivers = [ "amdgpu" ]; + hardware.cpu.amd.updateMicrocode = true; + hardware.amdgpu = { + initrd.enable = true; + overdrive.enable = true; + }; + } + (lib.mkIf (cfg.stability == "unstable") { + services.lact.enable = true; + boot.kernelPackages = pkgs.linuxPackages_cachyos-lto-znver4; + chaotic.mesa-git = { + enable = true; + extraPackages = [ pkgs.mesa_git.opencl ]; + }; + }) + (lib.mkIf (cfg.stability == "stable") { + boot.kernelPackages = pkgs.linuxPackages_latest; + }) + ])); +} -- cgit v1.3