79 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			79 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| {lib, ...}: let
 | |
|   inherit (lib) mkOption;
 | |
|   inherit (lib.types) str package path int bool submodule nullOr;
 | |
| 
 | |
|   mkVariantOption = {
 | |
|     regular = mkOption {
 | |
|       type = str;
 | |
|       default = "";
 | |
|     };
 | |
|     bold = mkOption {
 | |
|       type = str;
 | |
|       default = "";
 | |
|     };
 | |
|     italic = mkOption {
 | |
|       type = str;
 | |
|       default = "";
 | |
|     };
 | |
|     boldItalic = mkOption {
 | |
|       type = str;
 | |
|       default = "";
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   mkBaseFontOption = {
 | |
|     family = mkOption {
 | |
|       type = str;
 | |
|       default = "";
 | |
|     };
 | |
|     variants = mkVariantOption;
 | |
|     package = mkOption {
 | |
|       type = package;
 | |
|       default = null;
 | |
|     };
 | |
|     size = mkOption {
 | |
|       type = int;
 | |
|       default = 18;
 | |
|     };
 | |
|     bitmap = mkOption {
 | |
|       type = bool;
 | |
|       default = false;
 | |
|     };
 | |
|   };
 | |
|   mkFontOption =
 | |
|     mkBaseFontOption
 | |
|     // {
 | |
|       fallback = mkOption {
 | |
|         type = nullOr (submodule {options = mkBaseFontOption;});
 | |
|         default = null;
 | |
|       };
 | |
|     };
 | |
| in {
 | |
|   #  imports = [./palettes];
 | |
|   options.ooknet.appearance = {
 | |
|     fonts = {
 | |
|       monospace = mkFontOption;
 | |
|       regular = mkFontOption;
 | |
|     };
 | |
|     wallpaper = {
 | |
|       path = mkOption {
 | |
|         type = path;
 | |
|         default = null;
 | |
|       };
 | |
|     };
 | |
|     cursor = {
 | |
|       package = mkOption {
 | |
|         type = package;
 | |
|         default = null;
 | |
|       };
 | |
|       name = mkOption {
 | |
|         type = str;
 | |
|         default = "";
 | |
|       };
 | |
|       size = mkOption {
 | |
|         type = int;
 | |
|         default = 22;
 | |
|       };
 | |
|     };
 | |
|   };
 | |
| }
 |