[meta] irregular apocalypse ruby/rust installation updates
diff --git a/ansible/irregular-apocalypse.yml b/ansible/irregular-apocalypse.yml
index ce7094d1..a880529a 100644
--- a/ansible/irregular-apocalypse.yml
+++ b/ansible/irregular-apocalypse.yml
@@ -27,6 +27,16 @@
- dotfiles
- zsh
+- hosts: all
+ name: create home dirs
+ tasks:
+ - file:
+ path: "{{ item }}"
+ state: directory
+ with_items:
+ - src
+ - tmp
+
- hosts: all
name: install Ansible
tasks:
@@ -48,7 +58,7 @@
version: 0.3.9
when: chruby.stat.exists == False
- - stat: path=/usr/bin/local/ruby-install
+ - stat: path=/usr/local/bin/ruby-install
register: ruby_install
- import_tasks: irregular-apocalypse/ruby-install.yml
vars:
@@ -59,3 +69,26 @@
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
diff --git a/ansible/irregular-apocalypse/chruby.yml b/ansible/irregular-apocalypse/chruby.yml
index 33715730..0366adf5 100644
--- a/ansible/irregular-apocalypse/chruby.yml
+++ b/ansible/irregular-apocalypse/chruby.yml
@@ -1,21 +1,17 @@
-- name: create ~/src
- file:
- path: ~/src
- state: directory
-
- name: download chruby
get_url:
url: https://github.com/postmodern/chruby/archive/v{{ version }}.tar.gz
- dest: ~/src/chruby-{{ version }}.tar.gz
+ dest: ~/tmp/chruby-{{ version }}.tar.gz
+ force: yes
- name: extract chruby
unarchive:
- src: ~/src/chruby-{{ version }}.tar.gz
- dest: ~/src
- remote_src: yes
+ tmp: ~/tmp/chruby-{{ version }}.tar.gz
+ dest: ~/tmp
+ remote_tmp: yes
- name: install chruby
command: make install
args:
- chdir: "{{ ansible_env.HOME }}/src/chruby-{{ version }}"
+ chdir: "{{ ansible_env.HOME }}/tmp/chruby-{{ version }}"
become: yes
diff --git a/ansible/irregular-apocalypse/ruby-install.yml b/ansible/irregular-apocalypse/ruby-install.yml
index c0650d14..bd4994ad 100644
--- a/ansible/irregular-apocalypse/ruby-install.yml
+++ b/ansible/irregular-apocalypse/ruby-install.yml
@@ -1,16 +1,17 @@
- name: download ruby-install
get_url:
url: https://github.com/postmodern/ruby-install/archive/v{{ version }}.tar.gz
- dest: ~/src/ruby-install-{{ version }}.tar.gz
+ dest: ~/tmp/ruby-install-{{ version }}.tar.gz
+ force: yes
- name: extract ruby-install
unarchive:
- src: ~/src/ruby-install-{{ version }}.tar.gz
- dest: ~/src
- remote_src: yes
+ tmp: ~/tmp/ruby-install-{{ version }}.tar.gz
+ dest: ~/tmp
+ remote_tmp: yes
- name: install ruby-install
command: make install
args:
- chdir: "{{ ansible_env.HOME }}/src/ruby-install-{{ version }}"
+ chdir: "{{ ansible_env.HOME }}/tmp/ruby-install-{{ version }}"
become: yes
diff --git a/ansible/irregular-apocalypse/rustup.yml b/ansible/irregular-apocalypse/rustup.yml
new file mode 100644
index 00000000..a98b1d42
--- /dev/null
+++ b/ansible/irregular-apocalypse/rustup.yml
@@ -0,0 +1,9 @@
+- name: download rustup
+ get_url:
+ url: https://sh.rustup.rs
+ dest: ~/tmp/rustup-init.sh
+ force: yes
+ mode: a+x
+
+- name: install rustup
+ command: ~/tmp/rustup-init.sh -y