--- - name: Configure shell for default user tags: shell become: true become_user: "{{ default_user }}" block: - name: Get default user home getent: database: passwd key: "{{ default_user }}" split: ":" when: target_system == "linux" - name: Set default user home set_fact: default_user_home: "{{ getent_passwd[default_user][4] }}" when: target_system == "linux" - name: Install and configure default user environment become: true become_user: "{{ default_user }}" block: - name: Install .tmux.conf to default user copy: src: .tmux.conf dest: "{{ default_user_home }}/.tmux.conf" owner: "{{ default_user }}" group: "{{ default_user_group }}" force: yes mode: 0644 - name: Create temporary install directory tempfile: path: "{{ default_user_home }}" state: directory suffix: .tmp register: temp_install_dir changed_when: false - name: Download oh-my-zsh get_url: url: https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh dest: "{{ temp_install_dir.path }}" mode: 0777 - name: Install oh-my-zsh shell: "sh {{ temp_install_dir.path }}/install.sh --unattended" args: creates: "{{ default_user_home }}/.oh-my-zsh" - name: Install powerlevel10k theme git: repo: "https://gitee.com/romkatv/powerlevel10k.git" version: master dest: "{{ default_user_home }}/.oh-my-zsh/custom/themes/powerlevel10k" depth: 1 - name: Install zsh-syntax-highlighting git: repo: "https://github.com/zsh-users/zsh-syntax-highlighting.git" version: master dest: "{{ default_user_home }}/.zsh/zsh-syntax-highlighting" clone: yes update: yes - name: Install zsh-autosuggestions git: repo: https://github.com/zsh-users/zsh-autosuggestions version: master dest: "{{ default_user_home }}/.zsh/zsh-autosuggestions" clone: yes update: yes - name: Install .zshrc to default user template: src: .zshrc.j2 dest: "{{ default_user_home }}/.zshrc" owner: "{{ default_user }}" group: "{{ default_user_group }}" force: yes mode: 0644 - name: Install .p10k.zsh to default user copy: src: .p10k.zsh dest: "{{ default_user_home }}/.p10k.zsh" owner: "{{ default_user }}" group: "{{ default_user_group }}" force: yes mode: 0644 - name: Configure shell for root user tags: shell become: true block: - name: Get root home user: name: root state: present shell: /bin/zsh register: root_user_details - name: Set root home set_fact: root_user_home: "{{ root_user_details.home }}" - name: Print root user home debug: var: root_user_home - name: Install .tmux.conf to root user copy: src: .tmux.conf dest: "{{ root_user_home }}/.tmux.conf" force: yes mode: 0644 - name: Create temporary root install directory tempfile: path: "{{ root_user_home }}" state: directory suffix: .tmp register: temp_install_dir_root changed_when: false - name: Download oh-my-zsh get_url: url: https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh dest: "{{ temp_install_dir_root.path }}" mode: 0777 - name: Install oh-my-zsh shell: "sh {{ temp_install_dir_root.path }}/install.sh --unattended" args: creates: "{{ root_user_home }}/.oh-my-zsh" - name: Install zsh-syntax-highlighting git: repo: "https://github.com/zsh-users/zsh-syntax-highlighting.git" version: master dest: "{{ root_user_home }}/.zsh/zsh-syntax-highlighting" clone: yes update: yes - name: Install zsh-autosuggestions git: repo: https://github.com/zsh-users/zsh-autosuggestions version: master dest: "{{ root_user_home }}/.zsh/zsh-autosuggestions" clone: yes update: yes - name: Install .zshrc to root user template: src: .zshrc.root.j2 dest: "{{ root_user_home }}/.zshrc" force: yes mode: 0644