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:
		
							
								
								
									
										14
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								README.md
									
									
									
									
									
								
							@@ -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
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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:
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1 +1,2 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
ansible ALL=(ALL) NOPASSWD: ALL
 | 
					ansible ALL=(ALL) NOPASSWD: ALL
 | 
				
			||||||
@@ -1 +1,2 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
%sudo ALL=(ALL) ALL
 | 
					%sudo ALL=(ALL) ALL
 | 
				
			||||||
							
								
								
									
										5
									
								
								hosts
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								hosts
									
									
									
									
									
								
							@@ -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]
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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
 | 
				
			||||||
@@ -85,6 +86,9 @@
 | 
				
			|||||||
    - 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
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Additional setup for miners!
 | 
					# Additional setup for miners!
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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:
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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'
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										18
									
								
								tasks/workstation/settings/services.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								tasks/workstation/settings/services.yml
									
									
									
									
									
										Normal 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
 | 
				
			||||||
		Reference in New Issue
	
	Block a user