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

{
  config,
  lib,
  pkgs,
  ...
}: let
  inherit (config.ooknet.hardware) gpu;
  inherit (lib) mkMerge mkIf mkDefault;
  inherit (builtins) attrValues;
in {
  config = mkIf (gpu.type == "amd") (mkMerge [
    {
      hardware.amdgpu = {
        opencl.enable = false;
      };
      hardware.graphics = {
        extraPackages = attrValues {
          inherit
            (pkgs)
            vulkan-tools
            vulkan-loader
            vulkan-extension-layer
            mesa
            ;
        };
      };
      boot = {
        initrd.kernelModules = ["amdgpu"];
        kernelModules = ["amdgpu"];
      };
      environment.systemPackages = [pkgs.nvtopPackages.amd];
      services.xserver.videoDrivers = mkDefault ["modesetting" "amdgpu"];
    }
    (mkIf gpu.lact.enable {
      boot.kernelParams = ["amdgpu.ppfeaturemask=0xfffd7fff"];
      environment.systemPackages = [pkgs.lact];

      systemd = {
        packages = [pkgs.lact];
        services.lactd = {
          wantedBy = ["multi-user.target"];
          unitConfig = {
            Description = "GPU Control Daemon";
            After = ["multi-user.target"];
          };
        };
      };
    })
  ]);
}

{
  config,
  lib,
  pkgs,
  ...
}: let
  inherit (config.ooknet.hardware) gpu;
  inherit (lib) mkMerge mkIf mkDefault;
  inherit (builtins) attrValues;
in {
  config = mkIf (gpu.type == "amd") (mkMerge
 [
    {
      hardware.amdgpu = {
        opencl.enable = false;
      };
      hardware.graphics = {
        extraPackages = attrValues {
          inherit
            (pkgs)
            vulkan-tools
            vulkan-loader
            vulkan-extension-layer
            mesa
            ;
        };
      };
      boot = {
        initrd.kernelModules = ["amdgpu"];
        kernelModules = ["amdgpu"];
      };
      environment.systemPackages = [pkgs.nvt
opPackages.amd];
      services.xserver.videoDrivers = mkDefa
ult ["modesetting" "amdgpu"];
    }
    (mkIf gpu.lact.enable {
      boot.kernelParams = ["amdgpu.ppfeature
mask=0xfffd7fff"];
      environment.systemPackages = [pkgs.lac
t];

      systemd = {
        packages = [pkgs.lact];
        services.lactd = {
          wantedBy = ["multi-user.target"];
          unitConfig = {
            Description = "GPU Control Daemo
n";
            After = ["multi-user.target"];
          };
        };
      };
    })
  ]);
}
 
──────────────────────────────────────────────────────────────────────────────────────
OOKNET
────────────────────────────────────────────────
OOKNET