From 172b4063eec3c7bb54afe98a9f43db5dd53ceffe Mon Sep 17 00:00:00 2001 From: Tom Alexander Date: Mon, 17 Oct 2022 14:40:22 -0400 Subject: [PATCH] Starting the FreeBSD sway role. --- ansible/playbook.yaml | 1 + ansible/roles/sway/files/dbus_rc.conf | 1 + ansible/roles/sway/files/seatd_rc.conf | 1 + ansible/roles/sway/meta/main.yaml | 3 ++ ansible/roles/sway/tasks/common.yaml | 14 +++++++ ansible/roles/sway/tasks/freebsd.yaml | 37 +++++++++++++++++++ ansible/roles/sway/tasks/linux.yaml | 6 +++ ansible/roles/sway/tasks/main.yaml | 2 + ansible/roles/sway/tasks/peruser.yaml | 29 +++++++++++++++ ansible/roles/sway/tasks/peruser_freebsd.yaml | 0 ansible/roles/sway/tasks/peruser_linux.yaml | 0 11 files changed, 94 insertions(+) create mode 100644 ansible/roles/sway/files/dbus_rc.conf create mode 100644 ansible/roles/sway/files/seatd_rc.conf create mode 100644 ansible/roles/sway/meta/main.yaml create mode 100644 ansible/roles/sway/tasks/common.yaml create mode 100644 ansible/roles/sway/tasks/freebsd.yaml create mode 100644 ansible/roles/sway/tasks/linux.yaml create mode 100644 ansible/roles/sway/tasks/main.yaml create mode 100644 ansible/roles/sway/tasks/peruser.yaml create mode 100644 ansible/roles/sway/tasks/peruser_freebsd.yaml create mode 100644 ansible/roles/sway/tasks/peruser_linux.yaml diff --git a/ansible/playbook.yaml b/ansible/playbook.yaml index 172ed7e..aa565f7 100644 --- a/ansible/playbook.yaml +++ b/ansible/playbook.yaml @@ -16,3 +16,4 @@ - build - graphics - gpg + - sway diff --git a/ansible/roles/sway/files/dbus_rc.conf b/ansible/roles/sway/files/dbus_rc.conf new file mode 100644 index 0000000..68bc109 --- /dev/null +++ b/ansible/roles/sway/files/dbus_rc.conf @@ -0,0 +1 @@ +dbus_enable="yes" diff --git a/ansible/roles/sway/files/seatd_rc.conf b/ansible/roles/sway/files/seatd_rc.conf new file mode 100644 index 0000000..bdbb6df --- /dev/null +++ b/ansible/roles/sway/files/seatd_rc.conf @@ -0,0 +1 @@ +seatd_enable="YES" \ No newline at end of file diff --git a/ansible/roles/sway/meta/main.yaml b/ansible/roles/sway/meta/main.yaml new file mode 100644 index 0000000..4341718 --- /dev/null +++ b/ansible/roles/sway/meta/main.yaml @@ -0,0 +1,3 @@ +dependencies: + - users + - build # for aurutils on linux diff --git a/ansible/roles/sway/tasks/common.yaml b/ansible/roles/sway/tasks/common.yaml new file mode 100644 index 0000000..d7c1735 --- /dev/null +++ b/ansible/roles/sway/tasks/common.yaml @@ -0,0 +1,14 @@ +- 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/sway/tasks/freebsd.yaml b/ansible/roles/sway/tasks/freebsd.yaml new file mode 100644 index 0000000..b0a82bc --- /dev/null +++ b/ansible/roles/sway/tasks/freebsd.yaml @@ -0,0 +1,37 @@ +- 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 + - waybar + - xdg-desktop-portal + - xdg-desktop-portal-wlr # screen sharing + # - rofimoji + - wtype # for rofimoji to be able to insert characters + - dbus # for desktop notifications + - lumina-fm + state: present + +- name: Install service configuration + copy: + src: "files/{{ item }}_rc.conf" + dest: "/etc/rc.conf.d/{{ item }}" + mode: 0644 + owner: root + group: wheel + loop: + - seatd + - dbus diff --git a/ansible/roles/sway/tasks/linux.yaml b/ansible/roles/sway/tasks/linux.yaml new file mode 100644 index 0000000..e1835f0 --- /dev/null +++ b/ansible/roles/sway/tasks/linux.yaml @@ -0,0 +1,6 @@ +# - name: Install packages +# pacman: +# name: +# - foo +# state: present +# update_cache: true diff --git a/ansible/roles/sway/tasks/main.yaml b/ansible/roles/sway/tasks/main.yaml new file mode 100644 index 0000000..dc9939d --- /dev/null +++ b/ansible/roles/sway/tasks/main.yaml @@ -0,0 +1,2 @@ +- import_tasks: tasks/common.yaml + when: graphics_driver is defined diff --git a/ansible/roles/sway/tasks/peruser.yaml b/ansible/roles/sway/tasks/peruser.yaml new file mode 100644 index 0000000..111e886 --- /dev/null +++ b/ansible/roles/sway/tasks/peruser.yaml @@ -0,0 +1,29 @@ +- 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/foo" + +# - 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: foo.conf +# dest: .config/foo/foo.conf + +- 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/sway/tasks/peruser_freebsd.yaml b/ansible/roles/sway/tasks/peruser_freebsd.yaml new file mode 100644 index 0000000..e69de29 diff --git a/ansible/roles/sway/tasks/peruser_linux.yaml b/ansible/roles/sway/tasks/peruser_linux.yaml new file mode 100644 index 0000000..e69de29