---
- hosts        : workstation
  connection   : local

  vars_files:
    - vars/apps.yml
    - vars/system.yml

  roles:
    # init
    - { role: common/init, tags: [ "install", "init" ] }

    # get facts from shell
    - { role: common/shell_facts, tags: [ "install" ] }

    # apps
    - { role: apps/backup, tags: [ "install", "apps" ] }
    - { role: apps/install, tags: [ "install", "apps" ] }
    - { role: apps/undo, tags: [ "undo", "apps" ] }

    # system
    - { role: system/backup, tags: [ "install", "system" ] }
    - { role: system/install, tags: [ "install", "system" ] }
    - { role: system/undo, tags: [ "undo", "system" ] }

    # config
    - { role: config/install, tags: [ "install", "config" ] }

    # clean up
    - { role: common/clean_up, tags: [ "install", "undo" ] }
    - { role: common/space_cowboy, tags: [ "install", "undo" ] }

---
- hosts        : workstation
  connection   : local

  vars_files:
    - vars/apps.yml
    - vars/system.yml

  roles:
    # init
    - { role: common/init, tags: [ "install", "init" ] }

    # check sudo
    - { role: common/check_sudo, tags: [ "install" ] }
    
    # get facts from shell
    - { role: common/shell_facts, tags: [ "install" ] }

    # apps
    - { role: apps/backup, tags: [ "install", "apps" ] }
    - { role: apps/install, tags: [ "install", "apps" ] }
    - { role: apps/undo, tags: [ "undo", "apps" ] }

    # system
    - { role: system/backup, tags: [ "install", "system" ] }
    - { role: system/install, tags: [ "install", "system" ] }
    - { role: system/undo, tags: [ "undo", "system" ] }

    # config
    - { role: config/install, tags: [ "install", "config" ] }

    # clean up
    - { role: common/clean_up, tags: [ "install", "undo" ] }
    - { role: common/space_cowboy, tags: [ "install", "undo" ] }

Move sudo check outside of init, so it doesn't break init
Move sudo check outside of init, so it doesn't break init