machine_setup/ansible/roles/rust/tasks/peruser_linux.yaml

53 lines
1.9 KiB
YAML

- name: Set nightly as the default toolchain
command: "rustup default nightly-{{ rust_date }}"
args:
creates: "{{ account_homedir.stdout }}/.rustup/toolchains/nightly-{{ rust_date }}-x86_64-unknown-linux-gnu"
- name: Install targets
command: rustup target add "{{ item }}"
args:
creates: "{{ account_homedir.stdout }}/.rustup/toolchains/nightly-{{ rust_date }}-x86_64-unknown-linux-gnu/lib/rustlib/{{ item }}"
loop:
- x86_64-unknown-linux-musl
- wasm32-unknown-unknown
# Needed by rust-analyzer (rust-analyzer will attempt to install via rustup on its own, but this will install it manually).
- name: Install the nightly rust-src
command: rustup component add rust-src
args:
creates: "{{ account_homedir.stdout }}/.rustup/toolchains/nightly-{{ rust_date }}-x86_64-unknown-linux-gnu/lib/rustlib/manifest-rust-src"
- name: Install clippy
command: rustup component add clippy
args:
creates: "{{ account_homedir.stdout }}/.rustup/toolchains/nightly-{{ rust_date }}-x86_64-unknown-linux-gnu/bin/cargo-clippy"
- name: Install cranelift
command: rustup component add rustc-codegen-cranelift
args:
creates: "{{ account_homedir.stdout }}/.rustup/toolchains/nightly-{{ rust_date }}-x86_64-unknown-linux-gnu/lib/rustlib/manifest-rustc-codegen-cranelift-preview-x86_64-unknown-linux-gnu"
- name: Create directories
file:
name: "{{ account_homedir.stdout }}/{{ item }}"
state: directory
mode: 0755
owner: "{{ account_name.stdout }}"
group: "{{ group_name.stdout }}"
loop:
- .cargo
- name: Copy files
no_log: true
copy:
src: "files/{{ item.src }}"
dest: "{{ account_homedir.stdout }}/{{ item.dest }}"
mode: 0600
owner: "{{ account_name.stdout }}"
group: "{{ group_name.stdout }}"
loop:
- src: cargo_credentials.toml
dest: .cargo/credentials.toml
- src: cargo_config.toml
dest: .cargo/config.toml