41 lines
		
	
	
	
		
			814 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
	
		
			814 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
| {
 | |
|   config,
 | |
|   lib,
 | |
|   namespace,
 | |
|   options,
 | |
|   pkgs,
 | |
|   ...
 | |
| }:
 | |
| with lib;
 | |
| with lib.${namespace};
 | |
| let
 | |
|   cfg = config.${namespace}.system.fonts;
 | |
| in
 | |
| {
 | |
|   options.${namespace}.system.fonts = with types; {
 | |
|     enable = mkBoolOpt false "Whether or not to manage fonts.";
 | |
|     fonts = mkOpt (listOf package) [ ] "Custom font packages to install.";
 | |
|   };
 | |
| 
 | |
|   config = mkIf cfg.enable {
 | |
|     environment.variables = {
 | |
|       # Enable icons in tooling since we have nerdfonts.
 | |
|       LOG_ICONS = "true";
 | |
|     };
 | |
| 
 | |
|     environment.systemPackages = with pkgs; [ font-manager ];
 | |
| 
 | |
|     fonts.packages =
 | |
|       with pkgs;
 | |
|       [
 | |
|         font-awesome
 | |
|         powerline-fonts
 | |
|         powerline-symbols
 | |
|         nerd-fonts.code-new-roman
 | |
|         nerd-fonts.fira-code
 | |
|         nerd-fonts.symbols-only
 | |
|         fira
 | |
|       ]
 | |
|       ++ cfg.fonts;
 | |
|   };
 | |
| }
 |