83 lines
2.1 KiB
YAML
83 lines
2.1 KiB
YAML
---
|
|
- name: Customize Zsh for users
|
|
vars:
|
|
zsh_users:
|
|
- user
|
|
|
|
block:
|
|
- name: Ensure parent home directory exists (safety)
|
|
ansible.builtin.file:
|
|
path: "/home/{{ user }}"
|
|
state: directory
|
|
owner: "{{ user }}"
|
|
group: "{{ user }}"
|
|
mode: "0755"
|
|
loop: "{{ zsh_users }}"
|
|
loop_control:
|
|
loop_var: user
|
|
become: true
|
|
|
|
- name: Remove any old oh-my-zsh
|
|
ansible.builtin.file:
|
|
path: "/home/{{ user }}/.oh-my-zsh"
|
|
state: absent
|
|
loop: "{{ zsh_users }}"
|
|
loop_control:
|
|
loop_var: user
|
|
become: true
|
|
|
|
- name: Clone Oh My Zsh as root
|
|
ansible.builtin.git:
|
|
repo: "https://github.com/ohmyzsh/ohmyzsh.git"
|
|
dest: "/home/{{ user }}/.oh-my-zsh"
|
|
version: master
|
|
update: yes
|
|
force: yes
|
|
loop: "{{ zsh_users }}"
|
|
loop_control:
|
|
loop_var: user
|
|
become: true
|
|
|
|
- name: Add trusted safe.directory system-wide for Oh My Zsh
|
|
ansible.builtin.command:
|
|
cmd: git config --system --add safe.directory /home/{{ user }}/.oh-my-zsh
|
|
loop: "{{ zsh_users }}"
|
|
loop_control:
|
|
loop_var: user
|
|
become: true
|
|
|
|
- name: Install syntax-highlighting plugin
|
|
ansible.builtin.git:
|
|
repo: "https://github.com/zsh-users/zsh-syntax-highlighting.git"
|
|
dest: "/home/{{ user }}/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting"
|
|
version: master
|
|
update: yes
|
|
force: yes
|
|
loop: "{{ zsh_users }}"
|
|
loop_control:
|
|
loop_var: user
|
|
become: true
|
|
|
|
- name: Deploy customized .zshrc
|
|
ansible.builtin.template:
|
|
src: zshrc.j2
|
|
dest: "/home/{{ user }}/.zshrc"
|
|
owner: "{{ user }}"
|
|
group: "{{ user }}"
|
|
mode: "0644"
|
|
loop: "{{ zsh_users }}"
|
|
loop_control:
|
|
loop_var: user
|
|
become: true
|
|
|
|
- name: Fix ownership recursively for Oh My Zsh directory
|
|
ansible.builtin.file:
|
|
path: "/home/{{ user }}/.oh-my-zsh"
|
|
owner: "{{ user }}"
|
|
group: "{{ user }}"
|
|
recurse: yes
|
|
loop: "{{ zsh_users }}"
|
|
loop_control:
|
|
loop_var: user
|
|
become: true
|