--- ####### Lock ####### # Ensure a process is not already running. - name: Main | Lock block: - name: Main | Lock | Check ansible.builtin.include_tasks: tasks/general/tests/lock_check.yml - name: Main | Lock | Create ansible.builtin.include_tasks: tasks/general/tests/lock_create.yml ####### Gather ####### # Load facts for all systems. - name: Main | Gather block: - name: Main | Gather | Facts ansible.builtin.include_tasks: facts/general/gather.yml - name: Main | Gather | Account Management ansible.builtin.include_tasks: tasks/general/acct_mgmt/provision_config.yml - name: Main | Gather | System ansible.builtin.include_tasks: facts/general/system.yml - name: Main | Gather | Package ansible.builtin.include_tasks: facts/general/package.yml - name: Main | Gather | Service ansible.builtin.include_tasks: facts/general/service.yml - name: Main | Gather | User ansible.builtin.include_tasks: facts/general/user.yml - name: Main | Gather | Internet Check ansible.builtin.include_tasks: tasks/general/tests/internet_check.yml ####### Start ####### - name: Main | Start block: - name: Main | Start | Notify ansible.builtin.include_tasks: tasks/general/acct_mgmt/notify.yml vars: notify_message: "Provisioning Started" when: workstation ####### NixOS ####### # Install the .nix files and do a little data setup. - name: Main | NixOS block: - name: Main | NixOS | Config ansible.builtin.include_tasks: tasks/general/software/nixos.yml # TBD if we are going to use this many, then just have IF statements # and use blocks within the General area for NixOS vs not-NixOS. - name: Main | NixOS | Swap ansible.builtin.include_tasks: tasks/general/software/swap.yml - ansible.builtin.include_tasks: tasks/general/acct_mgmt/groups.yml - ansible.builtin.include_tasks: tasks/general/acct_mgmt/users.yml - ansible.builtin.include_tasks: tasks/general/acct_mgmt/sudo.yml - ansible.builtin.include_tasks: tasks/general/acct_mgmt/doas.yml - ansible.builtin.include_tasks: tasks/general/scripts/root.yml - ansible.builtin.include_tasks: tasks/general/scripts/user.yml - ansible.builtin.include_tasks: tasks/general/scripts/install.yml - ansible.builtin.include_tasks: tasks/general/cron/ansible.yml # psutil does not work in NixOS. Cannot figure out how to fix it. Maybe # time to start looking into home-manager but still not wanting to # maintain two different GNOME setups. HMMMM! - ansible.builtin.include_tasks: tasks/workstation/shared/settings/gnome.yml when: workstation # Try including these. Really need to get NixOS working with the rest! #- ansible.builtin.include_tasks: tasks/general/software/telegraf.yml # "Could not find a module for unknown."" - ansible.builtin.include_tasks: tasks/general/tests/services.yml - ansible.builtin.include_tasks: tasks/general/tests/lynis.yml - ansible.builtin.include_tasks: tasks/general/tests/nmap.yml - name: Main | NixOS | Complete ansible.builtin.meta: end_play when: ansible_distribution == "NixOS" ####### General ####### # Basic setup for all enabled systems. - name: Main | General block: - name: Main | General | Software | runit ansible.builtin.include_tasks: tasks/general/software/runit.yml - name: Main | General | Software | Packages ansible.builtin.include_tasks: tasks/general/software/packages.yml when: internet - name: Main | General | Software | AUR ansible.builtin.include_tasks: tasks/general/software/aur.yml when: internet and ansible_pkg_mgr == "pacman" - name: Main | General | Software | Sendmail ansible.builtin.include_tasks: tasks/general/software/sendmail.yml when: ansible_system == "FreeBSD" and internet - name: Main | General | Software | Metasploit ansible.builtin.include_tasks: tasks/general/software/metasploit.yml when: internet # Gather again in case missing programs have now been installed. - name: Main | General | Facts [Again] ansible.builtin.include_tasks: facts/general/gather.yml - name: Main | General | Settings | Swap ansible.builtin.include_tasks: tasks/general/settings/swap.yml - name: Main | General | Settings | Services ansible.builtin.include_tasks: tasks/general/settings/services.yml - name: Main | General | Settings | Tunnel ansible.builtin.include_tasks: tasks/general/settings/tunnel.yml - name: Main | General | Settings | Keyboard ansible.builtin.include_tasks: tasks/general/settings/keyboard.yml - name: Main | General | Accounts | Groups ansible.builtin.include_tasks: tasks/general/acct_mgmt/groups.yml - name: Main | General | Accounts | Users ansible.builtin.include_tasks: tasks/general/acct_mgmt/users.yml - name: Main | General | Accounts | sudo ansible.builtin.include_tasks: tasks/general/acct_mgmt/sudo.yml - name: Main | General | Accounts | doas ansible.builtin.include_tasks: tasks/general/acct_mgmt/doas.yml when: internet - name: Main | General | Scripts | Root ansible.builtin.include_tasks: tasks/general/scripts/root.yml - name: Main | General | Scripts | User ansible.builtin.include_tasks: tasks/general/scripts/user.yml - name: Main | General | Scripts | Local ansible.builtin.include_tasks: tasks/general/scripts/install.yml - name: Main | General | Scripts | env-shared ansible.builtin.include_tasks: tasks/general/scripts/env-shared.yml when: internet - name: Main | General | Cron | Ansible ansible.builtin.include_tasks: tasks/general/cron/ansible.yml # TODO Need to refactor. Maybe tasks/general/cron/freebsd.yml - name: Main | General | Cron | Ansible [FreeBSD] ansible.builtin.include_tasks: tasks/workstation/freebsd/cron/ansible.yml when: ansible_system == "FreeBSD" when: provision