32 lines
		
	
	
	
		
			735 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
	
		
			735 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
| {
 | |
|   lib,
 | |
|   config,
 | |
|   pkgs,
 | |
|   ...
 | |
| }: let
 | |
|   inherit (lib) mkIf elem;
 | |
|   inherit (config.ooknet.workstation) profiles;
 | |
| in {
 | |
|   config = mkIf (elem "gaming" profiles) {
 | |
|     services.udev.packages = [
 | |
|       pkgs.dolphin-emu
 | |
|       (pkgs.writeTextFile {
 | |
|         name = "99-nintendo-controller.rules";
 | |
|         text = ''
 | |
|           SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", \
 | |
|           ATTRS{idVendor}=="057e", ATTRS{idProduct}=="0337", \
 | |
|           MODE="0666";
 | |
|         '';
 | |
|         destination = "/etc/udev/rules.d/40-nintendo-controller.rules";
 | |
|       })
 | |
|     ];
 | |
|     boot.extraModulePackages = [
 | |
|       config.boot.kernelPackages.gcadapter-oc-kmod
 | |
|     ];
 | |
| 
 | |
|     # to autoload at boot:
 | |
|     boot.kernelModules = [
 | |
|       "gcadapter_oc"
 | |
|     ];
 | |
|   };
 | |
| }
 |