diff options
| author | Ahmed Abdelhalim <[email protected]> | 2025-08-11 00:32:07 +0200 |
|---|---|---|
| committer | Ahmed Abdelhalim <[email protected]> | 2025-08-11 00:32:07 +0200 |
| commit | ac7bb521873b59feb43303b4b1d46c37d16ad8b0 (patch) | |
| tree | 796a4879c1a925908dd03130dec1320060795b72 /roles/locales | |
| parent | 93326d8c042101c59b969f57b4b9989e3ab7aaeb (diff) | |
Refactor: move the locales into its own role
Diffstat (limited to 'roles/locales')
| -rw-r--r-- | roles/locales/README.md | 27 | ||||
| -rw-r--r-- | roles/locales/defaults/main.yml | 18 | ||||
| -rw-r--r-- | roles/locales/handlers/main.yml | 6 | ||||
| -rw-r--r-- | roles/locales/meta/argument_specs.yml | 65 | ||||
| -rw-r--r-- | roles/locales/meta/main.yml | 19 | ||||
| -rw-r--r-- | roles/locales/tasks/main.yml | 40 | ||||
| -rw-r--r-- | roles/locales/vars/archlinux.yml | 2 | ||||
| -rw-r--r-- | roles/locales/vars/debian.yml | 2 |
8 files changed, 179 insertions, 0 deletions
diff --git a/roles/locales/README.md b/roles/locales/README.md new file mode 100644 index 00000000..9fd2a2bc --- /dev/null +++ b/roles/locales/README.md @@ -0,0 +1,27 @@ +# Ansible Role: locales + +This role configure the machine locales. + +## Role Variables + +- `locales` the list of locales to be generated. (default: `de_DE`) +- `locales_lang`: `LANG=` default `de_DE.UTF-8` +- `locales_language`: `LANGUAGE=` default `de_DE.UTF-8:de:C` +- `locales_lc_ctype`: `LC_CTYPE=` default `de_DE.UTF-8` +- `locales_lc_numeric`: `LC_NUMERIC=` default `de_DE.UTF-8` +- `locales_lc_time`: `LC_TIME=` default `de_DE.UTF-8` +- `locales_lc_collate`: `LC_COLLATE=` default `de_DE.UTF-8` +- `locales_lc_monetary`: `LC_MONETARY=` default `de_DE.UTF-8` +- `locales_lc_messages`: `LC_MESSAGES=` default `de_DE.UTF-8` +- `locales_lc_paper`: `LC_PAPER=` default `de_DE.UTF-8` +- `locales_lc_name`: `LC_NAME=` default `de_DE.UTF-8` +- `locales_lc_address`: `LC_ADDRESS=` default `de_DE.UTF-8` +- `locales_lc_telephone`: `LC_TELEPHONE=` default `de_DE.UTF-8` +- `locales_lc_measurement`: `LC_MEASUREMENT=` default `de_DE.UTF-8` +- `locales_lc_identification`: `LC_IDENTIFICATION=` default `de_DE.UTF-8` + +## Docs + +- https://manpages.debian.org/buster/manpages/locale.1.en.html +- https://manpages.debian.org/buster/locales/locale-gen.8.en.html +- https://manpages.debian.org/buster/manpages/localedef.1.en.html diff --git a/roles/locales/defaults/main.yml b/roles/locales/defaults/main.yml new file mode 100644 index 00000000..4f9cbd62 --- /dev/null +++ b/roles/locales/defaults/main.yml @@ -0,0 +1,18 @@ +--- +# noqa var-naming[no-role-prefix] +locales: + - "de_DE.UTF-8 UTF-8" +locales_lang: "de_DE.UTF-8" +locales_language: "de_DE:de:C" +locales_lc_ctype: "de_DE.UTF-8" +locales_lc_numeric: "de_DE.UTF-8" +locales_lc_time: "de_DE.UTF-8" +locales_lc_collate: "de_DE.UTF-8" +locales_lc_monetary: "de_DE.UTF-8" +locales_lc_messages: "de_DE.UTF-8" +locales_lc_paper: "de_DE.UTF-8" +locales_lc_name: "de_DE.UTF-8" +locales_lc_address: "de_DE.UTF-8" +locales_lc_telephone: "de_DE.UTF-8" +locales_lc_measurement: "de_DE.UTF-8" +locales_lc_identification: "de_DE.UTF-8" diff --git a/roles/locales/handlers/main.yml b/roles/locales/handlers/main.yml new file mode 100644 index 00000000..fce9c52a --- /dev/null +++ b/roles/locales/handlers/main.yml @@ -0,0 +1,6 @@ +--- +- name: "Run locale-gen" + become: true + ansible.builtin.command: + cmd: "locale-gen" + changed_when: true diff --git a/roles/locales/meta/argument_specs.yml b/roles/locales/meta/argument_specs.yml new file mode 100644 index 00000000..606f8be3 --- /dev/null +++ b/roles/locales/meta/argument_specs.yml @@ -0,0 +1,65 @@ +--- +argument_specs: + main: + options: + locales: + type: "list" + default: ["de_DE.UTF-8 UTF-8"] + elements: "str" + description: "The default locales to generate" + locales_lang: + type: "str" + description: "configuration of LANG=" + default: "de_DE.UTF-8" + locales_language: + type: "str" + description: "configuration of LANGUAGE=" + default: "de_DE.UTF-8:de:C" + locales_lc_ctype: + type: "str" + description: "configuration of LC_CTYPE=" + default: "de_DE.UTF-8" + locales_lc_numeric: + type: "str" + description: "configuration of LC_NUMERIC=" + default: "de_DE.UTF-8" + locales_lc_time: + type: "str" + description: "configuration of LC_TIME=" + default: "de_DE.UTF-8" + locales_lc_collate: + type: "str" + description: "configuration of LC_COLLATE=" + default: "de_DE.UTF-8" + locales_lc_monetary: + type: "str" + description: "configuration of LC_MONETARY=" + default: "de_DE.UTF-8" + locales_lc_messages: + type: "str" + description: "configuration of LC_MESSAGES=" + default: "de_DE.UTF-8" + locales_lc_paper: + type: "str" + description: "configuration of LC_PAPER=" + default: "de_DE.UTF-8" + locales_lc_name: + type: "str" + description: "configuration of LC_NAME=" + default: "de_DE.UTF-8" + locales_lc_address: + type: "str" + description: "configuration of LC_ADDRESS=" + default: "de_DE.UTF-8" + locales_lc_telephone: + type: "str" + description: "configuration of LC_TELEPHONE=" + default: "de_DE.UTF-8" + locales_lc_measurement: + type: "str" + description: "configuration of LC_MEASUREMENT=" + default: "de_DE.UTF-8" + locales_lc_identification: + type: "str" + description: "configuration of LC_IDENTIFICATION=" + default: "de_DE.UTF-8" diff --git a/roles/locales/meta/main.yml b/roles/locales/meta/main.yml new file mode 100644 index 00000000..4ddcf24c --- /dev/null +++ b/roles/locales/meta/main.yml @@ -0,0 +1,19 @@ +--- +dependencies: [] +galaxy_info: + role_name: locales + author: a14m + description: "Configure the linux distro locales" + company: "kartoffeln.work GmbH." + license: "license MIT" + min_ansible_version: "2.18" + platforms: + - name: ArchLinux + versions: + - all + - name: Ubuntu + versions: + - noble + - name: Debian + versions: + - bookworm diff --git a/roles/locales/tasks/main.yml b/roles/locales/tasks/main.yml new file mode 100644 index 00000000..d257877d --- /dev/null +++ b/roles/locales/tasks/main.yml @@ -0,0 +1,40 @@ +--- +- name: "Include OS-specific variables" + ansible.builtin.include_vars: "{{ ansible_os_family | lower }}.yml" + +- name: "Ensure locales package is installed" + become: true + ansible.builtin.package: + name: "{{ locales_pkg }}" + state: "present" + +- name: "Update locale.gen" + become: true + ansible.builtin.lineinfile: + dest: "/etc/locale.gen" + mode: "0644" + regexp: "^#{{ item }}" + line: "{{ item }}" + with_items: "{{ locales }}" + notify: "Run locale-gen" + +- name: "Update locale.conf" + become: true + ansible.builtin.copy: + dest: "/etc/locale.conf" + mode: "0644" + content: | + LANG={{ locales_lang }} + LANGUAGE={{ locales_language }} + LC_CTYPE={{ locales_lc_ctype }} + LC_NUMERIC={{ locales_lc_numeric }} + LC_TIME={{ locales_lc_time }} + LC_COLLATE={{ locales_lc_collate }} + LC_MONETARY={{ locales_lc_monetary }} + LC_MESSAGES={{ locales_lc_messages }} + LC_PAPER={{ locales_lc_paper }} + LC_NAME={{ locales_lc_name }} + LC_ADDRESS={{ locales_lc_address }} + LC_TELEPHONE={{ locales_lc_telephone }} + LC_MEASUREMENT={{ locales_lc_measurement }} + LC_IDENTIFICATION={{ locales_lc_identification }} diff --git a/roles/locales/vars/archlinux.yml b/roles/locales/vars/archlinux.yml new file mode 100644 index 00000000..10e7754b --- /dev/null +++ b/roles/locales/vars/archlinux.yml @@ -0,0 +1,2 @@ +--- +locales_pkg: "glibc" diff --git a/roles/locales/vars/debian.yml b/roles/locales/vars/debian.yml new file mode 100644 index 00000000..0bd86457 --- /dev/null +++ b/roles/locales/vars/debian.yml @@ -0,0 +1,2 @@ +--- +locales_pkg: "locales" |
