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',
|
|
},
|
|
},
|
|
}
|