--- # Should contain only small tools that everyone can't live without - name: Install basic tools when: ansible_os_family == "Debian" apt: name: - sudo - molly-guard # prevent reboot - ntp # network time sync - apt # better than apt-get - nano # for vulcain - vim # better than nano - emacs-nox # for maman - htop # better than top - zsh # to be able to ssh @erdnaxe - fish # to motivate @edpibu - oidentd # postgresql identification - aptitude # nice to have for Ansible - acl # advanced ACL - iotop # monitor i/o - tree # create a graphical tree of files - bash-completion # because bash - git # code versioning - less # i like cats - screen # Vulcain asked for this - lsb-release update_cache: true register: apt_result retries: 3 until: apt_result is succeeded # Pimp my server - name: Customize motd copy: src: "update-motd.d/{{ item }}" dest: "/etc/update-motd.d/{{ item }}" mode: 0755 loop: - 00-logo - 10-uname - name: Remove Debian warranty motd file: path: /etc/motd state: absent # Configure APT mirrors on Debian Stretch - name: Configure APT mirrors when: - ansible_distribution == 'Debian' - ansible_distribution_release == 'stretch' template: src: apt/sources.list.j2 dest: /etc/apt/sources.list mode: 0644 # Patriotisme - name: Ensure French UTF-8 locale exists locale_gen: name: fr_FR.UTF-8 state: present # Fix LC_CTYPE="C" - name: Select default locale debconf: name: locales question: locales/default_environment_locale value: fr_FR.UTF-8 vtype: select notify: Reconfigure locales # APT-List Changes : send email with changelog - include_tasks: apt-listchanges.yml # User skeleton - name: Configure user skeleton copy: src: "skel/dot_{{ item }}" dest: "/etc/skel/.{{ item }}" loop: - zshrc - zshrc.local - name: Configure resolvconf template: src: resolv.conf dest: /etc/resolv.conf mode: 0644