Files
Meine-PC-Konfiguration/fedora.yml
2025-10-24 12:40:25 +02:00

230 lines
6.9 KiB
YAML

---
- name: Linux Installation Meines PCs.
remote_user: ansi
hosts: Mein-PC
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: Transfer der Konfigurationsdatei für die fesnterleiste
ansible.builtin.copy:
src: ./files/plasma-org.kde.plasma.desktop-appletsrc
dest: /home/{{ user_name }}/.config/
owner: "{{ user_name }}"
group: "{{ user_name }}"
mode: u+rw
- 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
- .config/fastfetch
- 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 des Fastfetch Theme
ansible.builtin.copy:
dest: /home/{{ user_name }}/.config/fastfetch/
src: "{{ fast_theme }}"
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/