39 lines
		
	
	
	
		
			810 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
	
		
			810 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
{
 | 
						|
  config,
 | 
						|
  lib,
 | 
						|
  namespace,
 | 
						|
  options,
 | 
						|
  ...
 | 
						|
}:
 | 
						|
with lib;
 | 
						|
with lib.${namespace};
 | 
						|
let
 | 
						|
  cfg = config.${namespace}.system.locale;
 | 
						|
in
 | 
						|
{
 | 
						|
  options.${namespace}.system.locale = with types; {
 | 
						|
    enable = mkBoolOpt false "Whether or not to manage locale settings.";
 | 
						|
  };
 | 
						|
 | 
						|
  config = mkIf cfg.enable {
 | 
						|
    i18n.defaultLocale = "en_US.UTF-8";
 | 
						|
 | 
						|
    i18n.extraLocaleSettings = {
 | 
						|
      LANG = "en_US.UTF-8";
 | 
						|
      LC_ALL = "en_US.UTF-8";
 | 
						|
      LC_ADDRESS = "de_DE.UTF-8";
 | 
						|
      LC_IDENTIFICATION = "de_DE.UTF-8";
 | 
						|
      LC_MEASUREMENT = "de_DE.UTF-8";
 | 
						|
      LC_MONETARY = "de_DE.UTF-8";
 | 
						|
      LC_NAME = "de_DE.UTF-8";
 | 
						|
      LC_NUMERIC = "de_DE.UTF-8";
 | 
						|
      LC_PAPER = "de_DE.UTF-8";
 | 
						|
      LC_TELEPHONE = "de_DE.UTF-8";
 | 
						|
      LC_TIME = "de_DE.UTF-8";
 | 
						|
    };
 | 
						|
 | 
						|
    console = {
 | 
						|
      keyMap = mkForce "us";
 | 
						|
    };
 | 
						|
  };
 | 
						|
}
 |