desktop-config/roles/desktop-environment/tasks/hyprland.yml

231 lines
5.9 KiB
YAML
Raw Normal View History

2024-06-19 23:05:24 +02:00
- name: Set apt default-release to "testing"
become: yes
copy:
src: "{{ role_path }}/files/20-tum.conf"
dest: "/etc/apt/apt.conf.d/20-tum.conf"
- name: Add unstable repository
become: yes
ansible.builtin.apt_repository:
repo: deb http://deb.debian.org/debian unstable main contrib non-free-firmware
state: present
update_cache: true
2024-10-05 16:49:38 +02:00
- name: Install build dependencies
2024-02-25 20:30:31 +01:00
become: yes
apt:
state: latest
install_recommends: false
name:
# General
- build-essential
- cmake
- meson
2024-10-05 16:49:38 +02:00
# Aquamarine
- hwdata
- libdrm-dev
- libseat-dev
- libinput-dev
- libgbm-dev
- libdisplay-info-dev
- libegl-dev
- libgles2-mesa-dev
- wayland-protocols
2024-10-06 21:38:05 +02:00
- libwayland-dev
# hyprland-scanner
- libpugixml-dev
# hyprcursor
- libzip-dev
- librsvg2-dev
2024-05-03 21:56:50 +02:00
- libxcb-util-dev
2024-02-25 20:30:31 +01:00
# Hyprland
- libpango1.0-dev
- libtomlplusplus-dev
- uuid-dev
2024-06-19 23:05:24 +02:00
- libxcb-errors-dev
2024-08-12 20:05:38 +02:00
- libxcursor-dev
2024-10-05 16:49:38 +02:00
- libxkbcommon-dev
- libxcb1-dev
- libxcb-icccm4-dev
- libxcb-xfixes0-dev
- libxcb-composite0-dev
- libxcb-res0-dev
2024-10-05 17:17:25 +02:00
- xwayland
2024-02-25 20:30:31 +01:00
# xdg-desktop-portal-hyprland
- qt6-base-dev
2024-02-25 20:30:31 +01:00
- libspa-0.2-dev
- libpipewire-0.3-dev
2024-10-05 16:49:38 +02:00
- libsdbus-c++-dev
2024-02-25 20:30:31 +01:00
- name: Create source folders
become: yes
file:
path: "/usr/local/src/{{ item }}"
state: directory
owner: "{{ ansible_user_id }}"
group: "{{ ansible_user_id }}"
loop:
2024-06-19 23:05:24 +02:00
- "hyprutils"
- "hyprwayland-scanner"
2024-02-25 20:30:31 +01:00
- "Hyprland"
- "hyprlang"
- "hyprcursor"
2024-02-25 20:30:31 +01:00
- "xdg-desktop-portal-hyprland"
2024-08-12 20:05:38 +02:00
- "Aquamarine"
2024-02-25 20:30:31 +01:00
2024-06-19 23:05:24 +02:00
- name: Checkout hyprutils repo
ansible.builtin.git:
repo: 'https://github.com/hyprwm/hyprutils.git'
dest: /usr/local/src/hyprutils
2024-10-10 23:02:59 +02:00
version: v0.2.3
2024-06-19 23:05:24 +02:00
force: true
recursive: true
- name: Checkout hyprwayland-scanner repo
ansible.builtin.git:
repo: 'https://github.com/hyprwm/hyprwayland-scanner.git'
dest: /usr/local/src/hyprwayland-scanner
2024-10-05 16:49:38 +02:00
version: v0.4.2
2024-02-25 20:30:31 +01:00
force: true
recursive: true
- name: Checkout hyprlang repo
ansible.builtin.git:
repo: 'https://github.com/hyprwm/hyprlang.git'
dest: /usr/local/src/hyprlang
2024-06-19 23:05:24 +02:00
version: v0.5.2
force: true
recursive: true
- name: Checkout hyprcursor repo
ansible.builtin.git:
repo: 'https://github.com/hyprwm/hyprcursor.git'
dest: /usr/local/src/hyprcursor
2024-06-19 23:05:24 +02:00
version: v0.1.9
2024-02-25 20:30:31 +01:00
force: true
recursive: true
- name: Checkout xdg-desktop-portal-hyprland repo
ansible.builtin.git:
repo: 'https://github.com/hyprwm/xdg-desktop-portal-hyprland.git'
dest: /usr/local/src/xdg-desktop-portal-hyprland
2024-10-05 16:49:38 +02:00
version: v1.3.6
2024-08-12 20:05:38 +02:00
force: true
recursive: true
- name: Checkout Aquamarine repo
ansible.builtin.git:
repo: 'https://github.com/hyprwm/aquamarine.git'
dest: /usr/local/src/Aquamarine
version: v0.3.1
force: true
recursive: true
- name: Checkout Hyprland repo
ansible.builtin.git:
repo: 'https://github.com/hyprwm/Hyprland.git'
dest: /usr/local/src/Hyprland
2024-10-10 23:02:59 +02:00
version: v0.44.1
2024-02-25 20:30:31 +01:00
force: true
recursive: true
2024-06-19 23:05:24 +02:00
- name: Build hyprutils
ansible.builtin.command:
cmd: "{{ item }}"
chdir: /usr/local/src/hyprutils
loop:
- "cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -S . -B ./build"
- "cmake --build ./build --config Release --target all"
- name: Install hyprutils
become: yes
ansible.builtin.command:
cmd: "cmake --install build"
chdir: /usr/local/src/hyprutils
- name: Build hyprwayland-scanner
ansible.builtin.command:
cmd: "{{ item }}"
chdir: /usr/local/src/hyprwayland-scanner
loop:
- "cmake -DCMAKE_INSTALL_PREFIX=/usr -B build"
- "cmake --build build"
- name: Install hyprwayland-scanner
become: yes
ansible.builtin.command:
cmd: "cmake --install build"
chdir: /usr/local/src/hyprwayland-scanner
2024-02-25 20:30:31 +01:00
- name: Build hyprlang
ansible.builtin.command:
cmd: "{{ item }}"
chdir: /usr/local/src/hyprlang
loop:
- "cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -S . -B build"
- "cmake --build build --config Release --target hyprlang"
- name: Install hyprlang
become: yes
ansible.builtin.command:
cmd: "cmake --install build"
chdir: /usr/local/src/hyprlang
- name: Build hyprcursor
ansible.builtin.command:
cmd: "{{ item }}"
chdir: /usr/local/src/hyprcursor
loop:
- "cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -S . -B ./build"
- "cmake --build build --config Release --target all"
- name: Install hyprcursor
become: yes
ansible.builtin.command:
cmd: "cmake --install build"
chdir: /usr/local/src/hyprcursor
2024-08-12 20:05:38 +02:00
- name: Build Aquamarine
ansible.builtin.command:
cmd: "{{ item }}"
chdir: /usr/local/src/Aquamarine
loop:
- "cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -S . -B ./build"
- "cmake --build ./build --config Release --target all"
- name: Install Aquamarine
become: yes
ansible.builtin.command:
cmd: "cmake --install build"
chdir: /usr/local/src/Aquamarine
- name: Build Hyprland
community.general.make:
chdir: /usr/local/src/Hyprland
target: all
- name: Install Hyprland
become: true
community.general.make:
chdir: /usr/local/src/Hyprland
target: install
2024-02-25 20:30:31 +01:00
- name: Build xdg-desktop-portal-hyprland
ansible.builtin.command:
cmd: "{{ item }}"
chdir: /usr/local/src/xdg-desktop-portal-hyprland
loop:
- "cmake -DCMAKE_INSTALL_LIBEXECDIR=/usr/lib -DCMAKE_INSTALL_PREFIX=/usr -B build"
- "cmake --build build"
- name: Install xdg-desktop-portal-hyprland
become: yes
ansible.builtin.command:
cmd: "cmake --install build"
chdir: /usr/local/src/xdg-desktop-portal-hyprland
- name: Reload systemd
ansible.builtin.systemd_service:
daemon_reload: true
scope: user