env-ansible/local.yml

188 lines
5.1 KiB
YAML
Raw Normal View History

---
# Harmonize my systems rather than doing everything manually. :)
2020-12-28 18:37:37 -06:00
2021-02-02 21:34:08 -06:00
# Setup of any device connected to this repo.
- name: Main | Default Setup
hosts: everything
connection: local
2020-12-28 20:06:41 -06:00
become: true
tasks:
- include: facts/general/system.yml
- include: facts/general/package.yml
- include: facts/general/service.yml
- include: facts/general/user.yml
2020-12-28 20:06:41 -06:00
- include: tasks/general/start.yml
- include: tasks/general/software/packages.yml
- include: tasks/general/software/services.yml
ignore_errors: yes
- include: tasks/general/software/sendmail.yml
ignore_errors: yes
when: ansible_system == "FreeBSD"
2021-02-02 21:05:46 -06:00
- 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/scripts/user.yml
- include: tasks/general/cron/ansible.yml
2021-07-13 21:16:33 -05:00
- include: tasks/general/cron/root.yml
2021-02-12 07:55:56 -06:00
# TODO Need to refactor. Maybe tasks/general/cron/freebsd.yml
- include: tasks/workstation/freebsd/cron/ansible.yml
when: ansible_system == "FreeBSD"
2020-12-28 20:06:41 -06:00
2021-02-19 08:00:20 -06:00
2021-02-02 21:34:08 -06:00
# Additional setup for systems with GUI.
- name: Main | Workstation Setup
2020-12-31 18:00:53 -06:00
hosts: workstation
connection: local
become: true
2020-12-28 20:06:41 -06:00
tasks:
- include: facts/general/system.yml
- include: facts/workstation/package.yml
- include: facts/general/service.yml
2021-07-19 07:30:37 -05:00
# Set Up Desktop Environments #
2021-02-11 07:03:04 -06:00
- include: tasks/workstation/freebsd/software/gui.yml
when: ansible_system == "FreeBSD"
- include: tasks/workstation/linux/software/gnome.yml
when: ansible_system == "Linux"
General Release (#17) * Add a few aliases for initializing projects. * Begin creating executables in bin for flatpaks. Create an array to reduce future changes. * Add quotes. * Create files as user and set executable permissions. * Split exec dir from array section. * Increase interval for Telegraf but keep the flush at 30s. * Add alias goodbye/bye, modify alias names for initializing program and video projects. * Add newline. * Add content to file to remove warning. * Use arrays for Flatpak sections. Create executable files for them. * Move sudoer files into shared folder. * First stab at automating a GitLab install. * First stab at automating DWM install. * Fix 'usr' typo. * Lowercase dwm. * Fix config play. Install font-awesome. * Add placeholder. * Add dmenu and st. * Fix typo. Hopefully also fixes ~/bin executables. * Add Signal. Remove Discord. * Remove extra line. * Add newline. * Move dbus-launch to correct app. * Fix clock minutes. * Add server for GitLab. * Change check, package was not registering anything. * Change success to failed. * Change to http. Will use reverse proxy. * Remove useless sudo. Go ahead and allow postfix to be installed. * Fix debug option "var". * Only give the out lines. Remove exit, doesn't stop the job. * Add a few games and test them on dell-laptop. * Ignore Lutris errors, Rolling Rhino doesn't like the PPA. ;) * Add goodbye for updating then quitting. * Add airbook to gaming. * Add dnf. * Fix missing underscores. * Install cronie on Fedora. * Beginning to add Fedora. * Add Fedora values. * Make font-awesome optional since it may need installed manually on some systems. * Fix typo in ignore_errors. * Allow DWM to fail, won't work for all workstations. Fedora doesn't have X11 headers. * Most dists are using python3-psutil for the psutil package name. Make it the default. * Fix firefox_esr variable. * More Fedora support. * Move installation of cron to more applicable task list. * Fic nfs-utils typo. * The font is honestly pretty important. ;) * Add Librewolf for testing vs Brave. * For some reason the other link didn't work for Fedora, add the one from flatpak's instructions. * Fedora status update. * Add games to Inspiron. * LibreWolf is amazing. Use it as default if available. * Use English rather than code for `and` and `or`. * Always have LibreWolf pinned if it's available. Brave should still be the main browser for URL-clicking compatibility. * Fix comma. * Add entry for testing Fedora Gitlab server. * Attempt to automate more of the Gitlab setup, especially the part of being behind a reverse proxy. Also add Fedora family support. * Specify the package managers for Gitlab. * Add missing bracket. * Add another missing bracket. * Fix gitlab's when clause. * Another fix for the gitlab when. * Change original gitlab install to be Community Edition. * Fix mgr typo. Create config file if it doesn't exist. * Remove duplicate `when` on Lutris uninstall. * Gitlab script gets a packagecloud.io error for Fedora. Looks like only CentOS and its derivatives are supported. * Update status of Fedora.
2021-11-07 12:40:31 -06:00
- include: tasks/workstation/linux/software/dwm.yml
when: ansible_system in ("Linux", "FreeBSD")
ignore_errors: yes
2021-07-19 07:30:37 -05:00
# Software Tasks #
2021-02-11 07:03:04 -06:00
- include: tasks/workstation/linux/software/flatpaks.yml
2021-02-03 21:21:48 -06:00
when: ansible_system == "Linux" and flatpak_distro
2021-02-03 21:29:45 -06:00
- include: tasks/workstation/linux/software/debs.yml
when: ansible_pkg_mgr == "apt"
2021-04-10 11:33:19 -05:00
- include: tasks/workstation/linux/software/brave.yml
when: ansible_pkg_mgr == "apt"
2021-02-07 13:02:00 -06:00
2021-07-19 07:38:33 -05:00
- include: tasks/workstation/mac-os/software/brew.yml
when: ansible_system == "Darwin"
- include: tasks/workstation/mac-os/software/dmg.yml
when: ansible_system == "Darwin"
2021-07-19 07:30:37 -05:00
# Configuration Tasks #
- include: tasks/workstation/settings/gnome.yml
2021-02-11 07:03:04 -06:00
- include: tasks/workstation/linux/cron/ansible.yml
2021-02-07 13:02:00 -06:00
when: ansible_system == "Linux"
- include: tasks/workstation/settings/nfs.yml
2021-07-14 07:08:27 -05:00
- include: tasks/workstation/settings/rdp.yml
when: rdp is defined
2021-07-14 07:29:12 -05:00
- include: tasks/workstation/settings/vnc.yml
when: vnc is defined
- include: tasks/workstation/settings/services.yml
ignore_errors: yes
2021-02-19 08:00:20 -06:00
# Additional setup for miners!
2021-02-11 12:12:52 -06:00
- name: Main | Miner Setup
hosts: miner
connection: local
become: true
tasks:
##### Setup #####
- include: tasks/miner/debug.yml
2021-02-15 18:42:52 -06:00
- include: facts/miner/gather.yml
2021-02-15 10:23:23 -06:00
- include: tasks/miner/acct_mgmt/users.yml
2021-02-15 15:26:19 -06:00
- include: facts/miner/system.yml
2021-02-15 16:12:20 -06:00
- include: facts/miner/config.yml
- include: facts/miner/pool.yml
##### Installations #####
### 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 #####
- include: tasks/miner/cron/ansible.yml
- include: tasks/miner/cron/mfn.yml
2021-02-19 08:00:20 -06:00
# Easy to deploy server configurations.
- name: Main | Server Setup
hosts: server
connection: local
become: true
tasks:
- include: tasks/server/software/onlyoffice.yml
2021-02-19 08:00:20 -06:00
when: onlyoffice is defined and ansible_pkg_mgr == "apt"
- include: tasks/server/software/influxdb1.yml
when: influxdb1 is defined and ansible_pkg_mgr == "apt"
- include: tasks/server/software/influxdb2.yml
when: influxdb2 is defined and ansible_pkg_mgr == "apt"
- include: tasks/server/software/grafana.yml
when: grafana is defined and ansible_pkg_mgr == "apt"
2021-04-10 12:18:09 -05:00
- include: tasks/server/software/certbot.yml
when: certbot is defined
- include: tasks/server/cron/certbot.yml
when: certbot is defined
2021-03-16 19:44:55 -05:00
2021-07-13 06:21:05 -05:00
- include: tasks/server/software/hugo.yml
when: hugo is defined
2021-07-14 06:33:28 -05:00
- include: tasks/server/software/gitlab.yml
General Release (#17) * Add a few aliases for initializing projects. * Begin creating executables in bin for flatpaks. Create an array to reduce future changes. * Add quotes. * Create files as user and set executable permissions. * Split exec dir from array section. * Increase interval for Telegraf but keep the flush at 30s. * Add alias goodbye/bye, modify alias names for initializing program and video projects. * Add newline. * Add content to file to remove warning. * Use arrays for Flatpak sections. Create executable files for them. * Move sudoer files into shared folder. * First stab at automating a GitLab install. * First stab at automating DWM install. * Fix 'usr' typo. * Lowercase dwm. * Fix config play. Install font-awesome. * Add placeholder. * Add dmenu and st. * Fix typo. Hopefully also fixes ~/bin executables. * Add Signal. Remove Discord. * Remove extra line. * Add newline. * Move dbus-launch to correct app. * Fix clock minutes. * Add server for GitLab. * Change check, package was not registering anything. * Change success to failed. * Change to http. Will use reverse proxy. * Remove useless sudo. Go ahead and allow postfix to be installed. * Fix debug option "var". * Only give the out lines. Remove exit, doesn't stop the job. * Add a few games and test them on dell-laptop. * Ignore Lutris errors, Rolling Rhino doesn't like the PPA. ;) * Add goodbye for updating then quitting. * Add airbook to gaming. * Add dnf. * Fix missing underscores. * Install cronie on Fedora. * Beginning to add Fedora. * Add Fedora values. * Make font-awesome optional since it may need installed manually on some systems. * Fix typo in ignore_errors. * Allow DWM to fail, won't work for all workstations. Fedora doesn't have X11 headers. * Most dists are using python3-psutil for the psutil package name. Make it the default. * Fix firefox_esr variable. * More Fedora support. * Move installation of cron to more applicable task list. * Fic nfs-utils typo. * The font is honestly pretty important. ;) * Add Librewolf for testing vs Brave. * For some reason the other link didn't work for Fedora, add the one from flatpak's instructions. * Fedora status update. * Add games to Inspiron. * LibreWolf is amazing. Use it as default if available. * Use English rather than code for `and` and `or`. * Always have LibreWolf pinned if it's available. Brave should still be the main browser for URL-clicking compatibility. * Fix comma. * Add entry for testing Fedora Gitlab server. * Attempt to automate more of the Gitlab setup, especially the part of being behind a reverse proxy. Also add Fedora family support. * Specify the package managers for Gitlab. * Add missing bracket. * Add another missing bracket. * Fix gitlab's when clause. * Another fix for the gitlab when. * Change original gitlab install to be Community Edition. * Fix mgr typo. Create config file if it doesn't exist. * Remove duplicate `when` on Lutris uninstall. * Gitlab script gets a packagecloud.io error for Fedora. Looks like only CentOS and its derivatives are supported. * Update status of Fedora.
2021-11-07 12:40:31 -06:00
when: gitlab is defined and ansible_pkg_mgr in ("apt", "dnf") and ansible_distribution not in ("Fedora")
2021-07-14 06:33:28 -05:00
2021-02-19 08:00:20 -06:00
# Provide information for analysis.
- name: Main | Reporting
hosts: everything
2020-12-31 18:00:53 -06:00
connection: local
become: true
tasks:
- include: tasks/general/software/telegraf.yml
2021-02-03 21:29:45 -06:00
- include: tasks/general/tests/nmap.yml
- include: tasks/general/tests/lynis.yml
- include: tasks/general/finish.yml