Unverified Commit a9b63f03 authored by Someone's avatar Someone Committed by GitHub
Browse files

nvidia-container-toolkit: add "nvidia" to services.xserver.videoDrivers (#344174)

parents 6519495b 0d3c3735
Loading
Loading
Loading
Loading
+57 −44
Original line number Diff line number Diff line
@@ -77,15 +77,24 @@

  };

  config = {
  config = lib.mkIf config.hardware.nvidia-container-toolkit.enable {
    virtualisation.docker = {
      daemon.settings = lib.mkIf
        (lib.versionAtLeast config.virtualisation.docker.package.version "25") {
          features.cdi = true;
        };

    virtualisation.docker.daemon.settings = lib.mkIf
      (config.hardware.nvidia-container-toolkit.enable &&
      rootless.daemon.settings = lib.mkIf
        (config.virtualisation.docker.rootless.enable &&
         (lib.versionAtLeast config.virtualisation.docker.package.version "25")) {
           features.cdi = true;
         };
    };

    hardware.nvidia-container-toolkit.mounts = let
    hardware = {
      graphics.enable = lib.mkIf (!config.hardware.nvidia.datacenter.enable) true;

      nvidia-container-toolkit.mounts = let
        nvidia-driver = config.hardware.nvidia.package;
      in (lib.mkMerge [
        [{ hostPath = pkgs.addDriverRunpath.driverLink;
@@ -119,8 +128,12 @@
           { hostPath = "${lib.getLib nvidia-driver}/lib";
             containerPath = "/usr/local/nvidia/lib64"; }])
      ]);
    };

    services.xserver.videoDrivers = lib.mkIf
      (!config.hardware.nvidia.datacenter.enable) [ "nvidia" ];

    systemd.services.nvidia-container-toolkit-cdi-generator = lib.mkIf config.hardware.nvidia-container-toolkit.enable {
    systemd.services.nvidia-container-toolkit-cdi-generator = {
      description = "Container Device Interface (CDI) for Nvidia generator";
      wantedBy = [ "multi-user.target" ];
      after = [ "systemd-udev-settle.service" ];