new version after nix
This commit is contained in:
@@ -0,0 +1,119 @@
|
||||
---
|
||||
- name: List globally installed npm packages
|
||||
ansible.builtin.command: npm list --global --depth=0 --json
|
||||
register: npm_global_list
|
||||
changed_when: false
|
||||
failed_when: false
|
||||
|
||||
- name: Install global language servers and formatters
|
||||
ansible.builtin.command: "npm install --global {{ item }}"
|
||||
loop: "{{ npm_global_packages }}"
|
||||
when: item not in ((npm_global_list.stdout | default('{}', true) | from_json).dependencies | default({}))
|
||||
|
||||
- name: Check for rustup
|
||||
ansible.builtin.stat:
|
||||
path: "{{ user_home }}/.cargo/bin/rustup"
|
||||
become: false
|
||||
register: rustup_binary
|
||||
|
||||
- name: Download the official rustup installer
|
||||
ansible.builtin.get_url:
|
||||
url: https://sh.rustup.rs
|
||||
dest: /tmp/rustup-init.sh
|
||||
mode: "0755"
|
||||
when: not rustup_binary.stat.exists
|
||||
|
||||
- name: Install Rust stable with the official rustup installer
|
||||
ansible.builtin.command:
|
||||
argv:
|
||||
- /tmp/rustup-init.sh
|
||||
- -y
|
||||
- --default-toolchain
|
||||
- stable
|
||||
- --profile
|
||||
- default
|
||||
environment:
|
||||
HOME: "{{ user_home }}"
|
||||
become: false
|
||||
when: not rustup_binary.stat.exists
|
||||
|
||||
- name: Remove the rustup installer
|
||||
ansible.builtin.file:
|
||||
path: /tmp/rustup-init.sh
|
||||
state: absent
|
||||
|
||||
- name: Check the active Rust toolchain
|
||||
ansible.builtin.command: "{{ user_home }}/.cargo/bin/rustup show active-toolchain"
|
||||
become: false
|
||||
register: active_rust_toolchain
|
||||
changed_when: false
|
||||
failed_when: false
|
||||
|
||||
- name: Select the Rust stable toolchain
|
||||
ansible.builtin.command: "{{ user_home }}/.cargo/bin/rustup default stable"
|
||||
become: false
|
||||
when: active_rust_toolchain.rc != 0 or not active_rust_toolchain.stdout.startswith('stable-')
|
||||
|
||||
- name: List installed rustup components
|
||||
ansible.builtin.command: "{{ user_home }}/.cargo/bin/rustup component list --installed"
|
||||
become: false
|
||||
register: installed_rustup_components
|
||||
changed_when: false
|
||||
|
||||
- name: Install Rust development components
|
||||
ansible.builtin.command: "{{ user_home }}/.cargo/bin/rustup component add {{ item }}"
|
||||
loop: "{{ rustup_components }}"
|
||||
become: false
|
||||
when: installed_rustup_components.stdout_lines | select('match', '^' ~ item ~ '(-|$)') | list | length == 0
|
||||
|
||||
- name: Check for StyLua
|
||||
ansible.builtin.stat:
|
||||
path: "{{ user_home }}/.cargo/bin/stylua"
|
||||
become: false
|
||||
register: stylua_binary
|
||||
|
||||
- name: Install StyLua
|
||||
ansible.builtin.command: "{{ user_home }}/.cargo/bin/cargo install stylua --locked"
|
||||
become: false
|
||||
when: not stylua_binary.stat.exists
|
||||
|
||||
- name: Check for Starship
|
||||
ansible.builtin.stat:
|
||||
path: "{{ user_home }}/.local/bin/starship"
|
||||
become: false
|
||||
register: starship_binary
|
||||
|
||||
- name: Download the Starship installer
|
||||
ansible.builtin.get_url:
|
||||
url: https://starship.rs/install.sh
|
||||
dest: /tmp/starship-install.sh
|
||||
mode: "0755"
|
||||
when: not starship_binary.stat.exists
|
||||
|
||||
- name: Install Starship for the workstation user
|
||||
ansible.builtin.command:
|
||||
argv:
|
||||
- /tmp/starship-install.sh
|
||||
- --yes
|
||||
- --bin-dir
|
||||
- "{{ user_home }}/.local/bin"
|
||||
become: false
|
||||
when: not starship_binary.stat.exists
|
||||
|
||||
- name: Check for Bun
|
||||
ansible.builtin.stat:
|
||||
path: "{{ user_home }}/.bun/bin/bun"
|
||||
become: false
|
||||
register: bun_binary
|
||||
|
||||
- name: Download the Bun installer
|
||||
ansible.builtin.get_url:
|
||||
url: https://bun.sh/install
|
||||
dest: /tmp/bun-install.sh
|
||||
mode: "0755"
|
||||
when: not bun_binary.stat.exists
|
||||
|
||||
- name: Install Bun for the workstation user
|
||||
ansible.builtin.command: /tmp/bun-install.sh
|
||||
become: false
|
||||
when: not bun_binary.stat.exists
|
||||
Reference in New Issue
Block a user