General Improvements + FreeBSD Fixes (#15)

* 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.
This commit is contained in:
Hyperling 2021-10-18 07:13:49 -05:00 committed by GitHub
parent db9812bb92
commit 107374d93c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 49 additions and 15 deletions

View File

@ -2,20 +2,20 @@
Getting real with system management via ansible-pull. Getting real with system management via ansible-pull.
## Disclaimer ## Disclaimer
This setup is specific tom the maintainer's devices and needs. You're welcome to use it as an example for your needs, but do not expect it to work as-is. This setup is specific to the maintainer's devices and needs. You're welcome to use it as an example for your needs, but do not expect it to work as-is.
## Currently Supported Linux Systems ## Currently Supported Linux Systems
### Debian Family ### Debian Family
#### Debian #### Debian
But only if using a recent enough version of Ansible. `pip` likely has a better version than `apt`. 100%, but only if using a recent enough version of Ansible. `pip` usually has a better version than `apt`.
#### Ubuntu #### Ubuntu
100% 100%, both server and desktop.
#### Pop!_OS #### Pop!_OS
100% 100%, have not used for a while though.
#### Mint #### Mint
But not really used, just tested once for fun. 100%, but not really used, just tested once for fun.
#### Parrot Security OS (MATE) #### Parrot Security OS (MATE)
Still testing, but so far so good! 100% for a while, but OS did not serve maintainer's needs and 404 errors were terrible. Ubuntu Rolling Rhino filled the gap.
### Arch Family ### Arch Family
#### Manjaro #### Manjaro
@ -23,7 +23,7 @@ Still testing, but so far so good!
## Currently Supported Unix Systems ## Currently Supported Unix Systems
### FreeBSD 12, 13 ### FreeBSD 12, 13
100%, although GUI has not been tested on 13 yet. 100%, although GUI is not working completely on 13 yet (dash-to-dock doesn't compile).
Software choices are slightly more limited since not `flatpak`-enabled and not feeling a `ports` setup. Software choices are slightly more limited since not `flatpak`-enabled and not feeling a `ports` setup.
## Waiting To Be Tested ## Waiting To Be Tested

View File

@ -59,7 +59,7 @@
echo "*** Pkg ***" && echo "*** Pkg ***" &&
sudo pkg update && sudo pkg update &&
sudo pkg upgrade && sudo pkg upgrade &&
when: ansible_pkg_mgr == "pkg" when: ansible_pkg_mgr in ("pkg", "pkgng")
- name: General | Facts | Package | Update Commands | parrot-upgrade - name: General | Facts | Package | Update Commands | parrot-upgrade
set_fact: set_fact:

View File

@ -33,7 +33,7 @@
- name: Miner | Facts | System | nanominer 1 - name: Miner | Facts | System | nanominer 1
set_fact: set_fact:
nanominer_home: "{{ user_mfn.home }}/nanominer" nanominer_home: "{{ user_mfn.home }}/nanominer"
nanominer_version: "3.3.12" # Download link: https://github.com/nanopool/nanominer/releases nanominer_version: "3.3.13" # Download link: https://github.com/nanopool/nanominer/releases
nanominer_script: "{{ user_mfn.home }}/nanominer.sh" nanominer_script: "{{ user_mfn.home }}/nanominer.sh"
nanominer_tar_remote: "InstallFiles/Miners/nanominer/*.tar.gz" nanominer_tar_remote: "InstallFiles/Miners/nanominer/*.tar.gz"

View File

@ -19,6 +19,7 @@
appimagelauncher: htop #placeholder appimagelauncher: htop #placeholder
nfs: nfs-common nfs: nfs-common
msgfmt: gettext msgfmt: gettext
make: make
- name: Workstation | Facts | Package | Pop_OS! - name: Workstation | Facts | Package | Pop_OS!
@ -76,5 +77,6 @@
firefox_esr: firefox-esr firefox_esr: firefox-esr
psutil: py38-psutil psutil: py38-psutil
ansible_python_interpreter: "/usr/local/bin/python3.8" ansible_python_interpreter: "/usr/local/bin/python3.8"
make: gmake # make comes with OS and cannot be installed with pkg. Try using gmake for better luck.
when: ansible_system == "FreeBSD" when: ansible_system == "FreeBSD"

View File

@ -1 +1,2 @@
ansible ALL=(ALL) NOPASSWD: ALL
ansible ALL=(ALL) NOPASSWD: ALL

View File

@ -1 +1,2 @@
%sudo ALL=(ALL) ALL
%sudo ALL=(ALL) ALL

5
hosts
View File

@ -62,8 +62,11 @@ silicon-power
; nanominer_gpu_pool : Set to pool organization to use for GPU mining ; nanominer_gpu_pool : Set to pool organization to use for GPU mining
; Valid values: nanopool etherpool f2pool ; Valid values: nanopool etherpool f2pool
; ;
; eth_minhashrate : Set to minimum hashrate over 10 minutes before restarting. Can accept M for Million and K for thousand.
; Example: 100K
;
usb-miner amdgpu=true nanominer=true nanominer_gpu=eth nanominer_gpus=0 nanominer_gpu_pool=nanopool usb-miner amdgpu=true nanominer=true nanominer_gpu=eth nanominer_gpus=0 nanominer_gpu_pool=nanopool
x570 amdgpu=true nanominer=true nanominer_gpu=eth nanominer_gpus=0 nanominer_gpu_pool=nanopool x570 amdgpu=true nanominer=true nanominer_gpu=eth nanominer_gpus=0 nanominer_gpu_pool=nanopool eth_minhashrate=50M
;x570 amdgpu=true ethminer=true ;x570 amdgpu=true ethminer=true
[server] [server]

View File

@ -40,7 +40,7 @@
# Additional setup for systems with GUI. # Additional setup for systems with GUI.
- name: Main | Workstation UI Setup - name: Main | Workstation Setup
hosts: workstation hosts: workstation
connection: local connection: local
become: true become: true
@ -48,6 +48,7 @@
tasks: tasks:
- include: facts/general/system.yml - include: facts/general/system.yml
- include: facts/workstation/package.yml - include: facts/workstation/package.yml
- include: facts/general/service.yml
# Set Up Desktop Environments # # Set Up Desktop Environments #
- include: tasks/workstation/freebsd/software/gui.yml - include: tasks/workstation/freebsd/software/gui.yml
@ -84,6 +85,9 @@
when: rdp is defined when: rdp is defined
- include: tasks/workstation/settings/vnc.yml - include: tasks/workstation/settings/vnc.yml
when: vnc is defined when: vnc is defined
- include: tasks/workstation/settings/services.yml
ignore_errors: yes

View File

@ -144,6 +144,7 @@
return 1 return 1
} }
sync: alias sync='date && echo "Syncing!" && sync && date' sync: alias sync='date && echo "Syncing!" && sync && date'
editor: export EDITOR='vi'
- name: General | Account Management | Users | Files | Common Variable - name: General | Account Management | Users | Files | Common Variable
set_fact: set_fact:
@ -159,6 +160,7 @@
{{ remount }} {{ remount }}
{{ update }} {{ update }}
{{ sync }} {{ sync }}
{{ editor }}
- name: General | Account Management | Users | Files | .bashrc - name: General | Account Management | Users | Files | .bashrc
blockinfile: blockinfile:

View File

@ -106,6 +106,9 @@
email = me@hyperling.com email = me@hyperling.com
sortPools = true sortPools = true
memTweak = 0 memTweak = 0
minHashrate = {{ eth_minhashrate }}
restarts = 0
maxRejectedShares = 1
marker: ';{mark} MANAGED BY ANSIBLE - GPU Headers' marker: ';{mark} MANAGED BY ANSIBLE - GPU Headers'
marker_begin: ';;;;;;;;;;;; BEGIN' marker_begin: ';;;;;;;;;;;; BEGIN'
marker_end: ' END' marker_end: ' END'

View File

@ -52,13 +52,13 @@
- name: Workstation | Account Management | GNOME | Dash To Dock | Install | Dependencies - name: Workstation | Account Management | GNOME | Dash To Dock | Install | Dependencies
package: package:
name: name:
- make - "{{ make }}"
- "{{ msgfmt }}" - "{{ msgfmt }}"
state: present state: present
when: ansible_distribution not in ("Ubuntu") and dash_to_dock_exists.failed when: ansible_distribution not in ("Ubuntu") and dash_to_dock_exists.failed
- name: Workstation | Account Management | GNOME | Dash To Dock | Install | Make - name: Workstation | Account Management | GNOME | Dash To Dock | Install | Make
shell: "cd ~/TRASH/dash-to-dock/; make; make install" shell: "cd ~/TRASH/dash-to-dock/; {{ make }}; {{ make }} install"
become_user: ling become_user: ling
when: ansible_distribution not in ("Ubuntu") and dash_to_dock_exists.failed when: ansible_distribution not in ("Ubuntu") and dash_to_dock_exists.failed

View File

@ -0,0 +1,18 @@
---
# Enable and disable services.
## CUPS ##
- name: General | Software | Services | Disable CUPS Daemon
service:
name: "{{ cups }}"
pattern: "{{ cups_pattern }}"
state: started
enabled: yes
- name: General | Software | Services | Disable CUPS-Browse Daemon
service:
name: "{{ cups_browse }}"
pattern: "{{ cups_browse_pattern }}"
state: started
enabled: yes