- name: Ensure marker directory exists ansible.builtin.file: path: /run/tuxflotte/agent/applied state: directory mode: "0755" # Systemweites Standard-Tastaturlayout (Konsole + neue Login-Sitzungen) - # reine Konfigurationsdatei, kein Paket noetig (console-setup/keyboard- # configuration sind bereits Teil jedes Debian-Familie-Basissystems). # tuxflotte_optionen.layout: "de" oder "us" (Default "de", siehe defaults/ # main.yml) - opake Option analog zum Brave-Standardbrowser-Muster. - name: XKBLAYOUT in /etc/default/keyboard setzen ansible.builtin.lineinfile: path: /etc/default/keyboard regexp: '^XKBLAYOUT=' line: 'XKBLAYOUT="{{ tuxflotte_optionen.layout | default("de") }}"' when: tuxflotte_state == "present" register: tuxflotte_keyboard_changed - name: Layout-Änderung anwenden ansible.builtin.command: dpkg-reconfigure -f noninteractive keyboard-configuration when: tuxflotte_state == "present" and tuxflotte_keyboard_changed.changed - name: Record that the tastaturlayout role ran ansible.builtin.copy: dest: /run/tuxflotte/agent/applied/tastaturlayout.marker content: "{{ ansible_date_time.iso8601 }}: {{ tuxflotte_optionen.layout | default('de') }}\n" mode: "0644" when: tuxflotte_state == "present" # "Abwählen" bedeutet hier: zurück auf den Tuxflotte-Standard (de), nicht # ein undefiniertes Layout - anders als bei installierbaren Apps gibt es # hier kein sinnvolles "gar kein Layout". - name: Auf Standard-Layout (de) zurücksetzen (Auftrag abgewählt) ansible.builtin.lineinfile: path: /etc/default/keyboard regexp: '^XKBLAYOUT=' line: 'XKBLAYOUT="de"' when: tuxflotte_state == "absent" register: tuxflotte_keyboard_reset - name: Standard-Layout anwenden (Auftrag abgewählt) ansible.builtin.command: dpkg-reconfigure -f noninteractive keyboard-configuration when: tuxflotte_state == "absent" and tuxflotte_keyboard_reset.changed - name: tastaturlayout-Marker entfernen (Auftrag abgewählt) ansible.builtin.file: path: /run/tuxflotte/agent/applied/tastaturlayout.marker state: absent when: tuxflotte_state == "absent"