38 lines
		
	
	
	
		
			909 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
	
		
			909 B
		
	
	
	
		
			Python
		
	
	
	
	
	
default_locale = node.metadata.get('locale/default')[0]
 | 
						|
 | 
						|
installed_locales = sorted([
 | 
						|
    node.metadata.get('locale/default'),
 | 
						|
    *node.metadata.get('locale/installed'),
 | 
						|
])
 | 
						|
 | 
						|
files = {
 | 
						|
    '/etc/locale.gen': {
 | 
						|
        'content': '\n'.join(
 | 
						|
            f'{locale} {type}' for locale, type in installed_locales
 | 
						|
        ),
 | 
						|
        'needs': {
 | 
						|
            'pkg_apt:locales',
 | 
						|
        },
 | 
						|
        'triggers': {
 | 
						|
            'action:locale-gen',
 | 
						|
        },
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
actions = {
 | 
						|
    'systemd-locale': {
 | 
						|
        'command': f'localectl set-locale LANG="{default_locale}"',
 | 
						|
        'unless': f'localectl | grep -Fi "system locale" | grep -Fi "{default_locale}"',
 | 
						|
        'triggers': {
 | 
						|
            'action:locale-gen',
 | 
						|
        },
 | 
						|
    },
 | 
						|
    'locale-gen': {
 | 
						|
        'command': 'locale-gen',
 | 
						|
        'triggered': True,
 | 
						|
        'needs': {
 | 
						|
            'pkg_apt:locales',
 | 
						|
            'action:systemd-locale',
 | 
						|
        },
 | 
						|
    },
 | 
						|
}
 |