- name: Install packages package: name: - rsync - bash - tmux - lsof - mg - htop - btop - tree - curl - ncdu - ripgrep - git-crypt - wget - colordiff - ipcalc - kdiff3 - meld - tcpdump - moreutils # for ts [%Y-%m-%d %H:%M:%.S] - ddrescue state: present - name: Set timezone file: src: "/usr/share/zoneinfo/{{ timezone|default('UTC') }}" dest: /etc/localtime owner: root # TODO: Arch Linux is changing the group to root instead of wheel. Maybe make this a variable? group: wheel state: link - name: Install scripts copy: src: "files/{{ item.src }}" dest: "{{ item.dest }}" mode: 0755 owner: root group: wheel loop: - src: git_branches_by_owner_time dest: /usr/local/bin/git_branches_by_owner_time - src: rsyncclone dest: /usr/local/bin/rsyncclone - src: git_find_merged_branches dest: /usr/local/bin/git_find_merged_branches - src: cleanup_temporary_files dest: /usr/local/bin/cleanup_temporary_files - src: git_fix_author.bash dest: /usr/local/bin/git_fix_author - import_tasks: tasks/freebsd.yaml when: 'os_flavor == "freebsd"' - import_tasks: tasks/linux.yaml when: 'os_flavor == "linux"' - include_tasks: file: tasks/peruser.yaml apply: become: yes become_user: "{{ initialize_user }}" loop: "{{ users | dict2items | community.general.json_query('[?value.initialize==`true`].key') }}" loop_control: loop_var: initialize_user