--- - name: Deploy workstation hosts: localhost connection: local become: true become_method: ansible.builtin.sudo vars_files: - ../vars/defaults.yml roles: - cups - firefox - git - google_chrome - kerberos - ldap - lm_sensors - lynx - mutt - rpmfusion_nonfree_repo - signal - spotify - ssh_known_hosts - thinlinc - thunderbird tasks: - name: Check hostname ansible.builtin.command: argv: - hostnamectl - hostname - --static register: hostname_check changed_when: false - name: Set random hostname ansible.builtin.command: argv: - hostnamectl - hostname - --static - >- {{ lookup( 'password', '/dev/null chars=ascii_lowercase,digits length=4' ) }} register: result changed_when: result.rc == 0 when: not hostname_check.stdout - name: Remove unneeded packages ansible.builtin.package: name: "{{ item }}" state: absent with_items: - abrt - mlocate - nano-default-editor - name: Install development tools ansible.builtin.dnf: name: - "@c-development" - "@development-tools" state: installed - name: Install extra packages ansible.builtin.package: name: "{{ item }}" state: installed with_items: - brasero # cd/dvd writing - cheese # webcam support - emacs # more editors - gimp # image editor - gstreamer1-plugin-openh264 # h264 plugin for browser - libvirt-client # virsh client tools - nmap # networking tools - nwipe # dban like disk erase - podman-docker # add docker compatibility - python3-ansible-lint # linter for ansible - python3-pip # python package manager - ShellCheck # check shell scripts for errors - steam # for gaming - strace # program debugging - sysstat # iostat etc... - telegram-desktop # telegram client - telnet # connection testing - vim # better vi - virt-manager # manage virtual machines - yamllint # linter for yaml files - name: Check for NVIDIA GPU ansible.builtin.shell: cmd: | set -o pipefail lspci -d '0x10de:' -n | grep -E '^[0-9]+:[0-9]+\.[0-9]+ 0300:' register: nvidia_check failed_when: false check_mode: false changed_when: false - name: Install NVIDIA GPU drivers ansible.builtin.include_role: name: nvidia_driver when: nvidia_check.rc == 0 - name: Disable ksshaskpass ansible.builtin.copy: dest: "/etc/profile.d/zz_sshaskpass.{{ item }}" content: "unset SSH_ASKPASS\n" mode: "0644" owner: root group: "{{ ansible_wheel }}" with_items: - csh - sh - name: Hide GRUB menu during boot ansible.builtin.lineinfile: path: /etc/default/grub line: GRUB_TIMEOUT_STYLE=hidden regexp: "^GRUB_TIMEOUT_STYLE=.*" notify: reconfigure grub handlers: - name: Reconfigure GRUB ansible.builtin.command: argv: - grub2-mkconfig - -o - /boot/grub2/grub.cfg register: result changed_when: result.rc == 0