Hyperling
107374d93c
* Remove Thunderbird and Audacity. Don't add Geary to new installs but don't remove it in case it comes with the distro. * Remove Thunderbird from Favorites. * Add more systems to Dev branch. * Add sudo so older distros don't ask for password on every app update. * Alias for sync to help save some time typing. * Post less often to hopefully allow keeping up a year of data in less than 16GB. * Allow workstations to use printers without manual intervention. * Section does more than UI work. * Fix file path. * Upgrade nanominer to 3.3.13. * Add more chances for script to automatically restart. * Add the minhashrate for x570. * Up the minimum for x570. * Fix "1: syntax error, unexpected USERGROUP, expecting END or ':' or '\n'" on FreeBSD. * Correct FreeBSD package manager. ``` ansible -m setup localhost | grep ansible_pkg_mgr "ansible_pkg_mgr": "pkgng" ``` * Set vi as EDITOR. * Add FreeBSD to distros that include make. It does not have an install from pkg. * Make on FreeBSD hates dash-to-dock's Makefile. GMake has better luck. * Update supported OS's.
181 lines
4.8 KiB
YAML
181 lines
4.8 KiB
YAML
---
|
|
# Harmonize my systems rather than doing everything manually. :)
|
|
|
|
# Setup of any device connected to this repo.
|
|
- name: Main | Default Setup
|
|
hosts: everything
|
|
connection: local
|
|
become: true
|
|
|
|
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
|
|
|
|
- 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/scripts/user.yml
|
|
|
|
- include: tasks/general/cron/ansible.yml
|
|
- include: tasks/general/cron/root.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 Setup
|
|
hosts: workstation
|
|
connection: local
|
|
become: true
|
|
|
|
tasks:
|
|
- include: facts/general/system.yml
|
|
- include: facts/workstation/package.yml
|
|
- include: facts/general/service.yml
|
|
|
|
# Set Up Desktop Environments #
|
|
- include: tasks/workstation/freebsd/software/gui.yml
|
|
when: ansible_system == "FreeBSD"
|
|
|
|
- include: tasks/workstation/linux/software/gnome.yml
|
|
when: ansible_system == "Linux"
|
|
|
|
# Software Tasks #
|
|
- include: tasks/workstation/linux/software/flatpaks.yml
|
|
when: ansible_system == "Linux" and flatpak_distro
|
|
|
|
- include: tasks/workstation/linux/software/debs.yml
|
|
when: ansible_pkg_mgr == "apt"
|
|
|
|
- include: tasks/workstation/linux/software/brave.yml
|
|
when: ansible_pkg_mgr == "apt"
|
|
|
|
- include: tasks/workstation/mac-os/software/brew.yml
|
|
when: ansible_system == "Darwin"
|
|
|
|
- include: tasks/workstation/mac-os/software/dmg.yml
|
|
when: ansible_system == "Darwin"
|
|
|
|
# Configuration Tasks #
|
|
- include: tasks/workstation/settings/gnome.yml
|
|
|
|
- include: tasks/workstation/linux/cron/ansible.yml
|
|
when: ansible_system == "Linux"
|
|
|
|
- include: tasks/workstation/settings/nfs.yml
|
|
|
|
- include: tasks/workstation/settings/rdp.yml
|
|
when: rdp is defined
|
|
- include: tasks/workstation/settings/vnc.yml
|
|
when: vnc is defined
|
|
|
|
- include: tasks/workstation/settings/services.yml
|
|
ignore_errors: yes
|
|
|
|
|
|
|
|
# Additional setup for miners!
|
|
- name: Main | Miner Setup
|
|
hosts: miner
|
|
connection: local
|
|
become: true
|
|
|
|
tasks:
|
|
##### Setup #####
|
|
- 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 #####
|
|
### 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
|
|
|
|
|
|
|
|
# Easy to deploy server configurations.
|
|
- name: Main | Server Setup
|
|
hosts: server
|
|
connection: local
|
|
become: true
|
|
|
|
tasks:
|
|
- include: tasks/server/software/onlyoffice.yml
|
|
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"
|
|
|
|
- include: tasks/server/software/certbot.yml
|
|
when: certbot is defined
|
|
- include: tasks/server/cron/certbot.yml
|
|
when: certbot is defined
|
|
|
|
- include: tasks/server/software/hugo.yml
|
|
when: hugo is defined
|
|
|
|
- include: tasks/server/software/gitlab.yml
|
|
when: gitlab is defined
|
|
|
|
|
|
|
|
# Provide information for analysis.
|
|
- name: Main | Reporting
|
|
hosts: everything
|
|
connection: local
|
|
become: true
|
|
|
|
tasks:
|
|
- include: tasks/general/software/telegraf.yml
|
|
|
|
- include: tasks/general/tests/nmap.yml
|
|
- include: tasks/general/tests/lynis.yml
|
|
|
|
- include: tasks/general/finish.yml
|