79 lines
3.4 KiB
YAML
79 lines
3.4 KiB
YAML
---
|
|
- name: Prepare System
|
|
hosts: all
|
|
become: true
|
|
gather_facts: true
|
|
any_errors_fatal: true
|
|
pre_tasks:
|
|
- name: Pausing for 2 seconds...
|
|
ansible.builtin.pause:
|
|
seconds: 2
|
|
tasks:
|
|
- name: Packages
|
|
block:
|
|
- name: Packages | Add fish key
|
|
ansible.builtin.get_url:
|
|
url: https://download.opensuse.org/repositories/shells:fish:release:3/Debian_12/Release.key
|
|
dest: /etc/apt/trusted.gpg.d/fish.asc
|
|
owner: root
|
|
group: root
|
|
mode: "0644"
|
|
- name: Packages | Add fish repository
|
|
ansible.builtin.apt_repository:
|
|
repo: deb [signed-by=/etc/apt/trusted.gpg.d/fish.asc] http://download.opensuse.org/repositories/shells:/fish:/release:/3/Debian_12/ /
|
|
filename: fish
|
|
update_cache: true
|
|
- name: Packages | Add non-free repository
|
|
ansible.builtin.apt_repository:
|
|
repo: deb http://deb.debian.org/debian/ stable main contrib non-free
|
|
filename: non-free
|
|
update_cache: true
|
|
- name: Packages | Install
|
|
ansible.builtin.apt:
|
|
name: i965-va-driver-shaders,apt-transport-https,ca-certificates,conntrack,curl,dirmngr,fish,gdisk,
|
|
gnupg,hdparm,htop,intel-gpu-tools,intel-media-va-driver-non-free,iperf3,iptables,iputils-ping,ipvsadm,
|
|
libseccomp2,lm-sensors,neofetch,net-tools,nfs-common,nvme-cli,open-iscsi,parted,psmisc,python3,
|
|
python3-apt,python3-openshift,python3-kubernetes,python3-yaml,smartmontools,socat,software-properties-common,
|
|
unzip,util-linux
|
|
install_recommends: false
|
|
- name: User Configuration
|
|
block:
|
|
- name: User Configuration | SSH keys
|
|
ansible.posix.authorized_key:
|
|
user: "{{ ansible_user }}"
|
|
key: "https://github.com/{{ github_username }}.keys"
|
|
- name: User Configuration | Silence login
|
|
ansible.builtin.file:
|
|
dest: "{{ '/home/' + ansible_user if ansible_user != 'root' else '/root' }}/.hushlogin"
|
|
state: touch
|
|
owner: "{{ ansible_user }}"
|
|
group: "{{ ansible_user }}"
|
|
mode: "0644"
|
|
modification_time: preserve
|
|
access_time: preserve
|
|
- name: User Configuration | Add user to sudoers
|
|
when: ansible_user != 'root'
|
|
ansible.builtin.copy:
|
|
content: "{{ ansible_user }} ALL=(ALL:ALL) NOPASSWD:ALL"
|
|
dest: "/etc/sudoers.d/{{ ansible_user }}"
|
|
owner: root
|
|
group: root
|
|
mode: "0440"
|
|
- name: User Configuration | Fish shell (1)
|
|
ansible.builtin.user:
|
|
name: "{{ ansible_user }}"
|
|
shell: /usr/bin/fish
|
|
- name: User Configuration | Fish shell (2)
|
|
ansible.builtin.file:
|
|
path: "{{ '/home/' + ansible_user if ansible_user != 'root' else '/root' }}/.config/fish/functions"
|
|
state: directory
|
|
owner: "{{ ansible_user }}"
|
|
group: "{{ ansible_user }}"
|
|
recurse: true
|
|
- name: User Configuration | Fish shell (3)
|
|
ansible.builtin.copy:
|
|
dest: "{{ '/home/' + ansible_user if ansible_user != 'root' else '/root' }}/.config/fish/functions/fish_greeting.fish"
|
|
owner: "{{ ansible_user }}"
|
|
group: "{{ ansible_user }}"
|
|
mode: "0755"
|
|
content: neofetch --config none
|