diff options
| author | Ahmed Abdelhalim <[email protected]> | 2025-12-22 22:50:35 +0100 |
|---|---|---|
| committer | Ahmed Abdelhalim <[email protected]> | 2025-12-22 22:50:35 +0100 |
| commit | 3d5b8caa4d4880c5308807baaf4ae04456403d13 (patch) | |
| tree | 3186bd157bd09c283eb46733ed8a90493f42da4f /roles/hyprland | |
| parent | 17c0029c69290af0c0f74912cb5eb196b37b322c (diff) | |
Refactor hyprland/mako
This follows a more clean setup (inspired by omarchy) with the
difference that the user files are delegated to the user dotfile (and
are calling the system defaults first).
This is to insure clarity and don't depend on hidden behaviour in the
default system configurations
Diffstat (limited to 'roles/hyprland')
| -rw-r--r-- | roles/hyprland/meta/main.yml | 1 | ||||
| -rw-r--r-- | roles/hyprland/tasks/main.yml | 23 | ||||
| -rw-r--r-- | roles/hyprland/templates/hyprland-custom.desktop.j2 | 6 | ||||
| -rw-r--r-- | roles/hyprland/templates/hyprland/autostart.conf.j2 | 1 | ||||
| -rw-r--r-- | roles/hyprland/templates/hyprland/hyprland.conf.j2 | 4 |
5 files changed, 12 insertions, 23 deletions
diff --git a/roles/hyprland/meta/main.yml b/roles/hyprland/meta/main.yml index 7cb0020f..3c8902a0 100644 --- a/roles/hyprland/meta/main.yml +++ b/roles/hyprland/meta/main.yml @@ -4,6 +4,7 @@ dependencies: - role: "cage" - role: "greetd" - role: "nautilus" + - role: "mako" galaxy_info: author: "a14m" description: "Install hyprland" diff --git a/roles/hyprland/tasks/main.yml b/roles/hyprland/tasks/main.yml index c7bb98b2..855b1f67 100644 --- a/roles/hyprland/tasks/main.yml +++ b/roles/hyprland/tasks/main.yml @@ -7,15 +7,6 @@ loop: - "hyprland" -- name: "Deploy custom hyprland desktop entry" - become: true - ansible.builtin.template: - src: "hyprland-custom.desktop.j2" - dest: "/usr/share/wayland-sessions/hyprland-custom.desktop" - mode: "0644" - owner: "root" - group: "root" - - name: "Configure greetd" become: true ansible.builtin.copy: @@ -27,27 +18,29 @@ [terminal] vt = 1 [default_session] - command = "cage -s -- gtkgreet -c 'uwsm start hyprland-custom.desktop'" + command = "cage -s -- gtkgreet -c 'uwsm start hyprland.desktop'" user = "greeter" notify: - "Restart greetd" -- name: "Create hyprland config directory" +- name: "Create system config directory" become: true ansible.builtin.file: path: "/etc/hypr" state: "directory" mode: "0755" + loop: + - "{{ ansible_env.HOME }}/.config/hypr" -- name: "Configure hyprland defaults" +- name: "Configure system defaults" become: true ansible.builtin.template: src: "{{ item.src }}" dest: "{{ item.dest }}" mode: "0644" loop: - - src: "hyprland/hyprland.conf.j2" - dest: "/etc/hypr/hyprland.conf" + - src: "hyprland/autostart.conf.j2" + dest: "/etc/hypr/autostart.conf" - src: "hyprland/monitors.conf.j2" dest: "/etc/hypr/monitors.conf" - src: "hyprland/input.conf.j2" @@ -58,3 +51,5 @@ dest: "/etc/hypr/envs.conf" - src: "hyprland/looknfeel.conf.j2" dest: "/etc/hypr/looknfeel.conf" + - src: "hyprland/hyprland.conf.j2" + dest: "/etc/hypr/hyprland.conf" diff --git a/roles/hyprland/templates/hyprland-custom.desktop.j2 b/roles/hyprland/templates/hyprland-custom.desktop.j2 deleted file mode 100644 index 57975bf0..00000000 --- a/roles/hyprland/templates/hyprland-custom.desktop.j2 +++ /dev/null @@ -1,6 +0,0 @@ -[Desktop Entry] -Name=Hyprland (Custom Config) -Comment=An intelligent dynamic tiling Wayland compositor with system config -Exec=env HYPRLAND_CONFIG=/etc/hypr/hyprland.conf Hyprland -Type=Application -DesktopNames=Hyprland diff --git a/roles/hyprland/templates/hyprland/autostart.conf.j2 b/roles/hyprland/templates/hyprland/autostart.conf.j2 new file mode 100644 index 00000000..f0cd7213 --- /dev/null +++ b/roles/hyprland/templates/hyprland/autostart.conf.j2 @@ -0,0 +1 @@ +exec-once = uwsm-app -- mako diff --git a/roles/hyprland/templates/hyprland/hyprland.conf.j2 b/roles/hyprland/templates/hyprland/hyprland.conf.j2 index 790e496d..3e2c08a3 100644 --- a/roles/hyprland/templates/hyprland/hyprland.conf.j2 +++ b/roles/hyprland/templates/hyprland/hyprland.conf.j2 @@ -2,11 +2,9 @@ # Inspired by omarchy setup # Use default configuration files +source = /etc/hypr/autostart.conf source = /etc/hypr/monitors.conf source = /etc/hypr/input.conf source = /etc/hypr/bindings.conf source = /etc/hypr/envs.conf source = /etc/hypr/looknfeel.conf - -# Load user configuration -source = ~/.config/hypr/hyprland.conf |
