nixos: rework font options
This commit is contained in:
		
							parent
							
								
									c9f7e6b53c
								
							
						
					
					
						commit
						1fa7ae2a66
					
				
					 6 changed files with 107 additions and 41 deletions
				
			
		|  | @ -1,12 +1,32 @@ | |||
| {lib, ...}: let | ||||
|   inherit (lib) mkOption; | ||||
|   inherit (lib.types) str package path int bool; | ||||
|   inherit (lib.types) str package path int bool submodule nullOr; | ||||
| 
 | ||||
|   mkFontOption = { | ||||
|   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; | ||||
|  | @ -19,21 +39,15 @@ | |||
|       type = bool; | ||||
|       default = false; | ||||
|     }; | ||||
|     fallback = { | ||||
|       family = mkOption { | ||||
|         type = str; | ||||
|         default = ""; | ||||
|       }; | ||||
|       package = mkOption { | ||||
|         type = package; | ||||
|         default = null; | ||||
|       }; | ||||
|       size = mkOption { | ||||
|         type = int; | ||||
|   }; | ||||
|   mkFontOption = | ||||
|     mkBaseFontOption | ||||
|     // { | ||||
|       fallback = mkOption { | ||||
|         type = nullOr (submodule {options = mkBaseFontOption;}); | ||||
|         default = null; | ||||
|       }; | ||||
|     }; | ||||
|   }; | ||||
| in { | ||||
|   #  imports = [./palettes]; | ||||
|   options.ooknet.appearance = { | ||||
|  |  | |||
|  | @ -13,17 +13,36 @@ in { | |||
|     ooknet.appearance = { | ||||
|       fonts = { | ||||
|         monospace = { | ||||
|           family = "CozetteHiDpi"; | ||||
|           package = pkgs.cozette; | ||||
|           size = 22; | ||||
|           bitmap = true; | ||||
|           package = pkgs.monocraft; | ||||
|           size = 18; | ||||
|           family = "Monocraft"; | ||||
|           variants = { | ||||
|             regular = "Monocraft:style=Medium"; | ||||
|             bold = "Monocraft:style=Medium"; | ||||
|             italic = "Monocraft:style=Medium"; | ||||
|             boldItalic = "Monocraft:style=Medium"; | ||||
|           }; | ||||
|           fallback = { | ||||
|             family = "JetBrainsMono Nerd Font"; | ||||
|             package = pkgs.nerfonts.override {fonts = ["JetBrainsMono"];}; | ||||
|             family = "JetBrainsMono NFM"; | ||||
|             variants = { | ||||
|               regular = "JetBrainsMono NFM:style=Regular"; | ||||
|               bold = "JetBrainsMono NFM:style=Bold"; | ||||
|               italic = "JetBrainsMono NFM:style=Italic"; | ||||
|               boldItalic = "JetBrainsMono NFM:style=Bold Italic"; | ||||
|             }; | ||||
|             package = pkgs.nerdfonts.override {fonts = ["JetBrainsMono"];}; | ||||
|             size = 18; | ||||
|           }; | ||||
|         }; | ||||
|         regular = { | ||||
|           family = "Fira Sans"; | ||||
|           variants = { | ||||
|             regular = "Fira Sans:style=Regular"; | ||||
|             bold = "Fira Sans:style=Bold"; | ||||
|             italic = "Fira Sans:style=Italic"; | ||||
|             boldItalic = "Fira Sans:style=Bold Italic"; | ||||
|           }; | ||||
|           package = pkgs.fira; | ||||
|         }; | ||||
|       }; | ||||
|  |  | |||
|  | @ -13,12 +13,25 @@ in { | |||
|     ooknet.appearance = { | ||||
|       fonts = { | ||||
|         monospace = { | ||||
|           family = "JetBrainsMono Nerd Font"; | ||||
|           package = pkgs.nerdfonts.override {fonts = ["JetBrainsMono"];}; | ||||
|           size = 18; | ||||
|           family = "JetBrainsMono NF"; | ||||
|           variants = { | ||||
|             regular = "JetBrainsMono NF:style=Regular"; | ||||
|             bold = "JetBrainsMono NF:style=Bold"; | ||||
|             italic = "JetBrainsMono NF:style=Italic"; | ||||
|             boldItalic = "JetBrainsMono NF:style=Bold Italic"; | ||||
|           }; | ||||
|         }; | ||||
|         regular = { | ||||
|           family = "Fira Sans"; | ||||
|           package = pkgs.fira; | ||||
|           family = "Fira Sans"; | ||||
|           variants = { | ||||
|             regular = "Fira Sans:style=Regular"; | ||||
|             bold = "Fira Sans:style=Bold"; | ||||
|             italic = "Fira Sans:style=Italic"; | ||||
|             boldItalic = "Fira Sans:style=Bold Italic"; | ||||
|           }; | ||||
|         }; | ||||
|       }; | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue