From a808f81e277fa9315170043039ae0f690906602c Mon Sep 17 00:00:00 2001 From: Tom Alexander Date: Wed, 1 Feb 2023 23:14:20 -0500 Subject: [PATCH] Add sway for linux. --- ansible/roles/build/meta/main.yaml | 1 + .../graphics/files/intel_power_loader.conf | 12 ++++++---- ansible/roles/sway/tasks/common.yaml | 24 +++++++++++++++++++ ansible/roles/sway/tasks/freebsd.yaml | 19 --------------- ansible/roles/sway/tasks/linux.yaml | 24 +++++++++++++++++++ .../waybar_battery_freebsd.bash | 1 + ansible/roles/waybar/tasks/linux.yaml | 1 + ansible/roles/waybar/tasks/peruser.yaml | 2 ++ ansible/roles/zrepl/meta/main.yaml | 1 + ansible/roles/zrepl/tasks/common.yaml | 18 +++++--------- ansible/roles/zrepl/tasks/freebsd.yaml | 6 +++++ ansible/roles/zrepl/tasks/linux.yaml | 22 +++++++++++++++++ 12 files changed, 96 insertions(+), 35 deletions(-) diff --git a/ansible/roles/build/meta/main.yaml b/ansible/roles/build/meta/main.yaml index 655446a..8586ba4 100644 --- a/ansible/roles/build/meta/main.yaml +++ b/ansible/roles/build/meta/main.yaml @@ -1,2 +1,3 @@ dependencies: - users + - gpg diff --git a/ansible/roles/graphics/files/intel_power_loader.conf b/ansible/roles/graphics/files/intel_power_loader.conf index 2d27b22..8ac27b1 100644 --- a/ansible/roles/graphics/files/intel_power_loader.conf +++ b/ansible/roles/graphics/files/intel_power_loader.conf @@ -1,10 +1,14 @@ # Enable power-saving display c-states (0=disable; 1=up to DC5; 2=up to DC6) -compat.linuxkpi.i915_enable_dc=2 +hw.i915kms.enable_dc=2 # Enable frame buffer compression which allegedly saves power -compat.linuxkpi.i915_enable_fbc=1 +hw.i915kms.enable_fbc=1 # Skip extra modesets during boot -compat.linuxkpi.i915_fastboot=1 +hw.i915kms.fastboot=1 # Disable display power wells (0=power wells always on, 1=power wells disabled when possible) -compat.linuxkpi.i915_disable_power_well=1 +hw.i915kms.disable_power_well=1 # Reduce interrupt rate to make it more likely that a C3 sleep state can be hit. Should make the CPU wake up less often. kern.hz=100 +# Enable dpcd backlight control +hw.i915kms.enable_dpcd_backlight=1 +# Enable panel self refresh +# hw.i915kms.enable_psr=1 diff --git a/ansible/roles/sway/tasks/common.yaml b/ansible/roles/sway/tasks/common.yaml index c5e5355..2ff7846 100644 --- a/ansible/roles/sway/tasks/common.yaml +++ b/ansible/roles/sway/tasks/common.yaml @@ -1,3 +1,27 @@ +- name: Install packages + package: + name: + - sway + - swaybg + - swayidle + - swaylock + - wofi + - mako + - grim + - qt5-wayland + # - gvfs + - slurp # screen coordinates for screenshots + - libnotify # mako doesn't seem to work without it + - pcmanfm # For mounting drives + - wf-recorder # screen recording + - xdg-desktop-portal + - xdg-desktop-portal-wlr # screen sharing + # - rofimoji + - wtype # for rofimoji to be able to insert characters + - dbus # for desktop notifications + - jq + state: present + - name: Install scripts copy: src: "files/{{ item.src }}" diff --git a/ansible/roles/sway/tasks/freebsd.yaml b/ansible/roles/sway/tasks/freebsd.yaml index 9802af5..6e9afa7 100644 --- a/ansible/roles/sway/tasks/freebsd.yaml +++ b/ansible/roles/sway/tasks/freebsd.yaml @@ -1,27 +1,8 @@ - name: Install packages package: name: - - sway - - swaybg - - swayidle - - swaylock - - wofi - - mako - - grim - xeyes - - qt5-wayland - # - gvfs - xauth # for ssh x11 forwarding - - slurp # screen coordinates for screenshots - - libnotify # mako doesn't seem to work without it - - pcmanfm # For mounting drives - - wf-recorder # screen recording - - xdg-desktop-portal - - xdg-desktop-portal-wlr # screen sharing - # - rofimoji - - wtype # for rofimoji to be able to insert characters - - dbus # for desktop notifications - - jq - wev # For debugging input - wlogout # Log out prompt state: present diff --git a/ansible/roles/sway/tasks/linux.yaml b/ansible/roles/sway/tasks/linux.yaml index 4f395d8..5d3864b 100644 --- a/ansible/roles/sway/tasks/linux.yaml +++ b/ansible/roles/sway/tasks/linux.yaml @@ -1,3 +1,27 @@ +- name: Build aur packages + register: buildaur + become_user: "{{ build_user.name }}" + command: "aurutils-sync --no-view {{ item }}" + args: + creates: "/var/cache/pacman/custom/{{ item }}-*.pkg.tar.*" + loop: + - wev + +- name: Update cache + when: buildaur.changed + pacman: + name: [] + state: present + update_cache: true + +- name: Install packages + package: + name: + - wev + - xorg-xauth + - xorg-xeyes + - xorg-xwayland + - name: Install scripts copy: src: "files/{{ item.src }}" diff --git a/ansible/roles/waybar/files/waybar_scripts/waybar_battery_freebsd.bash b/ansible/roles/waybar/files/waybar_scripts/waybar_battery_freebsd.bash index 18357a2..c9b91d0 100644 --- a/ansible/roles/waybar/files/waybar_scripts/waybar_battery_freebsd.bash +++ b/ansible/roles/waybar/files/waybar_scripts/waybar_battery_freebsd.bash @@ -13,6 +13,7 @@ while true; do battery_percentage=$(apm -l) battery_status=$(apm -b) seconds_remaining=$(apm -t) + # minutes remaining would be at sysctl hw.acpi.battery.time class="" if [ $battery_status -eq 3 ]; then diff --git a/ansible/roles/waybar/tasks/linux.yaml b/ansible/roles/waybar/tasks/linux.yaml index 3b09674..7fb3028 100644 --- a/ansible/roles/waybar/tasks/linux.yaml +++ b/ansible/roles/waybar/tasks/linux.yaml @@ -3,6 +3,7 @@ name: - bc # For waybar sound script - upower # Needed for waybar battery script + - waybar state: present - name: Install scripts diff --git a/ansible/roles/waybar/tasks/peruser.yaml b/ansible/roles/waybar/tasks/peruser.yaml index 4a68307..e2c036e 100644 --- a/ansible/roles/waybar/tasks/peruser.yaml +++ b/ansible/roles/waybar/tasks/peruser.yaml @@ -10,6 +10,8 @@ group: "{{ group_name.stdout }}" loop: - ".config/waybar" + - ".config/sway" + - ".config/sway/config.d" - name: Copy files copy: diff --git a/ansible/roles/zrepl/meta/main.yaml b/ansible/roles/zrepl/meta/main.yaml index 655446a..c66040b 100644 --- a/ansible/roles/zrepl/meta/main.yaml +++ b/ansible/roles/zrepl/meta/main.yaml @@ -1,2 +1,3 @@ dependencies: - users + - build diff --git a/ansible/roles/zrepl/tasks/common.yaml b/ansible/roles/zrepl/tasks/common.yaml index 433c7ad..801a529 100644 --- a/ansible/roles/zrepl/tasks/common.yaml +++ b/ansible/roles/zrepl/tasks/common.yaml @@ -1,9 +1,3 @@ -- name: Install packages - package: - name: - - zrepl - state: present - - name: Create directories file: name: "{{ item }}" @@ -14,6 +8,12 @@ loop: - /usr/local/etc/zrepl +- import_tasks: tasks/freebsd.yaml + when: 'os_flavor == "freebsd"' + +- import_tasks: tasks/linux.yaml + when: 'os_flavor == "linux"' + - name: Configure zrepl template: src: templates/zrepl.yml.j2 @@ -23,9 +23,3 @@ group: wheel validate: "zrepl configcheck --config %s" notify: "restart zrepl" - -- import_tasks: tasks/freebsd.yaml - when: 'os_flavor == "freebsd"' - -- import_tasks: tasks/linux.yaml - when: 'os_flavor == "linux"' diff --git a/ansible/roles/zrepl/tasks/freebsd.yaml b/ansible/roles/zrepl/tasks/freebsd.yaml index b4d1e28..d316930 100644 --- a/ansible/roles/zrepl/tasks/freebsd.yaml +++ b/ansible/roles/zrepl/tasks/freebsd.yaml @@ -1,3 +1,9 @@ +- name: Install packages + package: + name: + - zrepl + state: present + - name: Enable services copy: src: "files/{{ item.src }}" diff --git a/ansible/roles/zrepl/tasks/linux.yaml b/ansible/roles/zrepl/tasks/linux.yaml index 1bed919..93826b0 100644 --- a/ansible/roles/zrepl/tasks/linux.yaml +++ b/ansible/roles/zrepl/tasks/linux.yaml @@ -1,3 +1,25 @@ +- name: Build aur packages + register: buildaur + become_user: "{{ build_user.name }}" + command: "aurutils-sync --no-view {{ item }}" + args: + creates: "/var/cache/pacman/custom/{{ item }}-*.pkg.tar.*" + loop: + - zrepl + +- name: Update cache + when: buildaur.changed + pacman: + name: [] + state: present + update_cache: true + +- name: Install packages + package: + name: + - zrepl + state: present + - name: Enable services systemd: enabled: yes