--- - name: zsh install packages become: '{{package_become}}' package: name: zsh state: present - name: zsh install Debian packages when: ansible_os_family == "Debian" become: true apt: name: - pinentry-curses - silversearcher-ag - unzip - zsh-doc state: present - name: zsh install macOS packages when: ansible_os_family == "Darwin" become: false homebrew: name: the_silver_searcher state: present - name: zsh clone plugin repos git: repo: '{{item.repo}}' dest: '{{item.dest}}' with_items: - repo: https://github.com/zsh-users/zsh-autosuggestions.git dest: ~/.config/zsh/zsh-autosuggestions - repo: https://github.com/zsh-users/zsh-history-substring-search.git dest: ~/.config/zsh/zsh-history-substring-search - repo: https://github.com/zsh-users/zsh-syntax-highlighting.git dest: ~/.config/zsh/zsh-syntax-highlighting - repo: https://github.com/zsh-users/zsh-completions.git dest: ~/.config/zsh/zsh-completions - repo: https://github.com/junegunn/fzf.git dest: ~/.config/zsh/fzf - name: zsh install fzf binaries command: cmd: ~/.config/zsh/fzf/install --bin creates: ~/.config/zsh/fzf/bin/fzf - name: zsh create directories file: state: directory dest: '{{item}}' with_items: - ~/.local/bin - ~/.local/share/zsh/site-functions - name: zsh create symbolic links file: state: link src: '{{item.src}}' dest: '{{item.dest}}' with_items: - src: ~/.config/zsh/zlogin dest: ~/.zlogin - src: ~/.config/zsh/zlogout dest: ~/.zlogout - src: ~/.config/zsh/zprofile dest: ~/.zprofile - src: ~/.config/zsh/zshenv dest: ~/.zshenv - src: ~/.config/zsh/zshrc dest: ~/.zshrc - src: ~/.config/zsh/prompt_fresh_setup dest: ~/.local/share/zsh/site-functions/prompt_fresh_setup - src: ~/.config/zsh/build/_build-dir dest: ~/.local/share/zsh/site-functions/_build-dir - src: ~/.config/zsh/sandbox/_sandbox dest: ~/.local/share/zsh/site-functions/_sandbox - src: ~/.config/zsh/layout/_layout dest: ~/.local/share/zsh/site-functions/_layout - src: ~/.config/zsh/notes/_note dest: ~/.local/share/zsh/site-functions/_note - src: ~/.config/zsh/fzf/bin/fzf dest: ~/.local/bin/fzf - src: ~/.config/zsh/fzf/bin/fzf-tmux dest: ~/.local/bin/fzf-tmux - src: ~/.config/zsh/cmake-uninstall dest: ~/.local/bin/cmake-uninstall - src: ~/.config/zsh/$ dest: ~/.local/bin/$ - name: zsh get absolute path shell: command -v zsh register: zsh changed_when: false - name: zsh set default shell user: name: '{{lookup("env", "USER")}}' shell: '{{zsh.stdout}}' become: true