From 7c6c81711bdf9c237203e699babc720be68b3ffb Mon Sep 17 00:00:00 2001 From: Tom Alexander Date: Fri, 25 Nov 2022 15:35:36 -0500 Subject: [PATCH] Move waybar into its own role that sway depends on. --- ansible/roles/sway/meta/main.yaml | 1 + ansible/roles/sway/tasks/common.yaml | 11 ------- ansible/roles/sway/tasks/freebsd.yaml | 17 ---------- ansible/roles/sway/tasks/linux.yaml | 21 ------------- .../roles/{sway => waybar}/files/style.css | 0 .../{sway => waybar}/files/waybar_config.json | 0 .../waybar_available_memory_freebsd.bash | 0 .../waybar_available_memory_linux.bash | 0 .../waybar_battery_freebsd.bash | 0 .../waybar_scripts/waybar_battery_linux.bash | 0 .../waybar_scripts/waybar_custom_clock.py | 0 .../waybar_scripts/waybar_sound_freebsd.bash | 0 .../waybar_scripts/waybar_sound_linux.bash | 0 .../waybar_temperature_freebsd.bash | 0 ansible/roles/waybar/meta/main.yaml | 2 ++ ansible/roles/waybar/tasks/common.yaml | 25 +++++++++++++++ ansible/roles/waybar/tasks/freebsd.yaml | 22 +++++++++++++ ansible/roles/waybar/tasks/linux.yaml | 21 +++++++++++++ ansible/roles/waybar/tasks/main.yaml | 2 ++ ansible/roles/waybar/tasks/peruser.yaml | 31 +++++++++++++++++++ .../roles/waybar/tasks/peruser_freebsd.yaml | 0 ansible/roles/waybar/tasks/peruser_linux.yaml | 0 22 files changed, 104 insertions(+), 49 deletions(-) rename ansible/roles/{sway => waybar}/files/style.css (100%) rename ansible/roles/{sway => waybar}/files/waybar_config.json (100%) rename ansible/roles/{sway => waybar}/files/waybar_scripts/waybar_available_memory_freebsd.bash (100%) rename ansible/roles/{sway => waybar}/files/waybar_scripts/waybar_available_memory_linux.bash (100%) rename ansible/roles/{sway => waybar}/files/waybar_scripts/waybar_battery_freebsd.bash (100%) rename ansible/roles/{sway => waybar}/files/waybar_scripts/waybar_battery_linux.bash (100%) rename ansible/roles/{sway => waybar}/files/waybar_scripts/waybar_custom_clock.py (100%) rename ansible/roles/{sway => waybar}/files/waybar_scripts/waybar_sound_freebsd.bash (100%) rename ansible/roles/{sway => waybar}/files/waybar_scripts/waybar_sound_linux.bash (100%) rename ansible/roles/{sway => waybar}/files/waybar_scripts/waybar_temperature_freebsd.bash (100%) create mode 100644 ansible/roles/waybar/meta/main.yaml create mode 100644 ansible/roles/waybar/tasks/common.yaml create mode 100644 ansible/roles/waybar/tasks/freebsd.yaml create mode 100644 ansible/roles/waybar/tasks/linux.yaml create mode 100644 ansible/roles/waybar/tasks/main.yaml create mode 100644 ansible/roles/waybar/tasks/peruser.yaml create mode 100644 ansible/roles/waybar/tasks/peruser_freebsd.yaml create mode 100644 ansible/roles/waybar/tasks/peruser_linux.yaml diff --git a/ansible/roles/sway/meta/main.yaml b/ansible/roles/sway/meta/main.yaml index 4341718..261642d 100644 --- a/ansible/roles/sway/meta/main.yaml +++ b/ansible/roles/sway/meta/main.yaml @@ -1,3 +1,4 @@ dependencies: - users - build # for aurutils on linux + - waybar diff --git a/ansible/roles/sway/tasks/common.yaml b/ansible/roles/sway/tasks/common.yaml index 9742844..d7c1735 100644 --- a/ansible/roles/sway/tasks/common.yaml +++ b/ansible/roles/sway/tasks/common.yaml @@ -1,14 +1,3 @@ -- name: Install scripts - copy: - src: "files/waybar_scripts/{{ item.src }}" - dest: "{{ item.dest }}" - mode: 0755 - owner: root - group: wheel - loop: - - src: waybar_custom_clock.py - dest: /usr/local/bin/waybar_custom_clock - - import_tasks: tasks/freebsd.yaml when: 'os_flavor == "freebsd"' diff --git a/ansible/roles/sway/tasks/freebsd.yaml b/ansible/roles/sway/tasks/freebsd.yaml index edf30e2..500804b 100644 --- a/ansible/roles/sway/tasks/freebsd.yaml +++ b/ansible/roles/sway/tasks/freebsd.yaml @@ -16,7 +16,6 @@ - libnotify # mako doesn't seem to work without it - pcmanfm # For mounting drives - wf-recorder # screen recording - - waybar - xdg-desktop-portal - xdg-desktop-portal-wlr # screen sharing # - rofimoji @@ -49,19 +48,3 @@ - src: launch_sway_freebsd.bash dest: /usr/local/bin/launch_sway -- name: Install scripts - copy: - src: "files/waybar_scripts/{{ item.src }}" - dest: "{{ item.dest }}" - mode: 0755 - owner: root - group: wheel - loop: - - src: waybar_battery_freebsd.bash - dest: /usr/local/bin/waybar_custom_battery - - src: waybar_available_memory_freebsd.bash - dest: /usr/local/bin/waybar_custom_available_memory - - src: waybar_sound_freebsd.bash - dest: /usr/local/bin/waybar_custom_sound - - src: waybar_temperature_freebsd.bash - dest: /usr/local/bin/waybar_custom_temperature diff --git a/ansible/roles/sway/tasks/linux.yaml b/ansible/roles/sway/tasks/linux.yaml index 7bcd8b6..4f395d8 100644 --- a/ansible/roles/sway/tasks/linux.yaml +++ b/ansible/roles/sway/tasks/linux.yaml @@ -1,10 +1,3 @@ -- name: Install packages - package: - name: - - bc # For waybar sound script - - upower # Needed for waybar battery script - state: present - - name: Install scripts copy: src: "files/{{ item.src }}" @@ -16,17 +9,3 @@ - src: launch_sway_linux.bash dest: /usr/local/bin/launch_sway -- name: Install scripts - copy: - src: "files/waybar_scripts/{{ item.src }}" - dest: "{{ item.dest }}" - mode: 0755 - owner: root - group: wheel - loop: - - src: waybar_battery_linux.bash - dest: /usr/local/bin/waybar_custom_battery - - src: waybar_available_memory_linux.bash - dest: /usr/local/bin/waybar_custom_available_memory - - src: waybar_sound_linux.bash - dest: /usr/local/bin/waybar_custom_sound diff --git a/ansible/roles/sway/files/style.css b/ansible/roles/waybar/files/style.css similarity index 100% rename from ansible/roles/sway/files/style.css rename to ansible/roles/waybar/files/style.css diff --git a/ansible/roles/sway/files/waybar_config.json b/ansible/roles/waybar/files/waybar_config.json similarity index 100% rename from ansible/roles/sway/files/waybar_config.json rename to ansible/roles/waybar/files/waybar_config.json diff --git a/ansible/roles/sway/files/waybar_scripts/waybar_available_memory_freebsd.bash b/ansible/roles/waybar/files/waybar_scripts/waybar_available_memory_freebsd.bash similarity index 100% rename from ansible/roles/sway/files/waybar_scripts/waybar_available_memory_freebsd.bash rename to ansible/roles/waybar/files/waybar_scripts/waybar_available_memory_freebsd.bash diff --git a/ansible/roles/sway/files/waybar_scripts/waybar_available_memory_linux.bash b/ansible/roles/waybar/files/waybar_scripts/waybar_available_memory_linux.bash similarity index 100% rename from ansible/roles/sway/files/waybar_scripts/waybar_available_memory_linux.bash rename to ansible/roles/waybar/files/waybar_scripts/waybar_available_memory_linux.bash diff --git a/ansible/roles/sway/files/waybar_scripts/waybar_battery_freebsd.bash b/ansible/roles/waybar/files/waybar_scripts/waybar_battery_freebsd.bash similarity index 100% rename from ansible/roles/sway/files/waybar_scripts/waybar_battery_freebsd.bash rename to ansible/roles/waybar/files/waybar_scripts/waybar_battery_freebsd.bash diff --git a/ansible/roles/sway/files/waybar_scripts/waybar_battery_linux.bash b/ansible/roles/waybar/files/waybar_scripts/waybar_battery_linux.bash similarity index 100% rename from ansible/roles/sway/files/waybar_scripts/waybar_battery_linux.bash rename to ansible/roles/waybar/files/waybar_scripts/waybar_battery_linux.bash diff --git a/ansible/roles/sway/files/waybar_scripts/waybar_custom_clock.py b/ansible/roles/waybar/files/waybar_scripts/waybar_custom_clock.py similarity index 100% rename from ansible/roles/sway/files/waybar_scripts/waybar_custom_clock.py rename to ansible/roles/waybar/files/waybar_scripts/waybar_custom_clock.py diff --git a/ansible/roles/sway/files/waybar_scripts/waybar_sound_freebsd.bash b/ansible/roles/waybar/files/waybar_scripts/waybar_sound_freebsd.bash similarity index 100% rename from ansible/roles/sway/files/waybar_scripts/waybar_sound_freebsd.bash rename to ansible/roles/waybar/files/waybar_scripts/waybar_sound_freebsd.bash diff --git a/ansible/roles/sway/files/waybar_scripts/waybar_sound_linux.bash b/ansible/roles/waybar/files/waybar_scripts/waybar_sound_linux.bash similarity index 100% rename from ansible/roles/sway/files/waybar_scripts/waybar_sound_linux.bash rename to ansible/roles/waybar/files/waybar_scripts/waybar_sound_linux.bash diff --git a/ansible/roles/sway/files/waybar_scripts/waybar_temperature_freebsd.bash b/ansible/roles/waybar/files/waybar_scripts/waybar_temperature_freebsd.bash similarity index 100% rename from ansible/roles/sway/files/waybar_scripts/waybar_temperature_freebsd.bash rename to ansible/roles/waybar/files/waybar_scripts/waybar_temperature_freebsd.bash diff --git a/ansible/roles/waybar/meta/main.yaml b/ansible/roles/waybar/meta/main.yaml new file mode 100644 index 0000000..655446a --- /dev/null +++ b/ansible/roles/waybar/meta/main.yaml @@ -0,0 +1,2 @@ +dependencies: + - users diff --git a/ansible/roles/waybar/tasks/common.yaml b/ansible/roles/waybar/tasks/common.yaml new file mode 100644 index 0000000..9742844 --- /dev/null +++ b/ansible/roles/waybar/tasks/common.yaml @@ -0,0 +1,25 @@ +- name: Install scripts + copy: + src: "files/waybar_scripts/{{ item.src }}" + dest: "{{ item.dest }}" + mode: 0755 + owner: root + group: wheel + loop: + - src: waybar_custom_clock.py + dest: /usr/local/bin/waybar_custom_clock + +- import_tasks: tasks/freebsd.yaml + when: 'os_flavor == "freebsd"' + +- import_tasks: tasks/linux.yaml + when: 'os_flavor == "linux"' + +- include_tasks: + file: tasks/peruser.yaml + apply: + become: yes + become_user: "{{ initialize_user }}" + loop: "{{ users | dict2items | community.general.json_query('[?value.initialize==`true`].key') }}" + loop_control: + loop_var: initialize_user diff --git a/ansible/roles/waybar/tasks/freebsd.yaml b/ansible/roles/waybar/tasks/freebsd.yaml new file mode 100644 index 0000000..149b315 --- /dev/null +++ b/ansible/roles/waybar/tasks/freebsd.yaml @@ -0,0 +1,22 @@ +- name: Install packages + package: + name: + - waybar + state: present + +- name: Install scripts + copy: + src: "files/waybar_scripts/{{ item.src }}" + dest: "{{ item.dest }}" + mode: 0755 + owner: root + group: wheel + loop: + - src: waybar_battery_freebsd.bash + dest: /usr/local/bin/waybar_custom_battery + - src: waybar_available_memory_freebsd.bash + dest: /usr/local/bin/waybar_custom_available_memory + - src: waybar_sound_freebsd.bash + dest: /usr/local/bin/waybar_custom_sound + - src: waybar_temperature_freebsd.bash + dest: /usr/local/bin/waybar_custom_temperature diff --git a/ansible/roles/waybar/tasks/linux.yaml b/ansible/roles/waybar/tasks/linux.yaml new file mode 100644 index 0000000..cb30d97 --- /dev/null +++ b/ansible/roles/waybar/tasks/linux.yaml @@ -0,0 +1,21 @@ +- name: Install packages + package: + name: + - bc # For waybar sound script + - upower # Needed for waybar battery script + state: present + +- name: Install scripts + copy: + src: "files/waybar_scripts/{{ item.src }}" + dest: "{{ item.dest }}" + mode: 0755 + owner: root + group: wheel + loop: + - src: waybar_battery_linux.bash + dest: /usr/local/bin/waybar_custom_battery + - src: waybar_available_memory_linux.bash + dest: /usr/local/bin/waybar_custom_available_memory + - src: waybar_sound_linux.bash + dest: /usr/local/bin/waybar_custom_sound diff --git a/ansible/roles/waybar/tasks/main.yaml b/ansible/roles/waybar/tasks/main.yaml new file mode 100644 index 0000000..9123a57 --- /dev/null +++ b/ansible/roles/waybar/tasks/main.yaml @@ -0,0 +1,2 @@ +- import_tasks: tasks/common.yaml + when: install_graphics is defined and install_graphics diff --git a/ansible/roles/waybar/tasks/peruser.yaml b/ansible/roles/waybar/tasks/peruser.yaml new file mode 100644 index 0000000..23147b1 --- /dev/null +++ b/ansible/roles/waybar/tasks/peruser.yaml @@ -0,0 +1,31 @@ +- include_role: + name: per_user + +- name: Create directories + file: + name: "{{ account_homedir.stdout }}/{{ item }}" + state: directory + mode: 0700 + owner: "{{ account_name.stdout }}" + group: "{{ group_name.stdout }}" + loop: + - ".config/waybar" + +- name: Copy files + copy: + src: "files/{{ item.src }}" + dest: "{{ account_homedir.stdout }}/{{ item.dest }}" + mode: 0600 + owner: "{{ account_name.stdout }}" + group: "{{ group_name.stdout }}" + loop: + - src: waybar_config.json + dest: .config/waybar/config + - src: style.css + dest: .config/waybar/style.css + +- import_tasks: tasks/peruser_freebsd.yaml + when: 'os_flavor == "freebsd"' + +- import_tasks: tasks/peruser_linux.yaml + when: 'os_flavor == "linux"' diff --git a/ansible/roles/waybar/tasks/peruser_freebsd.yaml b/ansible/roles/waybar/tasks/peruser_freebsd.yaml new file mode 100644 index 0000000..e69de29 diff --git a/ansible/roles/waybar/tasks/peruser_linux.yaml b/ansible/roles/waybar/tasks/peruser_linux.yaml new file mode 100644 index 0000000..e69de29