186 lines
6.1 KiB
YAML
186 lines
6.1 KiB
YAML
---
|
|
- name: "Konfigurer Stargate: Atlantis Hyprland Desktop"
|
|
hosts: localhost
|
|
connection: local
|
|
become: true # De fleste opgaver kræver root
|
|
|
|
# Definer variabler for at gøre playbook'en genbrugelig
|
|
vars:
|
|
vault_username: !vault |
|
|
$ANSIBLE_VAULT;1.1;AES256
|
|
61396435643466353531373139343364613266303130323533306461316333313631363130373465
|
|
6632663034376535663566353661366132656539326566320a323734313061303131623962303339
|
|
66333664613636653362316133666561353039623961393930346661613064306234326161343030
|
|
3335353266393066320a336233366636633566363566613866613263303362656464353166346237
|
|
3236
|
|
|
|
username: "{{ vault_username }}" # ERSTAT med det brugernavn du oprettede i Arch-installationen.
|
|
# Hvis du ikke har brug for at kryptere dit brugernavn kan du skrive det direkte i her.
|
|
aur_helper: "yay" # Vi bruger yay til AUR pakker
|
|
|
|
tasks:
|
|
- name: "SYSTEM :: Opdater systemet"
|
|
community.general.pacman:
|
|
update_cache: true
|
|
upgrade: true
|
|
|
|
- name: "SYSTEM :: Installer AUR helper ({{ aur_helper }})"
|
|
block:
|
|
- name: "Installer base-devel og git"
|
|
community.general.pacman:
|
|
name:
|
|
- base-devel
|
|
- git
|
|
state: present
|
|
|
|
- name: "Klon, byg og installer {{ aur_helper }}"
|
|
become: true
|
|
become_user: "{{ username }}"
|
|
ansible.builtin.shell: |
|
|
cd /tmp
|
|
git clone https://aur.archlinux.org/{{ aur_helper }}.git
|
|
cd {{ aur_helper }}
|
|
makepkg -si --noconfirm
|
|
args:
|
|
creates: "/usr/bin/{{ aur_helper }}"
|
|
|
|
- name: "PAKKER :: Installer alle nødvendige pakker fra Pacman og AUR"
|
|
kewlfft.aur.aur:
|
|
use: "{{ aur_helper }}"
|
|
name:
|
|
# Hyprland og Wayland
|
|
- hyprland
|
|
- xdg-desktop-portal-hyprland
|
|
- kitty # Terminal
|
|
- waybar # Statuslinje
|
|
- wofi # App starter
|
|
- mako # Notifikationer
|
|
- swaybg # Baggrund
|
|
- polkit-kde-agent
|
|
- qt5-wayland
|
|
- qt6-wayland
|
|
# Skrifttyper & Tema
|
|
- ttf-font-awesome
|
|
- ttf-jetbrains-mono-nerd
|
|
- noto-fonts
|
|
# Værktøjer
|
|
- grim # Screenshot værktøj
|
|
- slurp # Område-vælger til screenshots
|
|
- network-manager-applet # Til Waybar tray
|
|
- hyprpaper
|
|
- sddm
|
|
- firefox # Browser
|
|
- ufw # Firewall
|
|
state: present
|
|
|
|
- name: "BRUGER :: Opret konfigurationsmapper"
|
|
become: true
|
|
become_user: "{{ username }}"
|
|
ansible.builtin.file:
|
|
path: "/home/{{ username }}/.config/{{ item }}"
|
|
state: directory
|
|
mode: '0755'
|
|
loop:
|
|
- hypr
|
|
- kitty
|
|
- waybar
|
|
- mako
|
|
- wofi
|
|
|
|
- name: "DOTFILES :: Kopier skabeloner til brugerens .config"
|
|
become: true
|
|
become_user: "{{ username }}"
|
|
ansible.builtin.template:
|
|
src: "templates/{{ item.src }}"
|
|
dest: "/home/{{ username }}/.config/{{ item.dest }}"
|
|
mode: '0644'
|
|
loop:
|
|
- { src: 'hyprland.conf.j2', dest: 'hypr/hyprland.conf' }
|
|
- { src: 'kitty.conf.j2', dest: 'kitty/kitty.conf' }
|
|
- { src: 'waybar-config.j2', dest: 'waybar/config' }
|
|
- { src: 'waybar-style.css.j2', dest: 'waybar/style.css' }
|
|
|
|
- name: "TEMA :: Installer Atlantis skrifttype"
|
|
ansible.builtin.copy:
|
|
src: "files/fonts/"
|
|
dest: "/home/{{ username }}/.local/share/fonts/"
|
|
mode: '0644'
|
|
notify: Opdater font cache
|
|
|
|
- name: "BRUGER :: Opret Pictures-mappen" # <--- TILFØJ DENNE NYE OPGAVE
|
|
become: true
|
|
become_user: "{{ username }}"
|
|
ansible.builtin.file:
|
|
path: "/home/{{ username }}/Pictures"
|
|
state: directory
|
|
mode: '0755'
|
|
|
|
- name: "TEMA :: Kopier Atlantis baggrundsbillede"
|
|
become: true
|
|
become_user: "{{ username }}"
|
|
ansible.builtin.copy:
|
|
src: "files/wallpapers/atlantis_wallpaper.jpg"
|
|
dest: "/home/{{ username }}/Pictures/atlantis-wallpaper.jpg"
|
|
mode: '0644'
|
|
|
|
- name: "TEMA :: Kopier hyprpaper konfiguration"
|
|
become: true
|
|
become_user: "{{ username }}"
|
|
ansible.builtin.template:
|
|
src: "templates/hyprpaper.conf.j2"
|
|
dest: "/home/{{ username }}/.config/hypr/hyprpaper.conf"
|
|
mode: '0644'
|
|
|
|
- name: "KEYBINDING SCRIPT :: Opret keybinding cheat sheet script fra template"
|
|
become: true
|
|
become_user: "{{ username }}"
|
|
ansible.builtin.template:
|
|
src: "templates/hypr-keys.sh.j2"
|
|
dest: "/home/{{ username }}/.local/bin/hypr-keys.sh"
|
|
mode: '0755'
|
|
|
|
|
|
- name: "FIREWALL :: Konfigurer UFW's standardpolitikker"
|
|
tags: firewall
|
|
block:
|
|
- name: "Sæt standard for indgående trafik til 'deny'"
|
|
community.general.ufw:
|
|
policy: deny
|
|
direction: incoming
|
|
|
|
- name: "Sæt standard for udgående trafik til 'allow'"
|
|
community.general.ufw:
|
|
policy: allow
|
|
direction: outgoing
|
|
|
|
# Hvis du har brug for ssh så tilføj følgende regel og tilføj OpenSSH til installations listen
|
|
# - name: "FIREWALL :: Tillad SSH-forbindelser (vigtigt for fjernadgang)"
|
|
# community.general.ufw:
|
|
# rule: allow
|
|
# name: OpenSSH # Bruger UFW's applikationsprofil for SSH
|
|
# tags: firewall
|
|
|
|
- name: "FIREWALL :: Aktiver og start UFW service"
|
|
community.general.ufw:
|
|
state: enabled # Dette aktiverer firewallen, så den starter ved boot
|
|
tags: firewall
|
|
|
|
- name: "SERVICES :: Aktiver NetworkManager"
|
|
ansible.builtin.systemd:
|
|
name: NetworkManager
|
|
enabled: true
|
|
state: started
|
|
|
|
- name: "SERVICES :: Aktiver Display Manager (SDDM)"
|
|
ansible.builtin.systemd:
|
|
name: sddm.service
|
|
enabled: true
|
|
|
|
# Handlers køres kun hvis en opgave 'notifierer' dem
|
|
handlers:
|
|
- name: Opdater font cache
|
|
ansible.builtin.command: fc-cache -fv
|
|
become: true
|
|
become_user: "{{ username }}"
|
|
changed_when: false
|