51 lines
1.3 KiB
YAML
51 lines
1.3 KiB
YAML
---
|
|
- hosts: all
|
|
tasks:
|
|
- name: Create default user
|
|
user:
|
|
name: "{{ default_user }}"
|
|
password: "{{ default_user_password | password_hash('sha512') }}"
|
|
groups: sudo
|
|
create_home: yes
|
|
shell: /bin/zsh
|
|
generate_ssh_key: yes
|
|
ssh_key_bits: 2048
|
|
ssh_key_file: .ssh/id_rsa
|
|
update_password: always
|
|
state: present
|
|
|
|
- name: Ensure sudo group has passwordless sudo privileges
|
|
lineinfile:
|
|
dest: /etc/sudoers
|
|
state: present
|
|
regexp: "^%sudo"
|
|
line: "%sudo ALL=(ALL) NOPASSWD:ALL"
|
|
validate: "/usr/sbin/visudo -cf %s"
|
|
|
|
- name: Upgrade apt packages
|
|
apt:
|
|
update_cache: yes
|
|
upgrade: full
|
|
|
|
- name: Install apt packages
|
|
apt:
|
|
name: "{{ packages_to_install }}"
|
|
|
|
- name: Get default user home
|
|
getent:
|
|
database: passwd
|
|
key: "{{ default_user }}"
|
|
split: ":"
|
|
|
|
- name: Set default user home
|
|
set_fact:
|
|
default_user_home: "{{ getent_passwd[default_user][4] }}"
|
|
|
|
- name: Install Rustup
|
|
shell: curl https://sh.rustup.rs -sSf | sh -s -- -y
|
|
args:
|
|
creates: "{{ default_user_home }}/.cargo/bin/rustup"
|
|
environment:
|
|
RUSTUP_HOME: "{{ default_user_home }}/.rustup"
|
|
CARGO_HOME: "{{ default_user_home }}/.cargo"
|