---

# Copy sources.list
- name: Copying {{ ansible_distribution }} {{ ansible_distribution_major_version }} /etc/apt/sources.list
  copy:
    src: files/{{ ansible_distribution }}/{{ ansible_distribution_major_version }}/sources.list
    dest: /etc/apt/sources.list
    mode: 0644
  when: modify_apt_sources == True

# Ignore apt translations
- name: Ignoring {{ ansible_distribution }} {{ ansible_distribution_major_version }} APT Translations
  copy:
    src: files/{{ ansible_distribution }}/99translations
    dest: /etc/apt/apt.conf.d/99translations
    mode: 0644
  when: modify_apt_sources == True

# Physical Server
- name: Configuring {{ ansible_distribution }} {{ ansible_distribution_major_version }} Physical Server
  apt:
    update_cache: yes
    state: present
    name:
      - ifenslave         # NIC bonding and LACP
      - bridge-utils      # NIC bridging
      - vlan              # NIC VLAN tagging
      - ethtool           # LAN speed and blinking
      - firmware-linux    # Install all firmware including nonfree and misc
      - kpartx            # To examine subpartitions of VM images
      - ntfs-3g           # To examine NTFS VM images
      - smartmontools     # S.M.A.R.T hard drive tools
  when: type == 'physical'

# Virtual Machine
# N/A - name: Configuring {{ ansible_distribution }} {{ ansible_distribution_major_version }} Virtual Machine
# N/A   when: type == 'virtual'

# Install common apps (physical or virtual)
- name: Installing {{ ansible_distribution }} {{ ansible_distribution_major_version }} Applications
  apt:
    update_cache: yes
    state: present
    name:
      - apt-transport-https # For https apt repos
      - openssh-server      # SSH server
      - sudo                # Sudo access for users
      - net-tools           # Deprecated ifconfig
      - nmap                # Port scanner
      - ethtool             # LAN information for debugging
      - iperf               # Network performance for debugging
      - sysstat             # Performance stats
      - iotop               # Data I/O top (for hard drive read/write analysis)
      - iftop               # Network top to watch network usage
      - vim                 # Vim text editor
      - nano                # Nano text editor
      - rsync               # Rsync protocol
      - curl                # Web downloader
      - wget                # Web downloader
      - htop                # Graphical top alternative
      - plocate             # Full-text search for all files (a faster mlocate)
      - zip                 # Zip utility
      - unzip               # Unzip utility
      - gzip                # Gzip utility
      - git                 # Git source control
      - nfs-common          # Connect to a NFS server
      - cifs-utils          # Connect to a Samba server
      - dos2unix            # Convert dos line endings to unix and visa versa
      - acl                 # I customize directories often with ACL
      - dnsutils            # Dig command and other dns commands
      # NOTE, ntp is no longer used for Debian 13 as it uses systemd-timesyncd
