--- - name: Linux Installation Meines PCs. remote_user: ansi hosts: all become: true vars_files: - ./vars/user_config.yaml - ./vars/Programm_liste.yaml - ./vars/benutzer_daten.yml tasks: - name: Erreichbarkeit des Ziels Prüfen. tags: connect ansible.builtin.ping: - name: Erstellung Meines Benutzers. tags: Benutzer_erstellen ansible.builtin.user: append: true create_home: true name: "{{ user_name }}" shell: "{{ user_shell }}" groups: "{{ user_groups }}" password: "{{ user_password | password_hash('sha256') }}" update_password: on_create - name: Installation von Grundpaketen. tags: IQP become: true block: - name: Aktiviere von Corps become: true community.general.copr: host: copr.fedorainfracloud.org state: enabled name: "{{ item }}" loop: "{{ Corps }}" - name: Import GPG Keys. ansible.builtin.rpm_key: key: "{{ item }}" state: present loop: "{{ rpm_keys }}" - name: Transfer .repo file für Codium ansible.builtin.copy: src: ./files/vscodium.repo dest: /etc/yum.repos.d/ mode: u+rw,g+r,o+r owner: root group: root - name: Install RPM Fusion ansible.builtin.dnf: name: "{{ item }}" state: present loop: "{{ RPMs }}" - name: Installation von DNF Paketen. ansible.builtin.dnf: update_cache: true name: "{{ item }}" loop: "{{ dnf_Pakete }}" - name: Hinzufügen von der Quelle flathub. become_user: "{{ user_name }}" become: true community.general.flatpak_remote: name: flathub state: present flatpakrepo_url: https://dl.flathub.org/repo/flathub.flatpakrepo method: user - name: Installation von Paketen über Flathub mittels Flatpak. become_user: "{{ user_name }}" become: true community.general.flatpak: executable: flatpak method: user name: "{{ item }}" remote: flathub state: present loop: "{{ flatpaks }}" - name: Einrichtung des Desktop Environment tags: DE block: - name: Wechsel des default Target ansible.builtin.command: cmd: systemctl set-default graphical.target changed_when: true - name: Wechsel auf SDDM ansible.builtin.systemd_service: enabled: true force: true name: sddm.service state: started - name: Wechsel in die GUI ansible.builtin.command: cmd: systemctl isolate graphical.target - name: Terminal Anpassungen. tags: TA block: - name: Erstellung des Temp Ordners. ansible.builtin.file: state: directory path: /tmp/install/ owner: "{{ user_name }}" group: "{{ user_name }}" mode: u=rwx,go=rw - name: Download des Oh-My-Posh Installationsscript ansible.builtin.get_url: url: https://ohmyposh.dev/install.sh dest: /tmp/install/ owner: "{{ user_name }}" group: "{{ user_name }}" mode: "{{ user_mode }}" - name: Installation von Oh-My-Posh. ansible.builtin.shell: cmd: su - pan -c /tmp/install/install.sh args: creates: /var/log/taskrunner.done - name: Ordner für Font installer erstellen ansible.builtin.file: state: directory path: /tmp/install/font/ mode: u=rwx,g=rw,o=rw owner: "{{ user_name }}" group: "{{ user_name }}" - name: Download der font ansible.builtin.get_url: url: https://github.com/ryanoasis/nerd-fonts/releases/download/v3.4.0/FiraCode.zip dest: /tmp/install/font/FiraCode.zip mode: ug+rwx owner: "{{ user_name }}" group: "{{ user_name }}" tags: omp - name: Erstellung des Fonts Ordners. ansible.builtin.file: path: /usr/share/fonts/nerd-fonts state: directory mode: "0755" become: true - name: Entpacken der Fire Nerd Font. ansible.builtin.unarchive: src: /tmp/install/font/FiraCode.zip dest: /usr/share/fonts/nerd-fonts remote_src: true creates: /usr/share/fonts/nerd-fonts/FiraCode-Regular.ttf - name: Installation des Fira Nerd Fonts. ansible.builtin.shell: cmd: fc-cache -fv become: true args: creates: /var/log/taskrunner.done tags: omp - name: Konfigurationsdateien anlegen tags: konfs block: - name: Erstellung des Konfigurationsorder für Alacritty. ansible.builtin.file: path: /home/{{ user_name }}/{{ item }} state: directory owner: "{{ user_name }}" group: "{{ user_name }}" mode: "{{ user_mode }}" loop: - .config/alacritty - .config/oh-my-posh - name: Übertragung der Konfigurationsdatei für Alacritty. ansible.builtin.copy: dest: /home/{{ user_name }}/.config/alacritty/ src: "{{ alacritty_conf }}" owner: "{{ user_name }}" group: "{{ user_name }}" mode: u=rw - name: Übertragung des Oh-My-Posh Theme ansible.builtin.copy: dest: /home/{{ user_name }}/.config/oh-my-posh/ src: "{{ omp_themes }}" owner: "{{ user_name }}" group: "{{ user_name }}" mode: u=rw,g=r,o=r - name: Transfer der Bashrc Datei. ansible.builtin.copy: dest: "{{ user_home_path }}" src: "{{ bashrc_conf }}" owner: "{{ user_name }}" group: "{{ user_name }}" mode: u=rw,g=r,o=r - name: Aufräumarbeiten tags: Aufr block: - name: Aufräumen des tmp pfads ansible.builtin.file: state: absent path: /tmp/install/