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

165 lines
4.2 KiB
YAML

- name: Install build dependencies (1/2)
become: yes
apt:
state: build-dep
name:
- wlroots
- name: Install build dependencies (2/2)
become: yes
apt:
state: latest
install_recommends: false
name:
# General
- build-essential
- cmake
- meson
# hyprland-scanner
- libpugixml-dev
# hyprcursor
- libzip-dev
- librsvg2-dev
- libxcb-util-dev
# Hyprland
- libpango1.0-dev
- libtomlplusplus-dev
- uuid-dev
# xdg-desktop-portal-hyprland
#- qtbase5-dev
- qt6-base-dev
- libspa-0.2-dev
- libpipewire-0.3-dev
- name: Create source folders
become: yes
file:
path: "/usr/local/src/{{ item }}"
state: directory
owner: "{{ ansible_user_id }}"
group: "{{ ansible_user_id }}"
loop:
- "hyprwayland-scanner"
- "Hyprland"
- "hyprlang"
- "hyprcursor"
- "xdg-desktop-portal-hyprland"
- name: Checkout hyprwayland-scanner repo
ansible.builtin.git:
repo: 'https://github.com/hyprwm/hyprwayland-scanner.git'
dest: /usr/local/src/hyprwayland-scanner
version: v0.3.4
force: true
recursive: true
- name: Checkout Hyprland repo
ansible.builtin.git:
repo: 'https://github.com/hyprwm/Hyprland.git'
dest: /usr/local/src/Hyprland
version: v0.40.0
force: true
recursive: true
- name: Checkout hyprlang repo
ansible.builtin.git:
repo: 'https://github.com/hyprwm/hyprlang.git'
dest: /usr/local/src/hyprlang
version: v0.5.1
force: true
recursive: true
- name: Checkout hyprcursor repo
ansible.builtin.git:
repo: 'https://github.com/hyprwm/hyprcursor.git'
dest: /usr/local/src/hyprcursor
version: v0.1.8
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
version: master
force: true
recursive: true
- 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
- 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
- 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
- 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: Move xdg-desktop-portal-hyprland.service into place
become: yes
ansible.builtin.copy:
src: /usr/lib/x86_64-linux-gnu/systemd/user/xdg-desktop-portal-hyprland.service
dest: /usr/lib/systemd/user/xdg-desktop-portal-hyprland.service
- name: Reload systemd
ansible.builtin.systemd_service:
daemon_reload: true
scope: user