231 lines
5.9 KiB
YAML
231 lines
5.9 KiB
YAML
- 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
|
|
|
|
- name: Install build dependencies
|
|
become: yes
|
|
apt:
|
|
state: latest
|
|
install_recommends: false
|
|
name:
|
|
# General
|
|
- build-essential
|
|
- cmake
|
|
- meson
|
|
# Aquamarine
|
|
- hwdata
|
|
- libdrm-dev
|
|
- libseat-dev
|
|
- libinput-dev
|
|
- libgbm-dev
|
|
- libdisplay-info-dev
|
|
- libegl-dev
|
|
- libgles2-mesa-dev
|
|
- wayland-protocols
|
|
- libwayland-dev
|
|
# hyprland-scanner
|
|
- libpugixml-dev
|
|
# hyprcursor
|
|
- libzip-dev
|
|
- librsvg2-dev
|
|
- libxcb-util-dev
|
|
# Hyprland
|
|
- libpango1.0-dev
|
|
- libtomlplusplus-dev
|
|
- uuid-dev
|
|
- libxcb-errors-dev
|
|
- libxcursor-dev
|
|
- libxkbcommon-dev
|
|
- libxcb1-dev
|
|
- libxcb-icccm4-dev
|
|
- libxcb-xfixes0-dev
|
|
- libxcb-composite0-dev
|
|
- libxcb-res0-dev
|
|
- xwayland
|
|
# xdg-desktop-portal-hyprland
|
|
- qt6-base-dev
|
|
- libspa-0.2-dev
|
|
- libpipewire-0.3-dev
|
|
- libsdbus-c++-dev
|
|
|
|
- name: Create source folders
|
|
become: yes
|
|
file:
|
|
path: "/usr/local/src/{{ item }}"
|
|
state: directory
|
|
owner: "{{ ansible_user_id }}"
|
|
group: "{{ ansible_user_id }}"
|
|
loop:
|
|
- "hyprutils"
|
|
- "hyprwayland-scanner"
|
|
- "Hyprland"
|
|
- "hyprlang"
|
|
- "hyprcursor"
|
|
- "xdg-desktop-portal-hyprland"
|
|
- "Aquamarine"
|
|
|
|
- name: Checkout hyprutils repo
|
|
ansible.builtin.git:
|
|
repo: 'https://github.com/hyprwm/hyprutils.git'
|
|
dest: /usr/local/src/hyprutils
|
|
version: v0.2.3
|
|
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
|
|
version: v0.4.2
|
|
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.2
|
|
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.9
|
|
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: v1.3.6
|
|
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
|
|
version: v0.44.1
|
|
force: true
|
|
recursive: true
|
|
|
|
- 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
|
|
|
|
- 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 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
|
|
|
|
- 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
|