- name: Ask user for type of install and GPU drivers
  hosts: all
  become: true
  gather_facts: false

  vars_prompt:
    - name: gpu_driver_choice
      prompt: "What drivers do you want for your gpu?"
      choices:
        - "NVIDIA"
        - "AMD"
        - "Intel"
      private: no

    - name: enable_coding_module
      prompt: "Do you want to install the coding packages?"
      type: list
      choices:
        - "Yes"
        - "No"
      private: no

    - name: enable_gaming_module
      prompt: "Do you want to install the gaming packages?"
      type: list
      choices:
        - "Yes"
        - "No"
      private: no

    - name: enable_multimedia_module
      prompt: "Do you want to install the multimedia packages?"
      type: list
      choices:
        - "Yes"
        - "No"
      private: no

  block:
    - name: Install base packages for the system
      include_tasks: base.yml

    - name: Install GPU drivers
      include_tasks: "drivers/{{ gpu_driver_choice | lower }}.yml"
      when: gpu_driver_choice is defined

    - name: Install coding packages
      include_tasks: "modules/coding.yml"
      when: enable_coding_module == "Yes"

    - name: Install gaming packages
      include_tasks: "modules/gaming.yml"
      when: enable_gaming_module == "Yes"

    - name: Install multimedia packages
      include_tasks: "modules/multimedia.yml"
      when: enable_multimedia_module == "Yes"
