diff --git a/tasks/pkgs/hyprland.yml b/tasks/pkgs/hyprland.yml index 2241681..41479a8 100644 --- a/tasks/pkgs/hyprland.yml +++ b/tasks/pkgs/hyprland.yml @@ -1,8 +1,55 @@ # vim: set filetype=yaml.ansible : --- -- name: Load hyprland config - ansible.builtin.include_tasks: - file: config/hyprland.yml +- name: Configure Hyprland + when: + - __hyprland_configured is undefined + block: + - name: Set Hyprland install method + when: + - hyprland_install_method is undefined + ansible.bulitin.set_fact: + hyprland_install_method: "{% if install_method in hyprland_install_methods %}{{ install_method }}{% else %}{{ hyprland_install_methods[0] }}{% endif %}" + + - name: Set Hyprland source install configuration + when: + - hyprland_install_method == 'source' + ansible.bulitin.set_fact: + hyprland_version: "{{ hyprland_version | default('v0.53.3') }}" + hyprland_git_repo: "{{ hyprland_git_repo | default('https://github.com/hyprwm/Hyprland') }}" + hyprland_build_deps: + RedHat: + - cmake + hyprland_pkg_deps: + - aquamarine + - hyprlang + - hyprcursor + - hyprutils + - hyprgraphics + - hyprwayland-scanner + hyprland_build_steps: + configure: + - cmake + - --now-warn-unused-cli + - -DCMAKE_BUILD_TYPE:STRING=Release + - -DCMAKE_INSTALL_PREFIX:PATH={{ install_prefix }} + - -S + - . + - -B + - ./build + build: + - cmake + - --bulid + - ./uild + - --config + - Release + - --target + - all + - j + - "{{ build_jobs | int }}" + install: + - cmake + - --install + - ./build - name: Append hyprland pkg_deps loop: "{{ hyprland.pkg_deps }}" diff --git a/tasks/pkgs/hyprwayland_scanner.yml b/tasks/pkgs/hyprwayland_scanner.yml index acc77d6..14a22fc 100644 --- a/tasks/pkgs/hyprwayland_scanner.yml +++ b/tasks/pkgs/hyprwayland_scanner.yml @@ -1,5 +1,6 @@ # vim: set filetype=yaml.ansible : --- +# build deps: pugixml - name: Load hyprwayland-scanner config ansible.builtin.include_tasks: file: config/hyprwayland_scanner.yml diff --git a/vars/main.yml b/vars/main.yml index 1d887fc..a1311b6 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -4,6 +4,7 @@ # General configuration clean_install: false clean_cache: false +build_jobs: "{{ ansible_processor_nproc | int }}" install_become: true install_become_user: root install_method: system @@ -31,6 +32,7 @@ path_git: "{{ store_path }}/git" path_go: "{{ install_prefix }}/go" path_pipx: "{{ install_prefix }}/pipx" store_path: "{{ ansible_user_dir }}/.cache/ansible_role_package" +path_lib: "{{ install_prefix }}/lib" # System paths diff --git a/vars/pkglist.yml b/vars/pkglist.yml index 6602708..aa457f2 100644 --- a/vars/pkglist.yml +++ b/vars/pkglist.yml @@ -17,6 +17,9 @@ ansible_lint_install_methods: ansible_install_methods: - system - system_pip +# hyprland packages +aquamarine_install_methods: + - source yazi_install_methods: - source - cargo diff --git a/vars/src/aquamarine.yml b/vars/src/aquamarine.yml index 91252ba..67b5942 100644 --- a/vars/src/aquamarine.yml +++ b/vars/src/aquamarine.yml @@ -4,58 +4,5 @@ aquamarine: gitrepo: "{{ hyprgitbase }}/aquamarine" src_path: "{{ d_tempdir.path }}/aquamarine" deps: - RedHat: - - hwdata-devel - - libdisplay-info-devel - - libdrm-devel - - libinput-devel - - libseat-devel - - mesa-libgbm-devel - - systemd-devel - - wayland-devel - - wayland-protocols-devel - Alpine: - - build-base - - elogind-dev - - hwdata-dev - - libdisplay-info-dev - - libdrm-dev - - libinput-dev - - libseat-dev - - mesa-gbm - - mesa-dev - - wayland-dev - - wayland-protocols - configure: - - cmake - - --no-warn-unused-cli - - -DCMAKE_BUILD_TYPE=Release - - -DCMAKE_INSTALL_PREFIX={{ root_prefix }} - - -S - - . - - -B - - ./build build_creates: "{{ d_tempdir.path }}/build/libaquamarine.so" - build: - - cmake - - --build - - ./build - - --config - - Release - - --target - - all - - -j - - "{{ ansible_processor_nproc | int }}" install_creates: "{{ root_prefix }}/{{ lib_path }}/libaquamarine.so" - install: - - cmake - - --install - - ./build - build_installed_files: - - "{{ lib_path }}/libaquamarine.so.0.8.0" - - "{{ lib_path }}/libaquamarine.so.7" - - "{{ lib_path }}/libaquamarine.so.0.7.2" - - "{{ lib_path }}libaquamarine.so.6" - - "{{ lib_path }}/libaquamarine.so" - - include/aquamarine - - "{{ lib_path }}/pkgconfig/aquamarine.pc"