--- - hosts: all pre_tasks: - name: update dotfiles repo git: repo: https://github.com/kejadlen/dotfiles.git dest: ~/.dotfiles ignore_errors: yes - hosts: all tasks: - name: install dependencies apt: name: "{{ item }}" update_cache: yes with_items: - cmake - direnv - make - mosh - libterm-readkey-perl - pkg-config - python-pip - software-properties-common - zsh become: yes - hosts: all roles: - dotfiles - zsh - hosts: all name: create home dirs tasks: - file: path: "{{ item }}" state: directory with_items: - src - tmp - hosts: all name: install Ansible tasks: - apt_repository: repo: ppa:ansible/ansible become: yes - apt: name: ansible update_cache: yes become: yes - hosts: all name: install Ruby tasks: - stat: path=/usr/local/bin/chruby-exec register: chruby - import_tasks: irregular-apocalypse/chruby.yml vars: version: 0.3.9 when: chruby.stat.exists == False - stat: path=/usr/local/bin/ruby-install register: ruby_install - import_tasks: irregular-apocalypse/ruby-install.yml vars: version: 0.6.1 when: ruby_install.stat.exists == False - stat: path=~/.rubies register: rubies - command: ruby-install ruby when: rubies.stat.exists == False - hosts: all name: install Rust tasks: - stat: path=~/.cargo/bin/rustup register: rustup - import_tasks: irregular-apocalypse/rustup.yml when: rustup.stat.exists == False - command: ~/.cargo/bin/rustup toolchain list register: rustup_toolchains - name: install rust command: ~/.cargo/bin/rustup install nightly when: "'nightly' not in rustup_toolchains.stdout" - name: default to nightly command: ~/.cargo/bin/rustup default nightly - name: install Rust-based tools command: ~/.cargo/bin/cargo install {{ item }} with_items: - exa - ripgrep - hosts: all name: install fzf tasks: - git: repo: https://github.com/junegunn/fzf.git dest: ~/.fzf - command: ~/.fzf/install