mirror of
https://github.com/fscotto/infra.git
synced 2026-05-30 15:39:58 +00:00
Add Sway session with Waybar and split configs for Hyprland
This commit is contained in:
@@ -66,6 +66,11 @@
|
||||
if 'hyprland' in (desktop_sessions_enabled | default([]))
|
||||
else []
|
||||
)
|
||||
+ (
|
||||
(desktop_sway_packages | default([]))
|
||||
if 'sway' in (desktop_sessions_enabled | default([]))
|
||||
else []
|
||||
)
|
||||
+ (host_packages | default([]))
|
||||
) | unique
|
||||
}}
|
||||
|
||||
@@ -33,3 +33,18 @@
|
||||
when:
|
||||
- "'hyprland' in (desktop_sessions_enabled | default([]))"
|
||||
- (host_hyprland_dotfiles | default([])) | length > 0
|
||||
|
||||
- name: Copy host-specific Sway dotfiles
|
||||
tags: [dotfiles, dotfiles:desktop, dotfiles:host, sway]
|
||||
ansible.builtin.copy:
|
||||
src: "{{ playbook_dir }}/../dotfiles/{{ hostname }}/{{ item.src }}"
|
||||
dest: "{{ user_home }}/{{ item.dest }}"
|
||||
owner: "{{ username }}"
|
||||
group: "{{ user_group }}"
|
||||
mode: "{{ item.mode }}"
|
||||
loop: "{{ host_sway_dotfiles | default([]) }}"
|
||||
loop_control:
|
||||
label: "{{ item.dest }}"
|
||||
when:
|
||||
- "'sway' in (desktop_sessions_enabled | default([]))"
|
||||
- (host_sway_dotfiles | default([])) | length > 0
|
||||
|
||||
37
ansible/roles/profile_desktop_sway/tasks/main.yml
Normal file
37
ansible/roles/profile_desktop_sway/tasks/main.yml
Normal file
@@ -0,0 +1,37 @@
|
||||
---
|
||||
- name: Ensure Sway config directories exist
|
||||
tags: [dotfiles, dotfiles:desktop, sway]
|
||||
ansible.builtin.file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
owner: "{{ username }}"
|
||||
group: "{{ user_group }}"
|
||||
mode: "0755"
|
||||
loop:
|
||||
- "{{ user_home }}/.config/sway"
|
||||
- "{{ user_home }}/.config/waybar"
|
||||
- "{{ user_home }}/.config/kanshi"
|
||||
when: "'sway' in (desktop_sessions_enabled | default([]))"
|
||||
|
||||
- name: Install Sway emptty session entry
|
||||
tags: [packages, services, emptty, sway]
|
||||
ansible.builtin.template:
|
||||
src: Sway.desktop.j2
|
||||
dest: /etc/emptty/wayland-sessions/Sway.desktop
|
||||
owner: root
|
||||
group: root
|
||||
mode: "0644"
|
||||
when: "'sway' in (desktop_sessions_enabled | default([]))"
|
||||
|
||||
- name: Copy Sway desktop dotfiles
|
||||
tags: [dotfiles, dotfiles:desktop, sway]
|
||||
ansible.builtin.copy:
|
||||
src: "{{ playbook_dir }}/../dotfiles/desktop/{{ item.src }}"
|
||||
dest: "{{ user_home }}/{{ item.dest }}"
|
||||
owner: "{{ username }}"
|
||||
group: "{{ user_group }}"
|
||||
mode: "{{ item.mode }}"
|
||||
loop: "{{ desktop_sway_dotfiles | default([]) }}"
|
||||
loop_control:
|
||||
label: "{{ item.dest }}"
|
||||
when: "'sway' in (desktop_sessions_enabled | default([]))"
|
||||
@@ -0,0 +1,8 @@
|
||||
[Desktop Entry]
|
||||
Name=Sway
|
||||
Comment=Sway Wayland compositor
|
||||
Exec={{ user_home }}/.local/bin/start-sway-session
|
||||
TryExec=sway
|
||||
Type=Application
|
||||
DesktopNames=sway;wlroots
|
||||
Keywords=wayland;wm;windowmanager;window;manager;tiling;compositor;
|
||||
Reference in New Issue
Block a user