--- # Harmonize my systems rather than doing everything manually. :) # Setup of any device connected to this repo. - name: Main | Default Setup hosts: localhost connection: local become: true pre_tasks: - include: facts/general/system.yml - include: facts/general/package.yml - include: facts/general/service.yml - include: facts/general/user.yml - include: tasks/general/start.yml tasks: - include: tasks/general/software/packages.yml - include: tasks/general/software/services.yml ignore_errors: yes - include: facts/general/gather.yml - include: tasks/general/acct_mgmt/groups.yml - include: tasks/general/acct_mgmt/users.yml - include: tasks/general/acct_mgmt/sudo.yml - include: tasks/general/acct_mgmt/keys.yml - include: tasks/general/acct_mgmt/mounts.yml - include: tasks/general/scripts/root.yml - include: tasks/general/cron/ansible.yml # TODO Need to refactor. Maybe tasks/general/cron/freebsd.yml - include: tasks/workstation/freebsd/cron/ansible.yml when: ansible_system == "FreeBSD" # Additional setup for systems with GUI. - name: Main | Workstation UI Setup hosts: workstation connection: local become: true pre_tasks: - include: facts/workstation/package.yml tasks: # Set up any systems that do not come with Desktop Environments # TODO Need to refactor. Maybe tasks/workstation/setup_gui/freebsd.yml - include: tasks/workstation/freebsd/software/gui.yml when: ansible_system == "FreeBSD" # Additional tasks to configure systems with Desktop Environments - include: tasks/workstation/linux/software/flatpaks.yml when: ansible_system == "Linux" and flatpak_distro - name: Workstation | Linux | Packages | Not Implemented shell: echo "Not implemented yet. :(" when: ansible_system == "Linux" and not flatpak_distro - include: tasks/workstation/linux/cron/ansible.yml when: ansible_system == "Linux" post_tasks: - include: tasks/workstation/settings/gnome.yml # Additional setup for miners! - name: Main | Miner Setup hosts: miner connection: local become: true pre_tasks: - include: tasks/miner/debug.yml - include: facts/miner/gather.yml - include: tasks/miner/acct_mgmt/users.yml - include: facts/miner/system.yml - include: facts/miner/config.yml - include: facts/miner/pool.yml # Installations tasks: ### CPU SECTION ### # Monero # - include: tasks/miner/software/xmr-stak-cpu.yml when: xmr_stak_cpu is defined ### GPU Section ### ## Drivers ## - include: tasks/miner/drivers/amdgpu.yml when: ansible_distribution == "Ubuntu" and amdgpu is defined # Ethereum # - include: tasks/miner/software/ethminer.yml when: ethminer is defined - include: tasks/miner/software/nanominer.yml when: nanominer is defined # Scheduling post_tasks: - include: tasks/miner/cron/ansible.yml - include: tasks/miner/cron/mfn.yml # Easy to deploy server configurations. - name: Main | Server Setup hosts: server connection: local become: true tasks: - include: tasks/server/onlyoffice.yml when: onlyoffice is defined and ansible_pkg_mgr == "apt" - include: tasks/server/grafana.yml when: grafana is defined and ansible_pkg_mgr == "apt" - include: tasks/server/influxdb.yml when: influxdb is defined and ansible_pkg_mgr == "apt" - include: tasks/server/telegraf.yml when: telegraf is defined and ansible_pkg_mgr == "apt" # Create reports to analyze security. - name: Main | Hardness Tests hosts: localhost connection: local become: true tasks: - include: tasks/general/tests/nmap.yml - include: tasks/general/tests/lynis.yml post_tasks: - include: tasks/general/finish.yml