Files
ansible-common/roles/locale_config/tasks/main.yml

46 lines
1.6 KiB
YAML

---
# got this from here:
# https://serverfault.com/questions/959026/how-do-i-generate-and-set-the-locale-using-ansible/981742#981742
- name: ensure locale files are available for {{ locale_config_locale }}
become: true
community.general.locale_gen:
state: present
name: "{{ locale_config_locale }}"
- name: ensure locale files are available for {{ locale_config_language }}
become: true
community.general.locale_gen:
state: present
name: "{{ locale_config_language }}"
- name: get current locale and language configuration
register: locale_config_status
changed_when: false
ignore_errors: true
ansible.builtin.command:
cmd: localectl status
- name: remember current LANG config
when: not locale_config_status is skipped
ansible.builtin.set_fact:
locale_config_current: "{{ locale_config_status.stdout | regex_search('LANG=([^\n]+)', '\\1') | first }}"
- name: print current config
ansible.builtin.debug:
msg: "LANG={{ locale_config_current }}"
- name: set locale to '{{ locale_config_locale }}'
become: true
changed_when: locale_config_current != locale_config_locale
ansible.builtin.command:
cmd: localectl set-locale LANG={{ locale_config_locale }}
- name: set language to '{{ locale_config_language }}'
become: true
changed_when: locale_language != locale_config_language
vars:
locale_language: "{{ locale_config_status.stdout | regex_search('LANGUAGE=([^\n]+)', '\\1') | default([locale_config_current], true) | first }}"
ansible.builtin.command:
cmd: localectl set-locale LANGUAGE={{ locale_config_language }}