This commit is contained in:
2025-10-27 23:16:48 +01:00
parent c9f41f1232
commit 42fc2cdf58

View File

@@ -354,27 +354,54 @@
tags: tags:
- bash - bash
- name: (users-systemfiles.yml) Check if .vim directory exists for default users # 1) Lokal prüfen, ob ~/.vim existiert
local_action: stat path={{ inventory_dir }}/files/homedirs/{{ item.name }}/.vim - name: (users-systemfiles.yml) stat local .vim for each user
with_items: "{{ default_user }}" ansible.builtin.stat:
path: "{{ inventory_dir }}/files/homedirs/{{ item.name }}/.vim"
delegate_to: localhost
become: false
loop: "{{ default_user }}"
register: dotvim_stats
loop_control: loop_control:
label: '{{ item.name }}' label: "{{ item.name }}"
register: local_template_dir_dotvim_default_user
# 2) Wenn vorhanden, .vim-Verzeichnis ins Home des Users kopieren
- name: (users-systemfiles.yml) copy .vim directory if it exists - name: (users-systemfiles.yml) copy .vim directory if it exists
copy: ansible.builtin.copy:
src: "{{ inventory_dir + '/files/homedirs/' + item.item.name + '/.vim' }}" # Wichtig: KEINE verschachtelten {{ ... }} im String
dest: "~{{ item.item.name }}" src: "{{ inventory_dir }}/files/homedirs/{{ user.name }}/.vim"
owner: "{{ item.item.name }}" dest: "~{{ user.name }}/"
group: "{{ item.item.name }}" mode: preserve # oder weglassen; 0644 wäre für Verzeichnisse falsch
mode: 0644 become: true
with_items: "{{ local_template_dir_dotvim_default_user.results }}" loop: "{{ default_user | zip(dotvim_stats.results) | list }}"
loop_control: loop_control:
label: '{{ item.item.name }}' label: "{{ user.name }}"
when: when:
- item.stat.exists - stat_result.stat.exists | bool
tags: vars:
- vim user: "{{ item.0 }}"
stat_result: "{{ item.1 }}"
tags: [vim]
# 3) Ownership/Gruppe rekursiv korrigieren (falls gewünscht/erforderlich)
- name: (users-systemfiles.yml) ensure ownership on ~/.vim recursively
ansible.builtin.file:
path: "~{{ user.name }}/.vim"
owner: "{{ user.name }}"
group: "{{ user.name }}"
recurse: true
state: directory
become: true
loop: "{{ default_user | zip(dotvim_stats.results) | list }}"
loop_control:
label: "{{ user.name }}"
when:
- stat_result.stat.exists | bool
vars:
user: "{{ item.0 }}"
stat_result: "{{ item.1 }}"
tags: [vim]
# -- # --
# -- root user # -- root user
@@ -387,8 +414,6 @@
delegate_to: localhost delegate_to: localhost
become: false become: false
register: vimrc_root_stat register: vimrc_root_stat
when:
- ansible_facts['distribution'] == "CentOS"
# 2) Wenn vorhanden, kopieren wir sie nach /root/.vimrc auf dem Zielhost # 2) Wenn vorhanden, kopieren wir sie nach /root/.vimrc auf dem Zielhost
- name: copy root .vimrc if it exists - name: copy root .vimrc if it exists
@@ -400,30 +425,39 @@
mode: '0644' mode: '0644'
become: true become: true
when: when:
- ansible_facts['distribution'] == "CentOS"
- vimrc_root_stat.stat.exists - vimrc_root_stat.stat.exists
tags: tags:
- bash - bash
# 1) Lokal prüfen, ob ./files/homedirs/root/.vim existiert
- name: (users-systemfiles.yml) stat local .vim for root
ansible.builtin.stat:
path: "{{ inventory_dir }}/files/homedirs/root/.vim"
delegate_to: localhost
become: false
register: root_dotvim_stat
tags: [vim]
- name: (users-systemfiles.yml) Check if local template directory .vim exists for user root # 2) Wenn vorhanden, nach /root/ kopieren
local_action: stat path={{ inventory_dir }}/files/homedirs/root/.vim - name: (users-systemfiles.yml) copy root .vim directory if it exists
register: local_template_dir_vim_root ansible.builtin.copy:
with_items: 'root' src: "{{ inventory_dir }}/files/homedirs/root/.vim"
loop_control: dest: "/root/"
label: 'root' mode: preserve # oder weglassen; nicht 0644 bei Verzeichnissen
become: true
when:
- root_dotvim_stat.stat.exists | bool
tags: [vim]
- name: (users-systemfiles.yml) copy .vim directory for user root if it exists # 3) Ownership sicherstellen (rekursiv)
copy: - name: (users-systemfiles.yml) ensure ownership on /root/.vim recursively
src: "{{ inventory_dir + '/files/homedirs/root/.vim' }}" ansible.builtin.file:
dest: "/root" path: "/root/.vim"
owner: "root" owner: "root"
group: "root" group: "root"
mode: 0644 recurse: true
with_items: "{{ local_template_dir_vim_root.results }}" state: directory
loop_control: become: true
label: 'root'
when: when:
- item.stat.exists - root_dotvim_stat.stat.exists | bool
tags: tags: [vim]
- vim