diff --git a/local.yml b/local.yml index 9104e04..e7c90c3 100644 --- a/local.yml +++ b/local.yml @@ -10,11 +10,12 @@ tasks: ####### Header ####### + - name: Main | Header ansible.builtin.include_tasks: tasks/header.yml - ####### Workstations ####### + # Additional setup for systems with GUI. - name: Main | Workstation Setup block: @@ -30,6 +31,7 @@ # Window Managers without true Desktop Environments # - ansible.builtin.include_tasks: tasks/workstation/shared/software/dwm.yml when: internet + - ansible.builtin.include_tasks: tasks/workstation/shared/software/i3.yml when: internet @@ -43,7 +45,9 @@ - ansible.builtin.include_tasks: tasks/workstation/linux/software/gnome.yml when: ansible_service_mgr == "systemd" + - ansible.builtin.include_tasks: tasks/workstation/linux/software/cinnamon.yml + - ansible.builtin.include_tasks: tasks/workstation/linux/software/lxqt.yml when: ansible_system == "Linux" @@ -56,12 +60,19 @@ block: - ansible.builtin.include_tasks: tasks/workstation/linux/software/packages.yml + - ansible.builtin.include_tasks: tasks/workstation/linux/software/tlp.yml + - ansible.builtin.include_tasks: tasks/workstation/linux/software/lutris.yml + - ansible.builtin.include_tasks: tasks/workstation/linux/software/vscodium.yml + - ansible.builtin.include_tasks: tasks/workstation/linux/software/vpn.yml + - ansible.builtin.include_tasks: tasks/workstation/linux/software/nodejs.yml + - ansible.builtin.include_tasks: tasks/workstation/linux/software/hugo.yml + - ansible.builtin.include_tasks: tasks/workstation/linux/software/brave.yml when: ansible_pkg_mgr in ("apt", "dnf", "zypper") and not mobile @@ -81,7 +92,9 @@ block: - ansible.builtin.include_tasks: tasks/workstation/shared/settings/gnome.yml + - ansible.builtin.include_tasks: tasks/workstation/shared/settings/cinnamon.yml + - ansible.builtin.include_tasks: tasks/workstation/shared/settings/xdg_autostart.yml - ansible.builtin.include_tasks: tasks/workstation/linux/cron/ansible.yml @@ -98,6 +111,7 @@ when: vnc - ansible.builtin.include_tasks: tasks/workstation/shared/settings/services.yml + - ansible.builtin.include_tasks: tasks/workstation/shared/settings/templates.yml ## Final Tasks (SLOW) ## @@ -106,9 +120,13 @@ - ansible.builtin.include_tasks: tasks/workstation/linux/software/flatpaks.yml when: flatpak_distro + - ansible.builtin.include_tasks: tasks/workstation/linux/software/java.yml + - ansible.builtin.include_tasks: tasks/workstation/linux/software/flutter.yml + - ansible.builtin.include_tasks: tasks/workstation/linux/software/android.yml + - ansible.builtin.include_tasks: tasks/workstation/linux/software/llm.yml when: ansible_system == "Linux" @@ -116,7 +134,6 @@ when: workstation - # No longer mining, this is now considered deprecated. # ####### Miners ####### # @@ -157,8 +174,8 @@ # # when: miner - ####### Servers ####### + # Easy to deploy server configurations. - name: Main | Server Setup block: @@ -170,6 +187,7 @@ - name: Main | Server Setup | Certbot ansible.builtin.include_tasks: tasks/server/software/certbot.yml + - name: Main | Server Setup | Certbot Cron ansible.builtin.include_tasks: tasks/server/cron/certbot.yml when: certbot @@ -179,10 +197,13 @@ - name: Main | Server Setup | OnlyOffice ansible.builtin.include_tasks: tasks/server/software/onlyoffice.yml when: onlyoffice + - ansible.builtin.include_tasks: tasks/server/software/influxdb1.yml when: influxdb1 + - ansible.builtin.include_tasks: tasks/server/software/influxdb2.yml when: influxdb2 + - ansible.builtin.include_tasks: tasks/server/software/grafana.yml when: grafana @@ -193,8 +214,8 @@ when: server - ####### Reporting ####### + # Provide information for analysis. - name: Main | Reporting block: @@ -203,10 +224,12 @@ when: internet - 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 - ####### Footer ####### + - name: Main | Footer ansible.builtin.include_tasks: tasks/footer.yml diff --git a/tasks/header.yml b/tasks/header.yml index f944c62..34ca63e 100644 --- a/tasks/header.yml +++ b/tasks/header.yml @@ -1,40 +1,46 @@ --- ####### 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: @@ -46,6 +52,7 @@ when: workstation ####### NixOS ####### + # Install the .nix files and do a little data setup. - name: Main | NixOS Setup block: @@ -59,12 +66,17 @@ 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 @@ -78,7 +90,9 @@ # 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: NixOS | Complete @@ -86,8 +100,8 @@ when: ansible_distribution == "NixOS" - ####### General ####### + # Basic setup for all enabled systems. - name: Main | General Setup block: @@ -119,8 +133,11 @@ - ansible.builtin.include_tasks: tasks/general/settings/keyboard.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 when: internet @@ -128,7 +145,9 @@ when: internet - 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