57 lines
		
	
	
	
		
			2.3 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
	
		
			2.3 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| { config, lib, pkgs, ... }:
 | |
| 
 | |
| {
 | |
|   hardware.enableAllFirmware = true;
 | |
|   hardware.cpu.intel.updateMicrocode = true;
 | |
|   services.fwupd.enable = true;
 | |
| 
 | |
|   services.xserver.videoDrivers = [ "nvidia" ];
 | |
|   hardware.nvidia.open = false;
 | |
|   nixpkgs.config.cudaSupport = true;
 | |
|   nix.settings = {
 | |
|     # Community cache with prebuilt packages with cudaSupport enabled
 | |
|     substituters = [ "https://nix-community.cachix.org" ];
 | |
|     trusted-public-keys = [ "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" ];
 | |
|   };
 | |
| 
 | |
|   # # Downgrade to driver version 535 as 550 has problems with Wayland
 | |
|   # hardware.nvidia.package =
 | |
|   #   let
 | |
|   #     rcu_patch = pkgs.fetchpatch {
 | |
|   #       url = "https://github.com/gentoo/gentoo/raw/c64caf53/x11-drivers/nvidia-drivers/files/nvidia-drivers-470.223.02-gpl-pfn_valid.patch";
 | |
|   #       hash = "sha256-eZiQQp2S/asE7MfGvfe6dA/kdCvek9SYa/FFGp24dVg=";
 | |
|   #     };
 | |
|   #   in
 | |
|   #   config.boot.kernelPackages.nvidiaPackages.mkDriver {
 | |
|   #     version = "535.154.05";
 | |
|   #     sha256_64bit = "sha256-fpUGXKprgt6SYRDxSCemGXLrEsIA6GOinp+0eGbqqJg=";
 | |
|   #     sha256_aarch64 = "sha256-G0/GiObf/BZMkzzET8HQjdIcvCSqB1uhsinro2HLK9k=";
 | |
|   #     openSha256 = "sha256-wvRdHguGLxS0mR06P5Qi++pDJBCF8pJ8hr4T8O6TJIo=";
 | |
|   #     settingsSha256 = "sha256-9wqoDEWY4I7weWW05F4igj1Gj9wjHsREFMztfEmqm10=";
 | |
|   #     persistencedSha256 = "sha256-d0Q3Lk80JqkS1B54Mahu2yY/WocOqFFbZVBh+ToGhaE=";
 | |
|   #     patches = [ rcu_patch ];
 | |
|   #   };
 | |
| 
 | |
|   services.printing.drivers = [ pkgs.hplip ];
 | |
| 
 | |
|   # enable playing from bluray drive
 | |
|   boot.kernelModules = [ "sg" ];
 | |
|   environment.systemPackages = [
 | |
|     ((pkgs.vlc.override {
 | |
|       libbluray = (pkgs.libbluray.override {
 | |
|         withJava = true;
 | |
|         withAACS = true;
 | |
|         withBDplus = true;
 | |
|       });
 | |
|     }).overrideAttrs (originalAttrs: {
 | |
|       buildInputs = originalAttrs.buildInputs ++ [ pkgs.libdvdcss ];
 | |
|       # TODO: nixpkgs bug: libbluray needs patching to look at the nix store path of jdk17 when searching for a jdk
 | |
|       # as a workaround, wrap vlc and set JAVA_HOME, which it uses instead of searching when specified
 | |
|       nativeBuildInputs = originalAttrs.nativeBuildInputs ++ [ pkgs.makeWrapper ];
 | |
|       postFixup = ''
 | |
|         ${originalAttrs.postFixup or ""}
 | |
|         wrapProgram $out/bin/vlc --set JAVA_HOME ${pkgs.jdk17.home}
 | |
|       '';
 | |
|     }))
 | |
|   ];
 | |
| }
 |