General Improvements + Miner Deprecation (#23)

* Add volume key controls.

* Add placeholder for LBRY app.

* Refactor gui into gnome and packages. Remove deprecated lineinfiles. Enhance package management.

* Variablize tar to fix FreeBSD.

* Variablize tar to fix FreeBSD.

* Take FreeBSD gui.yml refactor into account.

* Unfinished changes to use self-signed cert so local traffic can hit https. Server starts fine, but getting "gnutls_handshake() failed: An unexpected TLS packet was received." on client's `git clone`.

* Make D2D optional. FreeBSD is still having a hard time compiling it.

* Use a block for Dash To Dock so only one ignore_errors is necessary.

* Deprecate miner section since machines have been decommissioned.

* Remove deprecated file.

* Switch to lightdm on FreeBSD.

* Automate GPU driver installation.

* Updated DWM config and added TODO's.

* Move lynis to src folder for cleanliness.

* Remove debug.

* Refactor for "shared" system type folder.

* Fix FreeBSD gpu.yml location.

* Add a default hosts file to hide warnings.
This commit is contained in:
2022-01-10 13:41:54 +00:00
committed by GitHub
parent b26d94d911
commit 791dc245a6
21 changed files with 468 additions and 468 deletions

View File

@ -0,0 +1,43 @@
---
# Provide FreeBSD with a DE.
- name: Workstation | FreeBSD | Software | GUI | Install UI Components
package:
name:
- xorg
- gnome3-lite
- "{{ firefox_esr }}"
- "{{ evolution }}"
- vscode
- gimp
- telegram-desktop
- lightdm
- lightdm-gtk-greeter
state: present
- name: Workstation | FreeBSD | Software | GUI | Create rc.conf Entries
blockinfile:
path: "{{ rc_conf }}"
marker: "# {mark} MANAGED BY ANSIBLE | GNOME Components"
block: |
dbus_enable="YES"
hald_enable="YES"
gnome_enable="YES"
#gdm_enable="YES"
lightdm_enable="YES"
create: yes
backup: yes
- name: Workstation | FreeBSD | Software | GUI | Create fstab Entries
blockinfile:
path: /etc/fstab
block: |
proc /proc procfs rw 0 0
marker: '# {mark} MANAGED BY ANSIBLE | GNOME Components'
state: present
backup: yes
- name: Workstation | FreeBSD | Software | GUI | Mount All
shell: mount -a
args:
warn: false

View File

@ -0,0 +1,17 @@
---
# Provide FreeBSD with GPU driver.
- name: Workstation | FreeBSD | Software | GPU Driver | Install
package:
name:
- drm-kmod
state: present
- name: Workstation | FreeBSD | Software | GPU Driver | Create rc.conf Entries
blockinfile:
path: "{{ rc_conf }}"
marker: "# {mark} MANAGED BY ANSIBLE | GPU Components"
block: |
kld_list="{{ freebsd_gpu }}"
create: yes
backup: yes

View File

@ -1,63 +0,0 @@
---
# Provide FreeBSD with a DE.
- name: Workstation | FreeBSD | GUI | Install UI Components
package:
name:
- xorg
- gnome3-lite
- "{{ firefox_esr }}"
- "{{ evolution }}"
- vscode
- gimp
- telegram-desktop
state: present
- name: Workstation | FreeBSD | GUI | Uninstall Bloat
package:
name:
- "{{ firefox }}"
- "{{ thunderbird }}"
state: absent
- name: Workstation | FreeBSD | GUI | Create rc.conf Entries
blockinfile:
path: "{{ rc_conf }}"
marker: "# {mark} MANAGED BY ANSIBLE | GUI Components"
block: |
dbus_enable="YES"
hald_enable="YES"
gnome_enable="YES"
gdm_enable="YES"
create: yes
backup: yes
- name: Workstation | FreeBSD | GUI | Create proc fstab Entry
lineinfile:
path: /etc/fstab
regexp: '^proc'
line: proc /proc procfs rw 0 0
state: absent
backup: yes
- name: Workstation | FreeBSD | GUI | Create proc fstab Comment
lineinfile:
path: /etc/fstab
regexp: '^# MANAGED BY ANSIBLE | Leet Share'
line: '# MANAGED BY ANSIBLE | Leet Share'
state: absent
insertbefore: '^proc'
- name: Workstation | FreeBSD | GUI | Create fstab Entries
blockinfile:
path: /etc/fstab
block: |
proc /proc procfs rw 0 0
marker: '# {mark} MANAGED BY ANSIBLE | GUI Components'
state: present
backup: yes
- name: Workstation | FreeBSD | GUI | Mount All
shell: mount -a
args:
warn: false

View File

@ -0,0 +1,4 @@
---
# Install LBRY desktop client.
# TODO: https://github.com/lbryio/lbry-desktop#install

View File

@ -0,0 +1,74 @@
---
# Packages for FreeBSD workstation.
# General #
- name: Workstation | FreeBSD | Software | Packages | General | Install
package:
name:
- "{{ firefox_esr }}"
- "{{ evolution }}"
- telegram-desktop
- libreoffice
state: present
- name: Workstation | FreeBSD | Software | Packages | General | Uninstall Bloat
package:
name:
- "{{ firefox }}"
- "{{ thunderbird }}"
state: absent
# Coding #
- name: Workstation | FreeBSD | Software | Packages | Coding | Install
package:
name:
- vscode
state: present
when: coding == true
- name: Workstation | FreeBSD | Software | Packages | Coding | Install
package:
name:
- vscode
state: absent
when: not coding == true
# Media Editors #
- name: Workstation | FreeBSD | Software | Packages | Editing | Install
package:
name:
- gimp
- shotcut
- obs-studio
state: present
when: editing == true
- name: Workstation | FreeBSD | Software | Packages | Editing | Install
package:
name:
- gimp
- shotcut
- obs-studio
state: absent
when: not editing == true
# Gaming #
- name: Workstation | FreeBSD | Software | Packages | Gaming | Install
package:
name:
- 0ad
- supertuxkart
state: present
when: gaming == true
- name: Workstation | FreeBSD | Software | Packages | Gaming | Install
package:
name:
- 0ad
- supertuxkart
state: absent
when: not gaming == true

View File

@ -40,126 +40,130 @@
## Dash to Dock Extension ##
# Note: Validate DtD by checking /org/gnome/shell/enabled-extensions for dash-to-dock@micxgx.gmail.com
- name: Workstation | Account Management | GNOME | Dash To Dock | Check
shell: "cd ~/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/"
become_user: "{{ user }}"
register: dash_to_dock_exists
- name: Workstation | Account Management | GNOME | Dash To Dock
block:
- name: Workstation | Account Management | GNOME | Dash To Dock | Check
shell: "cd ~/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/"
become_user: "{{ user }}"
register: dash_to_dock_exists
# Install #
# https://micheleg.github.io/dash-to-dock/download.html
- name: Workstation | Account Management | GNOME | Dash To Dock | Install | Clone Repo
git:
repo: https://github.com/micheleg/dash-to-dock.git
dest: "~/TRASH/dash-to-dock/"
clone: yes
force: no
version: master
become_user: "{{ user }}"
when: ansible_distribution not in ("Ubuntu") and dash_to_dock_exists.failed
- name: Workstation | Account Management | GNOME | Dash To Dock | Install | Dependencies
package:
name:
- "{{ make }}"
- "{{ msgfmt }}"
- "{{ sassc }}"
state: present
when: ansible_distribution not in ("Ubuntu") and dash_to_dock_exists.failed
- name: Workstation | Account Management | GNOME | Dash To Dock | Install | Make
shell: "cd ~/TRASH/dash-to-dock/; {{ make }}; {{ make }} install"
become_user: "{{ user }}"
when: ansible_distribution not in ("Ubuntu") and dash_to_dock_exists.failed
- name: Workstation | Account Management | GNOME | Dash To Dock | Read Enabled Extension Array
dconf:
key: /org/gnome/shell/enabled-extensions
state: read
become_user: "{{ user }}"
register: gnome_enabled_extensions
when: ansible_distribution not in ("Ubuntu") and dash_to_dock_exists.failed
- name: Workstation | Account Management | GNOME | Dash To Dock | dconf Return Object
debug:
var: gnome_enabled_extensions
when: ansible_distribution not in ("Ubuntu") and dash_to_dock_exists.failed
# https://ansible-docs.readthedocs.io/zh/stable-2.0/rst/playbooks_filters.html#filters-for-formatting-data
- name: Workstation | Account Management | GNOME | Dash To Dock | Variables 1
set_fact:
gnome_enabled_extensions: "{{ gnome_enabled_extensions.value | replace('@as ', '') }}"
dash_to_dock_ext_comma: ""
when: ansible_distribution not in ("Ubuntu") and dash_to_dock_exists.failed
- name: Workstation | Account Management | GNOME | Dash To Dock | After replace()
debug:
var: gnome_enabled_extensions
when: ansible_distribution not in ("Ubuntu") and dash_to_dock_exists.failed
- name: Workstation | Account Management | GNOME | Dash To Dock | Variables 2
set_fact:
dash_to_dock_ext_comma: ", "
when: ansible_distribution not in ("Ubuntu") and dash_to_dock_exists.failed and gnome_enabled_extensions not in ("[]", [], "None")
- name: Workstation | Account Management | GNOME | Dash To Dock | Variables 3
set_fact:
dash_to_dock_ext_name: "{{ dash_to_dock_ext_comma }}'dash-to-dock@micxgx.gmail.com']"
when: ansible_distribution not in ("Ubuntu") and dash_to_dock_exists.failed
- name: Workstation | Account Management | GNOME | Dash To Dock | Variables 4
set_fact:
gnome_enabled_extensions: "[]"
when: ansible_distribution not in ("Ubuntu") and dash_to_dock_exists.failed and gnome_enabled_extensions == "None"
- name: Workstation | Account Management | GNOME | Dash To Dock | Print Value To Append With
debug:
var: dash_to_dock_ext_name
when: ansible_distribution not in ("Ubuntu") and dash_to_dock_exists.failed
- name: Workstation | Account Management | GNOME | Dash To Dock | Print Value To Append To
debug:
var: gnome_enabled_extensions
when: ansible_distribution not in ("Ubuntu") and dash_to_dock_exists.failed
- name: Workstation | Account Management | GNOME | Dash To Dock | Print Combined Value
debug:
msg: "{{ gnome_enabled_extensions | replace(']', dash_to_dock_ext_name) }}"
when: ansible_distribution not in ("Ubuntu") and dash_to_dock_exists.failed
- name: Workstation | Account Management | GNOME | Dash To Dock | Enable
dconf:
key: /org/gnome/shell/enabled-extensions
value: "{{ gnome_enabled_extensions | replace(']', dash_to_dock_ext_name) }}"
state: present
become_user: "{{ user }}"
when: ansible_distribution not in ("Ubuntu") and dash_to_dock_exists.failed
# Settings #
- name: Workstation | Account Management | GNOME | Dash To Dock | Dock Position
dconf:
key: /org/gnome/shell/extensions/dash-to-dock/dock-position
value: "'LEFT'"
state: present
become_user: "{{ user }}"
- name: Workstation | Account Management | GNOME | Dash To Dock | Dock Fixed
dconf:
key: /org/gnome/shell/extensions/dash-to-dock/dock-fixed
value: "true"
state: present
become_user: "{{ user }}"
- name: Workstation | Account Management | GNOME | Dash To Dock | Icon Size
dconf:
key: /org/gnome/shell/extensions/dash-to-dock/dash-max-icon-size
value: "32"
state: present
become_user: "{{ user }}"
ignore_errors: yes
# Install #
# https://micheleg.github.io/dash-to-dock/download.html
- name: Workstation | Account Management | GNOME | Dash To Dock | Install | Clone Repo
git:
repo: https://github.com/micheleg/dash-to-dock.git
dest: "~/TRASH/dash-to-dock/"
clone: yes
force: no
version: master
become_user: "{{ user }}"
when: ansible_distribution not in ("Ubuntu") and dash_to_dock_exists.failed
- name: Workstation | Account Management | GNOME | Dash To Dock | Install | Dependencies
package:
name:
- "{{ make }}"
- "{{ msgfmt }}"
- "{{ sassc }}"
state: present
when: ansible_distribution not in ("Ubuntu") and dash_to_dock_exists.failed
- name: Workstation | Account Management | GNOME | Dash To Dock | Install | Make
shell: "cd ~/TRASH/dash-to-dock/; {{ make }}; {{ make }} install"
become_user: "{{ user }}"
when: ansible_distribution not in ("Ubuntu") and dash_to_dock_exists.failed
- name: Workstation | Account Management | GNOME | Dash To Dock | Read Enabled Extension Array
dconf:
key: /org/gnome/shell/enabled-extensions
state: read
become_user: "{{ user }}"
register: gnome_enabled_extensions
when: ansible_distribution not in ("Ubuntu") and dash_to_dock_exists.failed
- name: Workstation | Account Management | GNOME | Dash To Dock | dconf Return Object
debug:
var: gnome_enabled_extensions
when: ansible_distribution not in ("Ubuntu") and dash_to_dock_exists.failed
# https://ansible-docs.readthedocs.io/zh/stable-2.0/rst/playbooks_filters.html#filters-for-formatting-data
- name: Workstation | Account Management | GNOME | Dash To Dock | Variables 1
set_fact:
gnome_enabled_extensions: "{{ gnome_enabled_extensions.value | replace('@as ', '') }}"
dash_to_dock_ext_comma: ""
when: ansible_distribution not in ("Ubuntu") and dash_to_dock_exists.failed
- name: Workstation | Account Management | GNOME | Dash To Dock | After replace()
debug:
var: gnome_enabled_extensions
when: ansible_distribution not in ("Ubuntu") and dash_to_dock_exists.failed
- name: Workstation | Account Management | GNOME | Dash To Dock | Variables 2
set_fact:
dash_to_dock_ext_comma: ", "
when: ansible_distribution not in ("Ubuntu") and dash_to_dock_exists.failed and gnome_enabled_extensions not in ("[]", [], "None")
- name: Workstation | Account Management | GNOME | Dash To Dock | Variables 3
set_fact:
dash_to_dock_ext_name: "{{ dash_to_dock_ext_comma }}'dash-to-dock@micxgx.gmail.com']"
when: ansible_distribution not in ("Ubuntu") and dash_to_dock_exists.failed
- name: Workstation | Account Management | GNOME | Dash To Dock | Variables 4
set_fact:
gnome_enabled_extensions: "[]"
when: ansible_distribution not in ("Ubuntu") and dash_to_dock_exists.failed and gnome_enabled_extensions == "None"
- name: Workstation | Account Management | GNOME | Dash To Dock | Print Value To Append With
debug:
var: dash_to_dock_ext_name
when: ansible_distribution not in ("Ubuntu") and dash_to_dock_exists.failed
- name: Workstation | Account Management | GNOME | Dash To Dock | Print Value To Append To
debug:
var: gnome_enabled_extensions
when: ansible_distribution not in ("Ubuntu") and dash_to_dock_exists.failed
- name: Workstation | Account Management | GNOME | Dash To Dock | Print Combined Value
debug:
msg: "{{ gnome_enabled_extensions | replace(']', dash_to_dock_ext_name) }}"
when: ansible_distribution not in ("Ubuntu") and dash_to_dock_exists.failed
- name: Workstation | Account Management | GNOME | Dash To Dock | Enable
dconf:
key: /org/gnome/shell/enabled-extensions
value: "{{ gnome_enabled_extensions | replace(']', dash_to_dock_ext_name) }}"
state: present
become_user: "{{ user }}"
when: ansible_distribution not in ("Ubuntu") and dash_to_dock_exists.failed
# Settings #
- name: Workstation | Account Management | GNOME | Dash To Dock | Dock Position
dconf:
key: /org/gnome/shell/extensions/dash-to-dock/dock-position
value: "'LEFT'"
state: present
become_user: "{{ user }}"
- name: Workstation | Account Management | GNOME | Dash To Dock | Dock Fixed
dconf:
key: /org/gnome/shell/extensions/dash-to-dock/dock-fixed
value: "true"
state: present
become_user: "{{ user }}"
- name: Workstation | Account Management | GNOME | Dash To Dock | Icon Size
dconf:
key: /org/gnome/shell/extensions/dash-to-dock/dash-max-icon-size
value: "32"
state: present
become_user: "{{ user }}"
- name: Workstation | Account Management | GNOME | Favorites (Linux)
dconf:
key: /org/gnome/shell/favorite-apps

View File

@ -3,6 +3,11 @@
# https://dwm.suckless.org/
# https://sites.google.com/site/lazyboxx/-articles/dwm-a-newbie-s-guide#TOC-Status-Bar
#TODO: Move this to tasks/shared/ pasth rather than tasks/linux/.
#TODO: Generate files based on blockinfile.
#TODO: Fix config.mk for FreeBSD automatically (use /usr/local/ for libs not /usr/X11RC/)
#TODO: scm.sh to use bash variable so that FreeBSD correctly hits /usr/local/bin/bash.
## Pre-reqs ##
- name: Workstation | Linux | Software | DWM | Pre-Reqs