Reorganization.

This commit is contained in:
2021-02-11 07:03:04 -06:00
parent d1d11369c9
commit b318d6a6a6
8 changed files with 8 additions and 4 deletions

View File

@ -0,0 +1,20 @@
---
# Cron jobs specific to FreeBSD
- name: General | Cron | Ansible | FreeBSD | Enable SSHFS Job
cron:
user: ansible
name: "1337 SSHFS"
special_time: reboot
job: "sudo {{ sshfs_leet_cmd }}"
state: present
disabled: no
- name: General | Cron | Ansible | FreeBSD | Enable Security Update
cron:
user: ansible
name: "Security Update"
special_time: daily
job: "sudo freebsd-update cron"
state: present
disabled: no

View File

@ -0,0 +1,60 @@
---
# Provide FreeBSD with a DE.
- name: Workstation | FreeBSD | GUI | Install UI Components
package:
name:
- xorg
- gnome3
- "{{ firefox_esr }}"
- "{{ thunderbird }}"
- vscode
state: present
- name: Workstation | FreeBSD | GUI | Uninstall Bloat
package:
name:
- "{{ firefox }}"
- "{{ evolution }}"
state: absent
- name: Workstation | FreeBSD | GUI | Create rc.conf Entries
blockinfile:
path: /etc/rc.conf
marker: "# {mark} MANAGED BY ANSIBLE | GUI Components"
block: |
dbus_enable="YES"
hald_enable="YES"
gnome_enable="YES"
gdm_enable="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,22 @@
---
# Cron jobs specific to Linux
- name: General | Cron | Ansible | Linux | Update System Flatpaks
cron:
user: ansible
name: "Update System Flatpaks"
special_time: hourly
job: "sudo flatpak update --noninteractive"
state: present
disabled: no
when: flatpak_distro
- name: General | Cron | Ansible | Linux | Update User Flatpaks
cron:
user: ansible
name: "Update User Flatpaks"
special_time: hourly
job: "sudo -u ling flatpak update --noninteractive"
state: present
disabled: no
when: flatpak_distro

View File

@ -0,0 +1,98 @@
---
# Use flatpaks because they're consistent! :)
# Flatpak Pre-reqs
- name: Workstation | Linux | Flatpak | Install Flatpak
package:
name: flatpak
update_cache: yes
- name: Workstation | Linux | Flatpak | Add Flathub for System
flatpak_remote:
name: flathub
state: present
method: system
flatpakrepo_url: https://dl.flathub.org/repo/flathub.flatpakrepo
# Flatpak Installs
- name: Workstation | Linux | Flatpak | Install Discord
flatpak:
name: com.discordapp.Discord
remote: flathub
state: present
- name: Workstation | Linux | Flatpak | Install Shotcut
flatpak:
name: org.shotcut.Shotcut
remote: flathub
state: present
- name: Workstation | Linux | Flatpak | Remove Firefox (It's Broke Boys!)
flatpak:
name: org.mozilla.firefox
remote: flathub
state: absent
- name: Workstation | Linux | Flatpak | Install Thunderbird
flatpak:
name: org.mozilla.Thunderbird
remote: flathub
state: present
- name: Workstation | Linux | Flatpak | Install LBRY
flatpak:
name: io.lbry.lbry-app
remote: flathub
state: present
- name: Workstation | Linux | Flatpak | Install Steam
flatpak:
name: com.valvesoftware.Steam
remote: flathub
state: present
- name: Workstation | Linux | Flatpak | Install Android Studio
flatpak:
name: com.google.AndroidStudio
remote: flathub
state: present
- name: Workstation | Linux | Flatpak | Install Code OSS
flatpak:
name: com.visualstudio.code-oss
remote: flathub
state: present
- name: Workstation | Linux | Flatpak | Remove VS Code
flatpak:
name: com.visualstudio.code
remote: flathub
state: present
# Software not yet available in Flatpak form.
- name: Workstation | Linux | Flatpak | Install Lutris from Package Manager
package:
name: lutris
state: present
- name: Workstation | Linux | Flatpak | Install Firefox ESR from Package Manager
package:
name: "{{ firefox_esr }}"
state: present
- name: Workstation | Linux | Flatpak | Remove Firefox Normal for ESR
package:
name:
- "{{ firefox }}"
state: absent
when: firefox != firefox_esr
- name: Workstation | Linux | Flatpak | Remove Software From Package Manager
package:
name:
- "{{ thunderbird }}"
- "{{ evolution }}"
- steam
state: absent

View File

@ -0,0 +1,129 @@
---
# GNOME settings, extensions, and setup.
# Make sure Gnome-Tweaks is installed
- name: Workstation | Account Management | GNOME | Install Dependencies
package:
name:
- "{{ gnome_tweaks }}"
- "{{ dconf_editor }}"
- "{{ psutil }}"
state: present
# Dash to Dock Extension
# Validate DtD by checking /org/gnome/shell/enabled-extensions for dash-to-dock@micxgx.gmail.com
# Setup Favorites Bar (Terminal, Files, Firefox, Thunderbird, LBRY, Discord, VS Code, Android Studio, Lutris, Steam)
- name: Workstation | Account Management | GNOME | Favorites (Linux)
dconf:
key: /org/gnome/shell/favorite-apps
value: "['org.gnome.Terminal.desktop', 'org.gnome.Nautilus.desktop', 'firefox.desktop', 'org.mozilla.Thunderbird.desktop', 'io.lbry.lbry-app.desktop', 'com.discordapp.Discord.desktop', 'com.visualstudio.code-oss.desktop', 'com.google.AndroidStudio.desktop', 'net.lutris.Lutris.desktop', 'com.valvesoftware.Steam.desktop']"
state: present
become_user: ling
when: ansible_system == "Linux"
- name: Workstation | Account Management | GNOME | Favorites (FreeBSD)
dconf:
key: /org/gnome/shell/favorite-apps
value: "['org.gnome.Terminal.desktop', 'org.gnome.Nautilus.desktop', 'firefox.desktop', 'org.mozilla.Thunderbird.desktop', 'code-oss.desktop']"
state: present
become_user: ling
when: ansible_system == "FreeBSD"
# Top Bar Settings (Battery Percentage, Clock Weekday+Seconds, Calendar Week Numbers)
- name: Workstation | Account Management | GNOME | Interface - Show Date
dconf:
key: /org/gnome/desktop/interface/clock-show-date
value: "true"
state: present
become_user: ling
- name: Workstation | Account Management | GNOME | Interface - 24h Format
dconf:
key: /org/gnome/desktop/interface/clock-format
value: "'24h'"
state: present
become_user: ling
- name: Workstation | Account Management | GNOME | Interface - Show Seconds
dconf:
key: /org/gnome/desktop/interface/clock-show-seconds
value: "true"
state: present
become_user: ling
- name: Workstation | Account Management | GNOME | Interface - Show Weekday
dconf:
key: /org/gnome/desktop/interface/clock-show-weekday
value: "true"
state: present
become_user: ling
- name: Workstation | Account Management | GNOME | Interface - 24h Format
dconf:
key: /org/gnome/desktop/interface/show-battery-percentage
value: "true"
state: present
become_user: ling
- name: Workstation | Account Management | GNOME | Interface - Show Week Date
dconf:
key: /org/gnome/desktop/calendar/show-weekdate
value: "true"
state: present
become_user: ling
# Never Prompt for Removal Media
# Dark theme?
#Pop-dark on Pop
#Adwaita-dark on everything else
# Window Titlebars (Titlebar Buttons Minimize)
- name: Workstation | Account Management | GNOME | Window Buttons
dconf:
key: /org/gnome/desktop/wm/preferences/button-layout
value: "'appmenu:minimize,close'"
state: present
become_user: ling
# Security
- name: Workstation | Account Management | GNOME | Privacy - Camera
dconf:
key: /org/gnome/desktop/privacy/disable-camera
value: "true"
state: present
become_user: ling
- name: Workstation | Account Management | GNOME | Privacy - Microphone
dconf:
key: /org/gnome/desktop/privacy/disable-microphone
value: "true"
state: present
become_user: ling
# Schemas to try after looking at gsettings list-schemas | sort
# org.gnome.ControlCenter -- not very interesting
# org.gnome.desktop.default-applications -- nothing?? Where do we set Firefox and Evolution?
# org.gnome.desktop.interface -- Good stuff in here.
# org.gnome.desktop.peripherals -- Nothing :(
# org.gnome.desktop.privacy -- Good stuff here too!! Cool!
# org.gnome.desktop.session
# org.gnome.desktop.wm.keybindings
# org.gnome.desktop.wm.preferences
# org.gnome.power-manager
# org.gnome.SessionManager
# org.gnome.shell
# org.gnome.shell.extensions.pop-shell
# org.gnome.shell.keybindings