- 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
      - xdg-desktop-portal
      - xdg-desktop-portal-wlr # screen sharing
      - wtype # for rofimoji to be able to insert characters
      - dbus # for desktop notifications
      - jq
      - vulkan-validation-layers # For vulkan support in sway
      # - adwaita-qt5 # For dark theme
      # - adwaita-qt6 # For dark theme
    state: present

- name: Install scripts
  copy:
    src: "files/{{ item.src }}"
    dest: "{{ item.dest }}"
    mode: 0755
    owner: root
    group: wheel
  loop:
    - src: enable_notifications.bash
      dest: /usr/local/bin/enable_notifications
    - src: disable_notifications.bash
      dest: /usr/local/bin/disable_notifications

- 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
