diff --git a/hosts/flubber-machine/default.nix b/hosts/flubber-machine/default.nix index 69765e9..dc915ef 100755 --- a/hosts/flubber-machine/default.nix +++ b/hosts/flubber-machine/default.nix @@ -46,15 +46,6 @@ # security security.useDoas = true; }; - hardware = { - audio.enable = true; - bluetooth.enable = true; - print.enable = true; - pointer.enable = true; - tablet.enable = true; - networking.enable = true; - rgb.enable = true; - }; desktop = { # set to `x11` or `wayland`, improves compat envProto = "wayland"; diff --git a/hosts/flubber-machine/hardware.nix b/hosts/flubber-machine/hardware.nix index 112917c..10e4d59 100755 --- a/hosts/flubber-machine/hardware.nix +++ b/hosts/flubber-machine/hardware.nix @@ -21,10 +21,17 @@ boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; - # radv > amdvlk - environment.variables.AMD_VULKAN_ICD = "RADV"; - - environment.systemPackages = with pkgs; [ amdgpu_top ]; + modules.hardware = { + graphics.amdgpu.enable = true; + graphics.amdgpu.overclock = true; + audio.enable = true; + bluetooth.enable = true; + networking.enable = true; + print.enable = true; + pointer.enable = true; + rgb.enable = true; + tablet.enable = true; + }; fileSystems."/" = { device = "/dev/disk/by-uuid/5da6bab0-856a-4e65-8ff6-5b70fe3764b8"; diff --git a/hosts/goopnet-interface/apple-macbook-air-9-1.nix b/hosts/goopnet-interface/apple-macbook-air-9-1.nix index edffcdf..0f553a1 100644 --- a/hosts/goopnet-interface/apple-macbook-air-9-1.nix +++ b/hosts/goopnet-interface/apple-macbook-air-9-1.nix @@ -19,9 +19,6 @@ always_full_speed = false; }; - # better performance than the actual intel driver - services.xserver.videoDrivers = [ "modesetting" ]; - # replace basic t2 kernel with cachyos kernel # same patches and i trust it to be more up to date (one time the "latest" was EOL for t2,,,) # also interesting how this supports l4 but my big computer doesn't... @@ -30,18 +27,10 @@ # fix wifi firmware hardware.apple-t2.firmware.enable = true; - environment.variables = { - LIBVA_DRIVER_NAME= "iHD"; - VDPAU_DRIVER = "va_gl"; - }; - - environment.systemPackages = with pkgs; [ intel-gpu-tools ]; - - boot.kernelParams = [ - # enable the i915 sandybridge framebuffer compression (475mw savings) - "i915.enable_fbc=1" - "i915.enable_gvt=1" - ]; + hardware.intelgpu.driver = "i915"; + # support gen8-11 (i915) rather than gen12+ (xe) + hardware.intelgpu.computeRuntime = "legacy"; + hardware.intelgpu.mediaRuntime = "intel-media-sdk"; # fix sleep/suspend # ty https://github.com/3ulalia/flake/blob/aaddbef19979c6d952f7a763cd9e6225d6330a02/hosts/catalina/default.nix diff --git a/hosts/goopnet-interface/default.nix b/hosts/goopnet-interface/default.nix index 032345f..53d6fac 100755 --- a/hosts/goopnet-interface/default.nix +++ b/hosts/goopnet-interface/default.nix @@ -38,13 +38,6 @@ # security security.useDoas = true; }; - hardware = { - audio.enable = true; - bluetooth.enable = true; - print.enable = true; - pointer.enable = true; - networking.enable = true; - }; desktop = { # set to `x11` or `wayland`, improves compat envProto = "wayland"; diff --git a/hosts/goopnet-interface/hardware.nix b/hosts/goopnet-interface/hardware.nix index a23ecfb..7a9d6f5 100755 --- a/hosts/goopnet-interface/hardware.nix +++ b/hosts/goopnet-interface/hardware.nix @@ -4,7 +4,8 @@ imports = [ inputs.hardware.nixosModules.apple-t2 - inputs.hardware.nixosModules.common-cpu-intel + (inputs.hardware + "/common/cpu/intel/ice-lake") + (inputs.hardware + "/common/gpu/intel/ice-lake") inputs.hardware.nixosModules.common-pc-laptop-ssd inputs.hardware.nixosModules.common-pc-laptop @@ -21,6 +22,14 @@ boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; + modules.hardware = { + graphics.i915.enable = true; + audio.enable = true; + bluetooth.enable = true; + networking.enable = true; + pointer.enable = true; + }; + fileSystems."/" = { device = "/dev/disk/by-uuid/0f09afdc-88e4-4764-818b-77828931278f"; fsType = "ext4"; diff --git a/modules/dev/default.nix b/modules/dev/default.nix deleted file mode 100644 index 2880a1b..0000000 --- a/modules/dev/default.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ lib, config, ... }: - -with lib; -let - cfg = config.modules.dev; -in { - options.modules.dev = { - enable = mkEnableOption "General development utilities"; - }; - - config = mkIf cfg.enable { - programs.direnv = { - enable = true; - silent = true; - nix-direnv.enable = true; - }; - }; -} diff --git a/modules/hardware/graphics/amdgpu.nix b/modules/hardware/graphics/amdgpu.nix new file mode 100644 index 0000000..a5e0e6f --- /dev/null +++ b/modules/hardware/graphics/amdgpu.nix @@ -0,0 +1,27 @@ +{ pkgs, config, lib, inputs, ... }: + +with lib; +let + cfg = config.modules.hardware.graphics.amdgpu; +in { + options.modules.hardware.graphics.amdgpu = { + enable = mkEnableOption "Enable AMD graphics drivers, used in conjuction with nixos-hardware"; + overclock = mkEnableOption "Enable overclocking on AMD graphics drivers"; + }; + + config = mkIf cfg.enable { + hardware.amdgpu.opencl.enable = true; + hardware.amdgpu.overdrive.enable = cfg.overclock; + services.lact.enable = cfg.overclock; + + environment.systemPackages = with pkgs; [ amdgpu_top ]; + + environment.variables = { + # radv > amdvlk + AMD_VULKAN_ICD = "RADV"; + # hwaccel + LIBVA_DRIVER_NAME = "radeonsi"; + VDPAU_DRIVER = "radeonsi"; + }; + }; +} diff --git a/modules/hardware/graphics/i915.nix b/modules/hardware/graphics/i915.nix new file mode 100644 index 0000000..c3bc1fb --- /dev/null +++ b/modules/hardware/graphics/i915.nix @@ -0,0 +1,24 @@ +{ pkgs, config, lib, inputs, ... }: + +with lib; +let + cfg = config.modules.hardware.graphics.i915; +in { + options.modules.hardware.graphics.i915 = { + enable = mkEnableOption "Enable Intel i915 graphics drivers, used in conjuction with nixos-hardware"; + powersave = mkEnableOption { + default = config.modules.core.laptop; + description = "Enable intel i915-specific powersaving tweaks"; + }; + }; + + config = mkIf cfg.enable { + environment.systemPackages = with pkgs; [ intel-gpu-tools ]; + hardware.intel-gpu-tools.enable = true; + + boot.kernelParams = [ + # enable gpu virtualization + "i915.enable_gvt=1" + ] ++ optional cfg.i915.powersave "i915.enable_fbc=1"; + }; +}