- name: ensure system groups exist
  become: true
  ansible.builtin.group:
    name: "{{ item }}"
    state: present
    system: true
  with_items:
    - adm
    - cdrom
    - dialout
    - dip
    - lpadmin
    - plugdev
    - sambashare
    - sudo

- name: set up user
  become: true
  ansible.builtin.user:
    append: true
    groups:
      - adm
      - cdrom
      - dialout
      - dip
      - lpadmin
      - plugdev
      - sambashare
      - sudo
    name: kyle

- name: set up common tools
  become: true
  ansible.builtin.apt: name={{ item }} state=present
  with_items:
    - curl
    - htop
    - iftop
    - iotop
    - imagemagick
    - keychain
    - libarchive-tools
    - lsof
    - mg
    - nmap
    - nvi
    - pandoc
    - par
    - powertop
    - pwgen
    - ranger
    - rlwrap
    - rsync
    - silversearcher-ag
    - sudo
    - tcpdump
    - time
    - tmux
    - tree
    - unzip
    - zsh

- name: set up tools specifically for headless systems
  when: headless
  become: true
  ansible.builtin.apt: name={{ item }} state=present
  with_items:
    - emacs-nox
    - vim-nox
