- name: "install necessary packagers" apt: name: - build-essential - cmake - curl - libssl-dev - pkg-config - name: "install Rust toolchain using rustup" shell: | set -eu if command -v rustup > /dev/null then sudo -u {{ rust_rustup_user }} rustup update else curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > /tmp/rustup.sh sudo -u {{ rust_rustup_user }} -i sh /tmp/rustup.sh -y --no-modify-path fi sudo -u {{ rust_rustup_user }} -i /home/{{ rust_rustup_user }}/.cargo/bin/rustup self update sudo -u {{ rust_rustup_user }} -i /home/{{ rust_rustup_user }}/.cargo/bin/rustup component add clippy \ rust-src rust-analyzer - name: "cargo install applications" when: rustup_cargo_install is defined shell: | sudo -i -u {{ rust_rustup_user }} sh -c '. $HOME/.cargo/env && cargo install {{ rustup_cargo_install }}'