182 lines
5.4 KiB
YAML
182 lines
5.4 KiB
YAML
---
|
|
- name: Linux Installation Meines PCs.
|
|
remote_user: ansi
|
|
hosts: MeinTest
|
|
become: true
|
|
vars_files:
|
|
- ./vars/user_config.yaml
|
|
- ./vars/Programm_liste.yaml
|
|
- ./vars/benutzer_daten.yml
|
|
|
|
tasks:
|
|
- name: Erreichbarkeit des Ziels Prüfen.
|
|
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
|
|
block:
|
|
- name: Aktiviere von Corps
|
|
community.general.copr:
|
|
host: copr.fedorainfracloud.org
|
|
state: enabled
|
|
name: "{{ item }}"
|
|
loop: "{{ Corps }}"
|
|
|
|
- name: Installation von DNF Paketen.
|
|
ansible.builtin.dnf:
|
|
use_backend: dnf5
|
|
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
|
|
|
|
- name: Übertragung der Konfiguratonsdatei 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: 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 pfad
|
|
ansible.builtin.file:
|
|
state: absent
|
|
path: /tmp/install/
|