46 lines
		
	
	
		
			941 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
		
		
			
		
	
	
			46 lines
		
	
	
		
			941 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
|   | { config, lib, pkgs, ... }: | ||
|  | 
 | ||
|  | with lib; | ||
|  | 
 | ||
|  | let | ||
|  |   cfg = config.programs.xwayland; | ||
|  | 
 | ||
|  | in | ||
|  | 
 | ||
|  | { | ||
|  |   options.programs.xwayland = { | ||
|  | 
 | ||
|  |     enable = mkEnableOption ''
 | ||
|  |       Xwayland X server allows running X programs on a Wayland compositor. | ||
|  |     '';
 | ||
|  | 
 | ||
|  |     defaultFontPath = mkOption { | ||
|  |       type = types.str; | ||
|  |       default = optionalString config.fonts.fontDir.enable | ||
|  |         "/run/current-system/sw/share/X11/fonts"; | ||
|  |       description = ''
 | ||
|  |         Default font path. Setting this option causes Xwayland to be rebuilt. | ||
|  |       '';
 | ||
|  |     }; | ||
|  | 
 | ||
|  |     package = mkOption { | ||
|  |       type = types.path; | ||
|  |       description = "The Xwayland package"; | ||
|  |     }; | ||
|  | 
 | ||
|  |   }; | ||
|  | 
 | ||
|  |   config = mkIf cfg.enable { | ||
|  | 
 | ||
|  |     # Needed by some applications for fonts and default settings | ||
|  |     environment.pathsToLink = [ "/share/X11" ]; | ||
|  | 
 | ||
|  |     environment.systemPackages = [ cfg.package ]; | ||
|  | 
 | ||
|  |     programs.xwayland.package = pkgs.xwayland.override (oldArgs: { | ||
|  |       inherit (cfg) defaultFontPath; | ||
|  |     }); | ||
|  | 
 | ||
|  |   }; | ||
|  | } |