--- - hosts: all pre_tasks: - name: update dotfiles repo git: repo: https://github.com/kejadlen/dotfiles.git dest: ~/.dotfiles ignore_errors: yes tasks: - name: install dependencies apt: name: "{{ item }}" update_cache: yes with_items: - cmake - direnv - make - mosh - libterm-readkey-perl - pkg-config - python3-pip - software-properties-common - zsh become: yes - hosts: all roles: - dotfiles - zsh - hosts: all tasks: - name: create home dirs file: path: "{{ item }}" state: directory with_items: - src - tmp - name: install Ansible block: - apt_repository: repo: ppa:ansible/ansible become: yes - apt: name: ansible update_cache: yes become: yes - name: install Ruby block: - stat: path=/usr/local/bin/chruby-exec register: chruby - import_tasks: 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 - name: install Rust block: - 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 - name: set up JS dev environment import_playbook: js.yml - name: install fzf block: - git: repo: https://github.com/junegunn/fzf.git dest: ~/.fzf - command: ~/.fzf/install - name: link .zshrc.local file: src: ~/.dotfiles/ansible/irregular-apocalypse/.zshrc.local dest: ~/.zshrc.local state: link