--- - 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