---
- name: Ensure user group for greeter exists
  ansible.builtin.group:
    name: "{{ greeter_user }}"
    state: "present"

- name: Install greetd and tuigreet
  community.general.xbps:
    name:
      - greetd
      - tuigreet
    state: "{{ desired_package_state | default('present') }}"
  tags:
    - packages

- name: Set up tuigreet config for greetd
  ansible.builtin.template:
    src: greetd-config.toml.j2
    dest: "/etc/greetd/config.toml"
    owner: root
    group: root
    mode: 0644
    force: true

- name: Enable power management for _greeter user
  ansible.builtin.copy:
    content: "_greeter ALL=(ALL) NOPASSWD: /usr/sbin/shutdown, /usr/bin/reboot, /usr/bin/poweroff, /usr/bin/shutdown"
    dest: "/etc/sudoers.d/30-greeter"
    owner: root
    group: root
    mode: 0644
    force: true

- name: Activate greetd service
  ansible.builtin.file:
    src: "/etc/sv/greetd"
    dest: "/etc/runit/runsvdir/default/greetd"
    state: link