34 lines
		
	
	
		
			724 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
		
		
			
		
	
	
			34 lines
		
	
	
		
			724 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
| 
								 | 
							
								{ config, pkgs, lib, ... }:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								with lib;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								let
							 | 
						||
| 
								 | 
							
								  im = config.i18n.inputMethod;
							 | 
						||
| 
								 | 
							
								  cfg = im.fcitx5;
							 | 
						||
| 
								 | 
							
								  fcitx5Package = pkgs.fcitx5-with-addons.override { inherit (cfg) addons; };
							 | 
						||
| 
								 | 
							
								in
							 | 
						||
| 
								 | 
							
								  {
							 | 
						||
| 
								 | 
							
								    options = {
							 | 
						||
| 
								 | 
							
								      i18n.inputMethod.fcitx5 = {
							 | 
						||
| 
								 | 
							
								        addons = mkOption {
							 | 
						||
| 
								 | 
							
								          type = with types; listOf package;
							 | 
						||
| 
								 | 
							
								          default = [];
							 | 
						||
| 
								 | 
							
								          example = with pkgs; [ fcitx5-rime ];
							 | 
						||
| 
								 | 
							
								          description = ''
							 | 
						||
| 
								 | 
							
								            Enabled Fcitx5 addons.
							 | 
						||
| 
								 | 
							
								          '';
							 | 
						||
| 
								 | 
							
								        };
							 | 
						||
| 
								 | 
							
								      };
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    config = mkIf (im.enabled == "fcitx5") {
							 | 
						||
| 
								 | 
							
								      i18n.inputMethod.package = fcitx5Package;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								      environment.variables = {
							 | 
						||
| 
								 | 
							
								        GTK_IM_MODULE = "fcitx";
							 | 
						||
| 
								 | 
							
								        QT_IM_MODULE = "fcitx";
							 | 
						||
| 
								 | 
							
								        XMODIFIERS = "@im=fcitx";
							 | 
						||
| 
								 | 
							
								      };
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								  }
							 |