OOKNET                             [ /  search the index  ]  
──────────────────────────────────────────────────────────────────────────────────────
══════════════════════════════════════════════════════════════════════════════════════
OOKNET   [ /  search  ]  
────────────────────────────────────────────────
════════════════════════════════════════════════
 
 
main @ 65 LINES
 
[ HISTORY ]  [ UP ]
 

{
  config,
  lib,
  pkgs,
  ...
}: let
  inherit (config.ooknet.hardware) gpu;
  inherit (config.ooknet.host) role;
  inherit (lib) mkIf mkDefault;
  inherit (builtins) attrValues;
  # production = config.boot.kernelPackages.nvidiaPackages.production;
  inherit (config.boot.kernelPackages.nvidiaPackages) beta;
in {
  config = mkIf (gpu.type == "nvidia") {
    # need this even if using wayland
    services.xserver.videoDrivers = ["nvidia"];
    hardware = {
      nvidia = {
        open = false;
        package = beta;
        forceFullCompositionPipeline = true;
        nvidiaSettings = false;
        nvidiaPersistenced = role == "server";
        modesetting.enable = true;
        powerManagement = {
          enable = mkDefault false;
          finegrained = mkDefault false;
        };
      };
      graphics = {
        extraPackages = [pkgs.nvidia-vaapi-driver];
        extraPackages32 = [pkgs.pkgsi686Linux.nvidia-vaapi-driver];
      };
    };
    environment.systemPackages = attrValues {
      inherit
        (pkgs)
        libva
        libva-utils
        vulkan-loader
        vulkan-tools
        vulkan-extension-layer
        mesa
        ;
      inherit (pkgs.nvtopPackages) nvidia;
    };
    environment.sessionVariables = {
      LIBVA_DRIVER_NAME = "nvidia";
      NVD_BACKEND = "direct";
    };

    # https://github.com/ventureoo/nvidia-tweaks
    services.udev.extraRules = ''
      ACTION=="bind", SUBSYSTEM=="pci", DRIVERS=="nvidia", ATTR{vendor}=="0x10de",
 ATTR{class}=="0x03[0-9]*", TEST=="power/control", ATTR{power/control}="auto"
      ACTION=="unbind", SUBSYSTEM=="pci", DRIVERS=="nvidia", ATTR{vendor}=="0x10de
", ATTR{class}=="0x03[0-9]*", TEST=="power/control", ATTR{power/control}="on"
    '';
    boot.kernelParams = [
      "nvidia.NVreg_UsePageAttributeTable=1"
      "nvidia.NVreg_InitializeSystemMemoryAllocations=0"
      "nvidia.NVreg_EnableStreamMemOPs=1"
      "nvidia.NVreg_RegistryDwords=__REGISTRYDWORDS"
    ];
  };
}

{
  config,
  lib,
  pkgs,
  ...
}: let
  inherit (config.ooknet.hardware) gpu;
  inherit (config.ooknet.host) role;
  inherit (lib) mkIf mkDefault;
  inherit (builtins) attrValues;
  # production = config.boot.kernelPackages.
nvidiaPackages.production;
  inherit (config.boot.kernelPackages.nvidia
Packages) beta;
in {
  config = mkIf (gpu.type == "nvidia") {
    # need this even if using wayland
    services.xserver.videoDrivers = ["nvidia
"];
    hardware = {
      nvidia = {
        open = false;
        package = beta;
        forceFullCompositionPipeline = true;
        nvidiaSettings = false;
        nvidiaPersistenced = role == "server
";
        modesetting.enable = true;
        powerManagement = {
          enable = mkDefault false;
          finegrained = mkDefault false;
        };
      };
      graphics = {
        extraPackages = [pkgs.nvidia-vaapi-d
river];
        extraPackages32 = [pkgs.pkgsi686Linu
x.nvidia-vaapi-driver];
      };
    };
    environment.systemPackages = attrValues 
{
      inherit
        (pkgs)
        libva
        libva-utils
        vulkan-loader
        vulkan-tools
        vulkan-extension-layer
        mesa
        ;
      inherit (pkgs.nvtopPackages) nvidia;
    };
    environment.sessionVariables = {
      LIBVA_DRIVER_NAME = "nvidia";
      NVD_BACKEND = "direct";
    };

    # https://github.com/ventureoo/nvidia-tw
eaks
    services.udev.extraRules = ''
      ACTION=="bind", SUBSYSTEM=="pci", DRIV
ERS=="nvidia", ATTR{vendor}=="0x10de", ATTR{
class}=="0x03[0-9]*", TEST=="power/control",
 ATTR{power/control}="auto"
      ACTION=="unbind", SUBSYSTEM=="pci", DR
IVERS=="nvidia", ATTR{vendor}=="0x10de", ATT
R{class}=="0x03[0-9]*", TEST=="power/control
", ATTR{power/control}="on"
    '';
    boot.kernelParams = [
      "nvidia.NVreg_UsePageAttributeTable=1"
      "nvidia.NVreg_InitializeSystemMemoryAl
locations=0"
      "nvidia.NVreg_EnableStreamMemOPs=1"
      "nvidia.NVreg_RegistryDwords=__REGISTR
YDWORDS"
    ];
  };
}
 
──────────────────────────────────────────────────────────────────────────────────────
OOKNET
────────────────────────────────────────────────
OOKNET