---
- name: Check theme name
  fail:
    msg: Variable 'theme' needs to be 'nord', 'onedark' or 'catppuccin'
  when: not theme in [ 'nord', 'onedark', 'catppuccin' ]

- name: Check clipboard manager name
  fail:
    msg: Variable 'clipboard' needs to be 'clipman' or 'cliphist'
  when: not clipboard in [ 'clipman', 'cliphist' ]

- name: Check notification daemon name
  fail:
    msg: Variable 'notification' needs to be 'dunst', 'mako' or 'fnott'
  when: not notification in [ 'dunst', 'mako', 'fnott' ]

- name: Check multiplexer name
  fail:
    msg: Variable 'multiplexer' needs to be 'zellij' or 'tmux'
  when: not multiplexer in [ 'zellij', 'tmux' ]

- name: Check application launcher name
  fail:
    msg: Variable 'launcher' needs to be 'fuzzel', 'wofi' or 'rofi'
  when: not launcher in [ 'fuzzel', 'wofi', 'rofi' ]

- name: Check the number of terminal emulators
  fail:
    msg: Need at least 2 terminal emulators
  when: ( terminal | length() ) < 2

- name: Check variable type of umask
  fail:
    msg: Variable 'umask' needs to be a string
  when: not umask is string
