--- - name: Set home directory for the user set_fact: user_home: "/home/{{ ansible_user }}" - name: Set up Zsh include_role: name: zsh_with_style/subroles/zsh - name: Set up Oh My Zsh include_role: name: zsh_with_style/subroles/ohmyzsh - name: Install bat apt: name: bat state: present update_cache: true become: true - name: Ensure ~/.local/bin directory exists file: path: "{{ user_home }}/.local/bin" state: directory mode: '0755' - name: Create symlink from batcat to bat file: src: /usr/bin/batcat dest: "{{ user_home }}/.local/bin/bat" state: link - name: Deploy custom .zshrc file copy: src: .zshrc dest: ~{{ ansible_user }}/.zshrc owner: "{{ ansible_user }}" group: "{{ ansible_user }}" mode: '0644' when: ansible_user != "root" - name: Source .zshrc to apply changes shell: | source {{ user_home }}/.zshrc args: executable: /bin/zsh become_user: "{{ ansible_user }}" become: true changed_when: false # - name: Ensure Ruby is installed # apt: # name: ruby # state: present # become: yes # - name: Get Ruby version # command: ruby -e 'puts RUBY_VERSION' # register: ruby_version_output # become: yes # - name: Set Ruby version fact # set_fact: # ruby_version: "{{ ruby_version_output.stdout }}" # # - name: Ensure gem binary directory is in the user's PATH # # lineinfile: # # path: "{{ ansible_user_dir }}/.zshrc" # # line: 'export PATH="$HOME/.local/share/gem/ruby/{{ ruby_version }}/bin:$PATH"' # # create: yes # # become: yes # # become_user: "{{ ansible_user }}" # - name: Install colorls gem for the current user # gem: # name: colorls # become: yes # become_user: "{{ ansible_user }}"