first commit
This commit is contained in:
52
roles/work/tasks/desktop_environments/gnome/appearance.yml
Normal file
52
roles/work/tasks/desktop_environments/gnome/appearance.yml
Normal file
@@ -0,0 +1,52 @@
|
||||
- name: gnome | appearance | copy wallpaper file
|
||||
tags: gnome,gnome-wallpaper
|
||||
copy:
|
||||
src: gnome/wallpaper.png
|
||||
dest: /usr/share/backgrounds/super_user-wallpaper.png
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
|
||||
- name: gnome | appearance | set wallpaper
|
||||
tags: gnome,gnome-wallpaper
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "/org/gnome/desktop/background/picture-uri"
|
||||
value: "'file:///home/super_user/.local/share/backgrounds/2024-01-10-12-01-09-Porsche_Boxster_Spyder_UK_spec__981__cars_2015_4096x2732.jpg'"
|
||||
|
||||
- name: gnome | appearance | set wallpaper position
|
||||
tags: gnome,gnome-wallpaper
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "/org/gnome/desktop/background/picture-options"
|
||||
value: "'zoom'"
|
||||
|
||||
- name: gnome | appearance | copy lock screen background file
|
||||
tags: gnome,gnome-lockscreen
|
||||
copy:
|
||||
src: files/gnome/lockscreen.jpg
|
||||
dest: /usr/share/backgrounds/super_user-lockscreen.jpg
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
|
||||
- name: gnome | appearance | set lock screen background
|
||||
tags: gnome,gnome-lockscreen
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "/org/gnome/desktop/screensaver/picture-uri"
|
||||
value: "'file:///home/super_user/.local/share/backgrounds/2024-01-10-12-01-09-Porsche_Boxster_Spyder_UK_spec__981__cars_2015_4096x2732.jpg'"
|
||||
|
||||
- name: gnome | appearance | set lock screen background position
|
||||
tags: gnome,gnome-lockscreen
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "/org/gnome/desktop/screensaver/picture-options"
|
||||
value: "'zoom'"
|
||||
|
||||
- name: gnome | appearance | set GTK theme
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "/org/gnome/desktop/interface/gtk-theme"
|
||||
value: "'Adwaita-dark'"
|
||||
|
||||
209
roles/work/tasks/desktop_environments/gnome/keybindings.yml
Normal file
209
roles/work/tasks/desktop_environments/gnome/keybindings.yml
Normal file
@@ -0,0 +1,209 @@
|
||||
- name: gnome | keybindings | disable default browser key binding
|
||||
tags: gnome,keybindings
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "{{ item.key }}"
|
||||
value: "{{ item.value }}"
|
||||
with_items:
|
||||
- { key: "/org/gnome/settings-daemon/plugins/media-keys/www", value: "@as []" }
|
||||
|
||||
- name: gnome | keybindings | disable default file manager binding
|
||||
tags: gnome,keybindings
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "{{ item.key }}"
|
||||
value: "{{ item.value }}"
|
||||
with_items:
|
||||
- { key: "/org/gnome/settings-daemon/plugins/media-keys/home", value: "@as []" }
|
||||
|
||||
- name: gnome | keybindings | disable default email client binding
|
||||
tags: gnome,keybindings
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "{{ item.key }}"
|
||||
value: "{{ item.value }}"
|
||||
with_items:
|
||||
- { key: "/org/gnome/settings-daemon/plugins/media-keys/email", value: "@as []" }
|
||||
|
||||
- name: gnome | keybindings | disable default terminal key binding
|
||||
tags: gnome,keybindings
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "{{ item.key }}"
|
||||
value: "{{ item.value }}"
|
||||
with_items:
|
||||
- { key: "/org/gnome/settings-daemon/plugins/media-keys/terminal", value: "@as []" }
|
||||
|
||||
- name: gnome | keybindings | set custom-keybindings
|
||||
tags: gnome,keybindings
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings"
|
||||
value: "['/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom2/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom3/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom4/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom5/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom6/']"
|
||||
|
||||
- name: gnome | keybindings | set primary browser keybinding
|
||||
tags: gnome,keybindings
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "{{ item.key }}"
|
||||
value: "{{ item.value}}"
|
||||
with_items:
|
||||
- { key: "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/name", value: "'browser'" }
|
||||
- { key: "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/binding", value: "'<Super>b'" }
|
||||
- { key: "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/command", value: "'{{ web_browser }}'" }
|
||||
when: web_browser is defined
|
||||
|
||||
- name: gnome | keybindings | set primary browser keybinding
|
||||
tags: gnome,keybindings
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "{{ item.key }}"
|
||||
value: "{{ item.value}}"
|
||||
with_items:
|
||||
- { key: "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/name", value: "'browser'" }
|
||||
- { key: "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/binding", value: "'<Super>b'" }
|
||||
- { key: "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/command", value: "'firefox'" }
|
||||
when: web_browser is not defined
|
||||
|
||||
- name: gnome | keybindings | set browser (alternate) keybinding
|
||||
tags: gnome,keybindings
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "{{ item.key }}"
|
||||
value: "{{ item.value}}"
|
||||
with_items:
|
||||
- { key: "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/name", value: "'browser-alt'" }
|
||||
- { key: "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/binding", value: "'<Shift><Super>b'" }
|
||||
- { key: "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/command", value: "'/usr/bin/google-chrome'" }
|
||||
|
||||
- name: gnome | keybindings | set file manager keybinding
|
||||
tags: gnome,keybindings
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "{{ item.key }}"
|
||||
value: "{{ item.value}}"
|
||||
with_items:
|
||||
- { key: "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom2/name", value: "'file manager'" }
|
||||
- { key: "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom2/binding", value: "'<Super>f'" }
|
||||
- { key: "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom2/command", value: "'nautilus -w /home/super_user'" }
|
||||
- name: gnome | keybindings | set bpytop keybinding
|
||||
tags: gnome,keybindings
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "{{ item.key }}"
|
||||
value: "{{ item.value}}"
|
||||
with_items:
|
||||
- { key: "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom3/name", value: "'bpytop'" }
|
||||
- { key: "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom3/binding", value: "'<Super>r'" }
|
||||
- { key: "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom3/command", value: "'{{ terminal_emulator }} -e bpytop'" }
|
||||
when: terminal_emulator is defined
|
||||
|
||||
- name: gnome | keybindings | set bpytop keybinding
|
||||
tags: gnome,keybindings
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "{{ item.key }}"
|
||||
value: "{{ item.value}}"
|
||||
with_items:
|
||||
- { key: "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom3/name", value: "'bpytop'" }
|
||||
- { key: "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom3/binding", value: "'<Super>r'" }
|
||||
- { key: "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom3/command", value: "'gnome-terminal -e bpytop'" }
|
||||
when: terminal_emulator is not defined
|
||||
|
||||
- name: gnome | keybindings | set terminal keybinding
|
||||
tags: gnome,keybindings
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "{{ item.key }}"
|
||||
value: "{{ item.value}}"
|
||||
with_items:
|
||||
- { key: "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom4/name", value: "'terminal'" }
|
||||
- { key: "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom4/binding", value: "'<Super>t'" }
|
||||
- { key: "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom4/command", value: "'{{ terminal_emulator }}'" }
|
||||
when: terminal_emulator is defined
|
||||
|
||||
- name: gnome | keybindings | set terminal keybinding
|
||||
tags: gnome,keybindings
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "{{ item.key }}"
|
||||
value: "{{ item.value}}"
|
||||
with_items:
|
||||
- { key: "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom4/name", value: "'terminal'" }
|
||||
- { key: "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom4/binding", value: "'<Super>t'" }
|
||||
- { key: "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom4/command", value: "'gnome-terminal'" }
|
||||
when: terminal_emulator is not defined
|
||||
|
||||
- name: gnome | keybindings | set text editor keybinding
|
||||
tags: gnome,keybindings
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "{{ item.key }}"
|
||||
value: "{{ item.value}}"
|
||||
with_items:
|
||||
- { key: "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom5/name", value: "'text editor'" }
|
||||
- { key: "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom5/binding", value: "'<Super>e'" }
|
||||
- { key: "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom5/command", value: "'{{ gui_editor }}'" }
|
||||
when: gui_editor is defined
|
||||
|
||||
- name: gnome | keybindings | set text editor keybinding
|
||||
tags: gnome,keybindings
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "{{ item.key }}"
|
||||
value: "{{ item.value}}"
|
||||
with_items:
|
||||
- { key: "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom5/name", value: "'text editor'" }
|
||||
- { key: "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom5/binding", value: "'<Super>e'" }
|
||||
- { key: "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom5/command", value: "'gedit'" }
|
||||
when: gui_editor is not defined
|
||||
|
||||
- name: gnome | keybindings | set tmux keybinding
|
||||
tags: gnome,keybindings
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "{{ item.key }}"
|
||||
value: "{{ item.value}}"
|
||||
with_items:
|
||||
- { key: "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom6/name", value: "'tmux'" }
|
||||
- { key: "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom6/binding", value: "'<Shift><Super>t'" }
|
||||
- { key: "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom6/command", value: "'{{ terminal_emulator }} -e tmux'" }
|
||||
when: terminal_emulator is defined
|
||||
|
||||
- name: gnome | keybindings | set tmux keybinding
|
||||
tags: gnome,keybindings
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "{{ item.key }}"
|
||||
value: "{{ item.value}}"
|
||||
with_items:
|
||||
- { key: "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom6/name", value: "'tmux'" }
|
||||
- { key: "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom6/binding", value: "'<Shift><Super>t'" }
|
||||
- { key: "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom6/command", value: "'gnome-terminal -e tmux'" }
|
||||
when: terminal_emulator is not defined
|
||||
|
||||
# Uncommenting the below plays will restore the default GNOME shortcuts for these actions:
|
||||
#- name: gnome | keybindings | set keybindings for switching between workspaces
|
||||
# become_user: super_user
|
||||
# dconf:
|
||||
# key: "{{ item.key }}"
|
||||
# value: "{{ item.value}}"
|
||||
# with_items:
|
||||
# - { key: "/org/gnome/desktop/wm/keybindings/switch-to-workspace-down", value: "['<Super>Page_Down']" }
|
||||
# - { key: "/org/gnome/desktop/wm/keybindings/switch-to-workspace-up", value: "['<Super>Page_Up']" }
|
||||
#- name: gnome | keybindings | set key binding for moving windows to other workspaces
|
||||
# become_user: super_user
|
||||
# dconf:
|
||||
# key: "{{ item.key }}"
|
||||
# value: "{{ item.value}}"
|
||||
# with_items:
|
||||
# - { key: "/org/gnome/desktop/wm/keybindings/move-to-workspace-down", value: "['<Shift><Super>Page_Down']" }
|
||||
# - { key: "/org/gnome/desktop/wm/keybindings/move-to-workspace-up", value: "['<Shift><Super>Page_Up']" }
|
||||
#- name: gnome | keybindings | set maximize/minimize key bindings
|
||||
# become_user: super_user
|
||||
# dconf:
|
||||
# key: "/org/gnome/desktop/wm/keybindings/{{ item.key }}"
|
||||
# value: "{{ item.value}}"
|
||||
# with_items:
|
||||
# - { key: maximize, value: "'<Super>Up'" }
|
||||
# - { key: unmaximize, value: "'<Super>Down'" }
|
||||
41
roles/work/tasks/desktop_environments/gnome/nautilus.yml
Normal file
41
roles/work/tasks/desktop_environments/gnome/nautilus.yml
Normal file
@@ -0,0 +1,41 @@
|
||||
- name: gnome | nautilus | enable tree-view in nautilus
|
||||
tags: gnome,nautilus
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "/org/gnome/nautilus/list-view/use-tree-view"
|
||||
value: "true"
|
||||
|
||||
- name: gnome | nautilus | set list view in nautilus
|
||||
tags: gnome,nautilus
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "/org/gnome/nautilus/preferences/default-folder-viewer"
|
||||
value: "'list-view'"
|
||||
|
||||
- name: gnome | nautilus | configure single-click to open files
|
||||
tags: gnome,nautilus
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "/org/gnome/nautilus/preferences/click-policy"
|
||||
value: "'double'"
|
||||
|
||||
- name: gnome | nautilus | set executable text activation
|
||||
tags: gnome,nautilus
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "/org/gnome/nautilus/preferences/executable-text-activation"
|
||||
value: "'launch'"
|
||||
|
||||
- name: gnome | nautilus | enable option to permanently delete files
|
||||
tags: gnome,nautilus
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "/org/gnome/nautilus/preferences/show-delete-permanently"
|
||||
value: "'false'"
|
||||
|
||||
- name: gnome | nautilus | set directories to not be shown before files in nautilus
|
||||
tags: gnome,nautilus
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "/org/gtk/settings/file-chooser/sort-directories-first"
|
||||
value: "false"
|
||||
48
roles/work/tasks/desktop_environments/gnome/packages.yml
Normal file
48
roles/work/tasks/desktop_environments/gnome/packages.yml
Normal file
@@ -0,0 +1,48 @@
|
||||
# Note: Some of these packages are disabled, they depend on tracker which is currently being disabled
|
||||
- name: gnome | packages | install gnome packages
|
||||
tags: gnome,gnome-packages
|
||||
package:
|
||||
name:
|
||||
- eog
|
||||
- file-roller
|
||||
- "{{ gdm_package }}"
|
||||
- gedit
|
||||
- gnome-backgrounds
|
||||
- gnome-boxes
|
||||
- gnome-control-center
|
||||
- gnome-disk-utility
|
||||
# - gnome-documents
|
||||
- gnome-icon-theme
|
||||
# - gnome-music
|
||||
# - gnome-photos
|
||||
- gnome-power-manager
|
||||
- gnome-remote-desktop
|
||||
- gnome-shell
|
||||
- gnome-system-monitor
|
||||
- gnome-terminal
|
||||
- gnome-todo
|
||||
- gnome-tweaks
|
||||
- nautilus
|
||||
|
||||
- name: gnome | packages | install flatpak support in gnome software
|
||||
tags: gnome,gnome-packages
|
||||
package:
|
||||
name:
|
||||
- gnome-software-plugin-flatpak
|
||||
when: ansible_distribution in ["Debian", "Ubuntu"]
|
||||
|
||||
# It appears as though Debian and Ubuntu place GNOME support for openvpn in a separate package
|
||||
# This doesn't seem to be required in archlinux.
|
||||
- name: gnome | packages | install gnome support for network-manager for debian and ubuntu hosts
|
||||
tags: gnome,gnome-packages,packages
|
||||
package:
|
||||
name:
|
||||
- network-manager-openvpn-gnome
|
||||
when: ansible_distribution in ["Debian", "Pop!_OS", "Ubuntu"]
|
||||
|
||||
- name: gnome | packages | enable and start gdm
|
||||
tags: autofs,system,system setup
|
||||
service:
|
||||
name: gdm
|
||||
enabled: true
|
||||
state: started
|
||||
97
roles/work/tasks/desktop_environments/gnome/peripherals.yml
Normal file
97
roles/work/tasks/desktop_environments/gnome/peripherals.yml
Normal file
@@ -0,0 +1,97 @@
|
||||
- name: gnome | peripherals | enable natural scrolling (mouse)
|
||||
tags: gnome,mouse,peripherals
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "/org/gnome/desktop/peripherals/mouse/natural-scroll"
|
||||
value: "false"
|
||||
|
||||
- name: gnome | peripherals | enable natural scrolling (touchpad)
|
||||
tags: gnome,mouse,peripherals
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "/org/gnome/desktop/peripherals/touchpad/natural-scroll"
|
||||
value: "false"
|
||||
|
||||
- name: gnome | peripherals | enable cursor acceleration (mouse)
|
||||
tags: gnome,mouse,peripherals
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "/org/gnome/desktop/peripherals/mouse/accel-profile"
|
||||
value: "'flat'"
|
||||
|
||||
- name: gnome | peripherals | increase cursor speed (mouse)
|
||||
tags: gnome,mouse,peripherals
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "/org/gnome/desktop/peripherals/mouse/speed"
|
||||
value: "0.027237354085603016"
|
||||
|
||||
- name: gnome | peripherals | increase cursor speed (touchpad)
|
||||
tags: gnome,mouse,peripherals
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "/org/gnome/desktop/peripherals/touchpad/speed"
|
||||
value: "-0.1215686274509804"
|
||||
|
||||
- name: gnome | peripherals | set manual night-light schedule
|
||||
tags: gnome,peripherals,night-light
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "/org/gnome/settings-daemon/plugins/color/night-light-schedule-automatic"
|
||||
value: "false"
|
||||
|
||||
- name: gnome | peripherals | set manual night-light schedule start time
|
||||
tags: gnome,peripherals,night-light
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "/org/gnome/settings-daemon/plugins/color/night-light-schedule-from"
|
||||
value: "18.0"
|
||||
|
||||
- name: gnome | peripherals | set manual night-light schedule stop time
|
||||
tags: gnome,peripherals,night-light
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "/org/gnome/settings-daemon/plugins/color/night-light-schedule-to"
|
||||
value: "7.4999999999999982"
|
||||
|
||||
- name: gnome | peripherals | enable night-light
|
||||
tags: gnome,peripherals,night-light
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "/org/gnome/settings-daemon/plugins/color/night-light-enabled"
|
||||
value: "true"
|
||||
|
||||
- name: gnome | peripherals | set power button behavior
|
||||
tags: gnome,peripherals,power
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "/org/gnome/settings-daemon/plugins/power/power-button-action"
|
||||
value: "'suspend'"
|
||||
|
||||
- name: gnome | peripherals | enable automatic suspend while plugged in to ac
|
||||
tags: gnome,peripherals,power
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "/org/gnome/settings-daemon/plugins/power/sleep-inactive-ac-type"
|
||||
value: "'nothing'"
|
||||
|
||||
- name: gnome | peripherals | set timeout for automatic suspend while plugged in to ac
|
||||
tags: gnome,peripherals,power
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "/org/gnome/settings-daemon/plugins/power/sleep-inactive-ac-timeout"
|
||||
value: "2700"
|
||||
|
||||
- name: gnome | peripherals | enable automatic suspend while on battery
|
||||
tags: gnome,peripherals,power
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "/org/gnome/settings-daemon/plugins/power/sleep-inactive-battery-type"
|
||||
value: "'suspend'"
|
||||
|
||||
- name: gnome | peripherals | set timeout for automatic suspend while plugged in to ac
|
||||
tags: gnome,peripherals,power
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "/org/gnome/settings-daemon/plugins/power/sleep-inactive-battery-timeout"
|
||||
value: "1500"
|
||||
120
roles/work/tasks/desktop_environments/gnome/shell_settings.yml
Normal file
120
roles/work/tasks/desktop_environments/gnome/shell_settings.yml
Normal file
@@ -0,0 +1,120 @@
|
||||
- name: gnome | shell settings | button-layout
|
||||
tags: gnome,gnome-shell
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "/org/gnome/desktop/wm/preferences/button-layout"
|
||||
value: "':minimize,maximize,close'"
|
||||
|
||||
# Disable hot corners
|
||||
# - name: gnome | shell settings | enable-hot-corners
|
||||
# tags: gnome,gnome-shell
|
||||
# become_user: super_user
|
||||
|
||||
# dconf:
|
||||
# key: "/org/gnome/shell/interface/enable-hot-corners"
|
||||
# value: "false"
|
||||
|
||||
- name: gnome | shell settings | event-sounds (disable)
|
||||
tags: gnome,audio,sounds,alerts
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "/org/gnome/desktop/sound/event-sounds"
|
||||
value: "false"
|
||||
|
||||
- name: gnome | shell settings | disable hidpi-daemon
|
||||
tags: gnome,gnome-shell,hidpi
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "/com/system76/hidpi/enable"
|
||||
value: "false"
|
||||
when: ansible_distribution in ["Pop!_OS", "Ubuntu"]
|
||||
|
||||
# Disable screen blanking
|
||||
# - name: gnome | shell settings | idle-delay
|
||||
# tags: gnome,gnome-shell
|
||||
# become_user: super_user
|
||||
|
||||
# dconf:
|
||||
# key: "/org/gnome/desktop/session/idle-delay"
|
||||
# value: "uint32 0"
|
||||
|
||||
# Disable input sounds
|
||||
- name: gnome | shell settings | input-feedback-sounds (disable input sounds)
|
||||
tags: gnome,audio,sounds,alerts
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "/org/gnome/desktop/sound/input-feedback-sounds"
|
||||
value: "false"
|
||||
|
||||
# Disable automatic screen lock
|
||||
# - name: gnome | shell settings | lock-enabled
|
||||
# tags: gnome,gnome-shell
|
||||
# become_user: super_user
|
||||
# dconf:
|
||||
# key: "/org/gnome/desktop/screensaver/lock-enabled"
|
||||
# value: "false"
|
||||
|
||||
- name: gnome | shell settings | old-files-age
|
||||
tags: gnome,gnome-shell
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "/org/gnome/desktop/privacy/old-files-age"
|
||||
value: "uint32 14"
|
||||
|
||||
- name: gnome | shell settings | remove-old-temp-files
|
||||
tags: gnome,gnome-shell
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "/org/gnome/desktop/privacy/remove-old-temp-files"
|
||||
value: "true"
|
||||
|
||||
- name: gnome | shell settings | remove-old-trash-files
|
||||
tags: gnome,gnome-shell
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "/org/gnome/desktop/privacy/remove-old-trash-files"
|
||||
value: "false"
|
||||
|
||||
- name: gnome | shell settings | search-providers
|
||||
tags: gnome,search
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "/org/gnome/desktop/search-providers/disabled"
|
||||
value: "['org.gnome.Nautilus.desktop', 'org.gnome.Calculator.desktop', 'org.gnome.seahorse.Application.desktop', 'org.gnome.Photos.desktop', 'org.gnome.Terminal.desktop', 'org.gnome.Documents.desktop', 'org.gnome.Contacts.desktop', 'org.gnome.Calendar.desktop']"
|
||||
|
||||
- name: gnome | shell settings | show-battery-percentage
|
||||
tags: gnome,gnome-shell
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "/org/gnome/desktop/interface/show-battery-percentage"
|
||||
value: "false"
|
||||
|
||||
# Disable lock screen notifications
|
||||
- name: gnome | shell settings | show-in-lock-screen
|
||||
tags: gnome,gnome-lockscreen
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "/org/gnome/desktop/notifications/show-in-lock-screen"
|
||||
value: "false"
|
||||
|
||||
- name: gnome | shell settings | tile-by-default
|
||||
tags: gnome,gnome-lockscreen
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "/org/gnome/shell/extensions/pop-shell/tile-by-default"
|
||||
value: "true"
|
||||
when: ansible_distribution == "Pop!_OS"
|
||||
|
||||
- name: gnome | shell settings | workspaces-only-on-primary
|
||||
tags: gnome,gnome-shell
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "/org/gnome/shell/overrides/workspaces-only-on-primary"
|
||||
value: "true"
|
||||
|
||||
- name: gnome | shell settings | set gnome-screenshot default save directory
|
||||
tags: gnome,gnome-shell
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "/org/gnome/gnome-screenshot/auto-save-directory"
|
||||
value: "'/home/super_user'"
|
||||
23
roles/work/tasks/desktop_environments/gnome/terminal.yml
Normal file
23
roles/work/tasks/desktop_environments/gnome/terminal.yml
Normal file
@@ -0,0 +1,23 @@
|
||||
- name: gnome | terminal | disable terminal menubar
|
||||
tags: gnome,gnome-terminal
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "/org/gnome/terminal/legacy/default-show-menubar"
|
||||
value: "false"
|
||||
|
||||
- name: gnome | terminal | set terminal configuration
|
||||
tags: gnome,gnome-terminal
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "/org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/{{ item.key }}"
|
||||
value: "{{ item.value}}"
|
||||
with_items:
|
||||
#- { key: background-color, value: "'rgb(0,0,0)'" }
|
||||
- { key: default-size-columns, value: "120" }
|
||||
#- { key: foreground-color, value: "'rgb(170,170,170)'" }
|
||||
- { key: scrollback-unlimited, value: "true" }
|
||||
- { key: scrollbar-policy, value: "'never'" }
|
||||
#- { key: use-system-font, value: "false" }
|
||||
#- { key: use-theme-colors, value: "false" }
|
||||
#- { key: visible-name, value: "'Main'" }
|
||||
#- { key: font, value: "'Fira Mono Regular 12'" }
|
||||
27
roles/work/tasks/desktop_environments/gnome/tracker.yml
Normal file
27
roles/work/tasks/desktop_environments/gnome/tracker.yml
Normal file
@@ -0,0 +1,27 @@
|
||||
# Uncomment the following to disable tracker if the below tweaks aren't enough
|
||||
#- name: gnome | tracker | disable monitors
|
||||
# tags: gnome,tracker
|
||||
# become_user: super_user
|
||||
|
||||
# dconf:
|
||||
# key: "/org/freedesktop/tracker/miner/files/enable-monitors"
|
||||
# value: "false"
|
||||
|
||||
# Disable indexing while on battery
|
||||
- name: gnome | tracker | disable indexing while running on battery
|
||||
tags: gnome,tracker
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "/org/freedesktop/tracker/miner/files/index-on-battery"
|
||||
value: "false"
|
||||
|
||||
# Set ignored directories for Tracker
|
||||
- name: gnome | tracker | set ignored directories
|
||||
tags: gnome,tracker
|
||||
become_user: super_user
|
||||
dconf:
|
||||
key: "/org/freedesktop/tracker/miner/files/ignored-directories"
|
||||
value: "['po', 'CVS', 'core-dumps', '/home/super_user/downloads', 'lost+found', '/mnt/freenas']"
|
||||
notify:
|
||||
- gnome_tracker_clean_cache
|
||||
- gnome_tracker_clean_local_cache
|
||||
8
roles/work/tasks/desktop_environments/xfce/config.yml
Normal file
8
roles/work/tasks/desktop_environments/xfce/config.yml
Normal file
@@ -0,0 +1,8 @@
|
||||
- name: xfce | config | copy config files to directory
|
||||
tags: xfce
|
||||
copy:
|
||||
src: xfce/.config/{{ item.src }}/
|
||||
dest: /home/super_user/.config/{{ item.dest }}/
|
||||
with_items:
|
||||
- { src: 'xfce4', dest: 'xfce4' }
|
||||
- { src: 'Thunar', dest: 'Thunar' }
|
||||
62
roles/work/tasks/main.yml
Normal file
62
roles/work/tasks/main.yml
Normal file
@@ -0,0 +1,62 @@
|
||||
# Load distro-specific variables
|
||||
- include_vars: "{{ ansible_distribution }}.yml"
|
||||
tags: always
|
||||
|
||||
- block:
|
||||
## User configs
|
||||
- ansible.builtin.import_tasks: users/super_user.yml
|
||||
|
||||
## desktop environments
|
||||
|
||||
- ansible.builtin.include_tasks: desktop_environments/gnome/appearance.yml
|
||||
when: gnome is defined and gnome == true
|
||||
|
||||
- ansible.builtin.include_tasks: desktop_environments/gnome/keybindings.yml
|
||||
when: gnome is defined and gnome == true
|
||||
|
||||
- ansible.builtin.include_tasks: desktop_environments/gnome/nautilus.yml
|
||||
when: gnome is defined and gnome == true
|
||||
|
||||
- ansible.builtin.include_tasks: desktop_environments/gnome/packages.yml
|
||||
when: gnome is defined and gnome == true
|
||||
|
||||
- ansible.builtin.include_tasks: desktop_environments/gnome/peripherals.yml
|
||||
when: gnome is defined and gnome == true
|
||||
|
||||
- ansible.builtin.include_tasks: desktop_environments/gnome/shell_settings.yml
|
||||
when: gnome is defined and gnome == true
|
||||
|
||||
- ansible.builtin.include_tasks: desktop_environments/gnome/terminal.yml
|
||||
when: gnome is defined and gnome == true
|
||||
|
||||
- ansible.builtin.include_tasks: desktop_environments/gnome/tracker.yml
|
||||
when: gnome is defined and gnome == true
|
||||
|
||||
- ansible.builtin.include_tasks: desktop_environments/xfce/config.yml
|
||||
when: xfce is defined and xfce == true
|
||||
|
||||
## system setup
|
||||
#- ansible.builtin.import_tasks: system_setup/autofs.yml
|
||||
- ansible.builtin.import_tasks: system_setup/scripts.yml
|
||||
- ansible.builtin.import_tasks: system_setup/tweaks.yml
|
||||
|
||||
## install software
|
||||
- ansible.builtin.import_tasks: software/brave.yml
|
||||
- ansible.builtin.import_tasks: software/google_chrome.yml
|
||||
- ansible.builtin.import_tasks: software/codecs.yml
|
||||
- ansible.builtin.import_tasks: software/firefox.yml
|
||||
- ansible.builtin.import_tasks: software/google_chrome.yml
|
||||
- ansible.builtin.import_tasks: software/libreoffice.yml
|
||||
- ansible.builtin.import_tasks: software/lutris.yml
|
||||
- ansible.builtin.import_tasks: software/misc_packages.yml
|
||||
- ansible.builtin.import_tasks: software/nextcloud.yml
|
||||
- ansible.builtin.import_tasks: software/solaar.yml
|
||||
- ansible.builtin.import_tasks: software/steam.yml
|
||||
- ansible.builtin.import_tasks: software/thunderbird.yml
|
||||
- ansible.builtin.import_tasks: software/vlc.yml
|
||||
- ansible.builtin.import_tasks: software/vscodium.yml
|
||||
- ansible.builtin.import_tasks: software/sublime_text.yml
|
||||
- ansible.builtin.import_tasks: software/kube_lens.yml
|
||||
|
||||
rescue:
|
||||
- set_fact: task_failed=true
|
||||
5
roles/work/tasks/software/another_redis_desktop.yml
Normal file
5
roles/work/tasks/software/another_redis_desktop.yml
Normal file
@@ -0,0 +1,5 @@
|
||||
- name: software | another_redis_desktop | download package
|
||||
ansible.builtin.get_url:
|
||||
url: https://github.com/qishibo/AnotherRedisDesktopManager/releases/download/v1.6.1/Another-Redis-Desktop-Manager.1.6.1.AppImage
|
||||
dest: /home/super_user/Apps
|
||||
mode: '0755'
|
||||
56
roles/work/tasks/software/brave.yml
Normal file
56
roles/work/tasks/software/brave.yml
Normal file
@@ -0,0 +1,56 @@
|
||||
- name: software | brave | add repository key
|
||||
apt_key:
|
||||
url: https://brave-browser-apt-release.s3.brave.com/brave-browser-archive-keyring.gpg
|
||||
when: ansible_distribution in ["Debian", "Pop!_OS", "Ubuntu"]
|
||||
|
||||
- name: software | brave | add repository
|
||||
apt_repository:
|
||||
repo: "deb [arch=amd64] https://brave-browser-apt-release.s3.brave.com/ stable main"
|
||||
filename: brave-browser
|
||||
register: brave_browser
|
||||
when: ansible_distribution in ["Debian", "Pop!_OS", "Ubuntu"]
|
||||
|
||||
- name: software | brave | update sources (repo added or changed)
|
||||
apt:
|
||||
update_cache: yes
|
||||
changed_when: False
|
||||
when: brave_browser.changed
|
||||
|
||||
- name: software | brave | install package
|
||||
apt:
|
||||
name: brave-browser
|
||||
when: ansible_distribution in ["Debian", "Pop!_OS", "Ubuntu"]
|
||||
|
||||
|
||||
- name: software | brave | add repository
|
||||
shell: sudo dnf config-manager --add-repo https://brave-browser-rpm-release.s3.brave.com/x86_64/
|
||||
args:
|
||||
creates: /etc/yum.repos.d/brave.repo
|
||||
when: ansible_distribution in ["Fedora"]
|
||||
|
||||
- name: software | brave | add repo key
|
||||
shell: sudo rpm --import https://brave-browser-rpm-release.s3.brave.com/brave-core.asc
|
||||
args:
|
||||
creates: /etc/yum.repos.d/brave.repo
|
||||
when: ansible_distribution in ["Fedora"]
|
||||
|
||||
- name: software | brave | install
|
||||
tags: packages,system,system-packages,workstation-packages
|
||||
package:
|
||||
name:
|
||||
- brave-browser
|
||||
when: ansible_distribution in ["Fedora"]
|
||||
|
||||
- name: software | brave | add repository
|
||||
community.general.zypper_repository:
|
||||
# name: brave-browser
|
||||
repo: 'https://brave-browser-rpm-release.s3.brave.com/brave-browser.repo'
|
||||
state: present
|
||||
when: ansible_distribution in ["openSUSE Leap", "openSUSE Tumbleweed-Slowroll"]
|
||||
|
||||
- name: software | brave | install
|
||||
tags: packages,system,system-packages,workstation-packages
|
||||
zypper:
|
||||
name:
|
||||
- brave-browser
|
||||
when: ansible_distribution in ["openSUSE Leap", "openSUSE Tumbleweed-Slowroll"]
|
||||
6
roles/work/tasks/software/codecs.yml
Normal file
6
roles/work/tasks/software/codecs.yml
Normal file
@@ -0,0 +1,6 @@
|
||||
- name: software | install multimedia codecs
|
||||
tags: packages,system,system-packages,workstation-packages
|
||||
package:
|
||||
name:
|
||||
- "{{ gstreamer_libav_package }}"
|
||||
- "{{ gstreamer_plugins_bad_package }}"
|
||||
8
roles/work/tasks/software/firefox.yml
Normal file
8
roles/work/tasks/software/firefox.yml
Normal file
@@ -0,0 +1,8 @@
|
||||
- name: software | firefox | install package
|
||||
tags: packages,system,system-packages,workstation-packages
|
||||
package:
|
||||
name:
|
||||
- firefox
|
||||
when:
|
||||
- firefox is defined
|
||||
- firefox == true
|
||||
48
roles/work/tasks/software/google_chrome.yml
Normal file
48
roles/work/tasks/software/google_chrome.yml
Normal file
@@ -0,0 +1,48 @@
|
||||
- name: software | google-chrome | add repository key | ubuntu
|
||||
apt_key:
|
||||
url: https://dl-ssl.google.com/linux/linux_signing_key.pub
|
||||
when:
|
||||
- ansible_distribution in ["Debian", "Pop!_OS", "Ubuntu"]
|
||||
- chrome is defined
|
||||
- chrome == true
|
||||
|
||||
- name: software | google-chrome | add repository | ubuntu
|
||||
apt_repository:
|
||||
repo: "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main"
|
||||
filename: google-chrome
|
||||
register: chrome_repo
|
||||
when:
|
||||
- ansible_distribution in ["Debian", "Pop!_OS", "Ubuntu"]
|
||||
- chrome is defined
|
||||
- chrome == true
|
||||
|
||||
- name: software | google-chrome | update sources (repo added or changed)
|
||||
apt:
|
||||
update_cache: yes
|
||||
changed_when: False
|
||||
when: chrome_repo.changed
|
||||
|
||||
- name: software | google-chrome | install package | ubuntu
|
||||
apt:
|
||||
name: google-chrome-stable
|
||||
when:
|
||||
- ansible_distribution in ["Debian", "Pop!_OS", "Ubuntu"]
|
||||
- chrome is defined
|
||||
- chrome == true
|
||||
|
||||
- name: software | google-chrome | add repo | fedora
|
||||
shell: sudo dnf config-manager --set-enabled google-chrome
|
||||
when:
|
||||
- ansible_distribution in ["Fedora"]
|
||||
- chrome is defined
|
||||
- chrome == true
|
||||
|
||||
- name: software | google-chrome | install | fedora
|
||||
tags: packages,system,system-packages,workstation-packages
|
||||
package:
|
||||
name:
|
||||
- google-chrome-stable
|
||||
when:
|
||||
- ansible_distribution in ["Fedora"]
|
||||
- chrome is defined
|
||||
- chrome == true
|
||||
16
roles/work/tasks/software/kube_lens.yml
Normal file
16
roles/work/tasks/software/kube_lens.yml
Normal file
@@ -0,0 +1,16 @@
|
||||
- name: software | kube_lens | add repo
|
||||
shell: sudo dnf config-manager --add-repo https://downloads.k8slens.dev/rpm/lens.repo
|
||||
when:
|
||||
- ansible_distribution in ["Fedora"]
|
||||
- kube_lens is defined
|
||||
- kube_lens == true
|
||||
|
||||
- name: software | kube_lens | install
|
||||
tags: packages,system,system-packages,workstation-packages
|
||||
package:
|
||||
name:
|
||||
- lens
|
||||
when:
|
||||
- ansible_distribution in ["Fedora"]
|
||||
- kube_lens is defined
|
||||
- kube_lens == true
|
||||
8
roles/work/tasks/software/libreoffice.yml
Normal file
8
roles/work/tasks/software/libreoffice.yml
Normal file
@@ -0,0 +1,8 @@
|
||||
- name: software | libreoffice | install package
|
||||
tags: packages,flatpak,libreoffice,workstation-packages
|
||||
become_user: super_user
|
||||
|
||||
package:
|
||||
name: libreoffice
|
||||
state: present
|
||||
when: libreoffice is defined and libreoffice == true
|
||||
20
roles/work/tasks/software/lutris.yml
Normal file
20
roles/work/tasks/software/lutris.yml
Normal file
@@ -0,0 +1,20 @@
|
||||
# As of 2020-06-18, lutris is not available on debian
|
||||
- name: software | lutris | install package
|
||||
tags: gaming,lutris
|
||||
package:
|
||||
state: latest
|
||||
name: lutris
|
||||
when:
|
||||
- ansible_distribution in ["Archlinux", "Pop!_OS", "Ubuntu"]
|
||||
- lutris is defined
|
||||
- lutris == true
|
||||
|
||||
- name: software | lutris | install package
|
||||
tags: packages,system,system-packages,workstation-packages
|
||||
package:
|
||||
name:
|
||||
- lutris
|
||||
when:
|
||||
- ansible_distribution in ["Fedora", "openSUSE Leap", "openSUSE Tumbleweed-Slowroll"]
|
||||
- lutris is defined
|
||||
- lutris == true
|
||||
84
roles/work/tasks/software/misc_packages.yml
Normal file
84
roles/work/tasks/software/misc_packages.yml
Normal file
@@ -0,0 +1,84 @@
|
||||
- name: software | misc_software | install workstation distribution packages
|
||||
tags: packages,workstation-packages
|
||||
package:
|
||||
name:
|
||||
- acpid
|
||||
- alsa-utils
|
||||
- arandr
|
||||
- cifs-utils
|
||||
- "{{ cups_package }}"
|
||||
- "{{ cryptsetup_package }}"
|
||||
- dconf-editor
|
||||
- dialog
|
||||
- geany
|
||||
- mc
|
||||
- gparted
|
||||
- "{{ p7zip_package }}"
|
||||
- "{{ libnotify_package }}"
|
||||
- "{{ network_manager_openvpn_package }}"
|
||||
- "{{ network_manager_package }}"
|
||||
- "{{ network_manager_pptp_package }}"
|
||||
- "{{ network_manager_vpnc_package }}"
|
||||
- pavucontrol
|
||||
- shotwell
|
||||
- sshpass
|
||||
- terminator
|
||||
- clusterssh
|
||||
- unrar
|
||||
- "{{ wpa_supplicant_package }}"
|
||||
- dia
|
||||
- evolution
|
||||
- virt-manager
|
||||
- libvirt-daemon
|
||||
- remmina
|
||||
- wine
|
||||
- powertop
|
||||
- podman
|
||||
- opentofu
|
||||
- flux2-cli
|
||||
- sslscan
|
||||
|
||||
|
||||
- name: software | misc_software | install system packages specific to debian and ubuntu
|
||||
tags: packages,system,system-packages,workstation-packages
|
||||
package:
|
||||
name:
|
||||
- synaptic
|
||||
- vim-gtk3
|
||||
when: ansible_distribution in ["Debian", "Pop!_OS", "Ubuntu"]
|
||||
|
||||
- name: software | misc_software | remove unneeded workstation packages on debian and ubuntu hosts
|
||||
tags: cleanup,packages,workstation-packages
|
||||
package:
|
||||
state: absent
|
||||
name:
|
||||
- libreoffice-base-core
|
||||
- libreoffice-calc
|
||||
- libreoffice-common
|
||||
- libreoffice-core
|
||||
- libreoffice-draw
|
||||
- libreoffice-gnome
|
||||
- libreoffice-gtk3
|
||||
- libreoffice-impress
|
||||
- libreoffice-math
|
||||
- libreoffice-writer
|
||||
when: ansible_distribution in ["Debian", "Pop!_OS", "Ubuntu"]
|
||||
|
||||
- name: software | misc_software | Install Flatpack packages
|
||||
become_user: super_user
|
||||
|
||||
flatpak:
|
||||
name:
|
||||
- org.keepassxc.KeePassXC
|
||||
- org.gnome.meld
|
||||
- org.jousse.vincent.Pomodorolm
|
||||
- com.github.tchx84.Flatseal
|
||||
- dev.k8slens.OpenLens
|
||||
- com.redis.RedisInsight
|
||||
- com.prusa3d.PrusaSlicer
|
||||
- org.fedoraproject.MediaWriter
|
||||
- com.github.iwalton3.jellyfin-media-player
|
||||
- com.github.xournalpp.xournalpp
|
||||
- org.sqlitebrowser.sqlitebrowser
|
||||
method : user
|
||||
state: present
|
||||
36
roles/work/tasks/software/nextcloud.yml
Normal file
36
roles/work/tasks/software/nextcloud.yml
Normal file
@@ -0,0 +1,36 @@
|
||||
- name: software | nextcloud | install
|
||||
tags: packages,nextcloud,workstation-packages
|
||||
package:
|
||||
name:
|
||||
- nextcloud-client
|
||||
when:
|
||||
- ansible_distribution in ["Fedora", "openSUSE Tumbleweed-Slowroll", "openSUSE Leap"]
|
||||
- nextcloud is defined
|
||||
- nextcloud == true
|
||||
|
||||
- name: software | nextcloud | install
|
||||
tags: packages,nextcloud,workstation-packages
|
||||
package:
|
||||
name:
|
||||
- nextcloud-desktop
|
||||
when:
|
||||
- ansible_distribution in ["Pop!_OS", "Ubuntu"]
|
||||
- nextcloud is defined
|
||||
- nextcloud == true
|
||||
|
||||
- name: software | nextcloud-client | copy config files
|
||||
tags: dotfiles,dotfiles-super_user
|
||||
|
||||
copy:
|
||||
src: users/super_user/{{ item.src }}
|
||||
dest: /home/super_user/{{ item.dest }}
|
||||
owner: super_user
|
||||
group: super_user
|
||||
|
||||
mode: 0660
|
||||
with_items:
|
||||
- { src: 'nextcloud.cfg', dest: '.config/Nextcloud' }
|
||||
when:
|
||||
- ansible_distribution in ["Fedora", "openSUSE Leap", "openSUSE Tumbleweed-Slowroll", "Pop!_OS", "Ubuntu"]
|
||||
- nextcloud is defined
|
||||
- nextcloud == true
|
||||
10
roles/work/tasks/software/solaar.yml
Normal file
10
roles/work/tasks/software/solaar.yml
Normal file
@@ -0,0 +1,10 @@
|
||||
- name: software | install workstation distribution packages
|
||||
tags: packages,workstation-packages
|
||||
package:
|
||||
name: solaar
|
||||
state: latest
|
||||
|
||||
- name: software | make sure solaar doesn't autostart
|
||||
file:
|
||||
path: /etc/xdg/autostart/solaar.desktop
|
||||
state: absent
|
||||
89
roles/work/tasks/software/steam.yml
Normal file
89
roles/work/tasks/software/steam.yml
Normal file
@@ -0,0 +1,89 @@
|
||||
# For some reason Manjaro is detected as Archlinux
|
||||
- name: software | steam | check if distribution is manjaro
|
||||
stat:
|
||||
path: /usr/bin/manjaro-hello
|
||||
register: manjaro
|
||||
when:
|
||||
- ansible_distribution == "Archlinux"
|
||||
- steam is defined
|
||||
- steam == true
|
||||
|
||||
- name: software | steam | steam | enable multilib (arch)
|
||||
tags: steam,steam,multilib
|
||||
blockinfile:
|
||||
state: present
|
||||
backup: yes
|
||||
path: /etc/pacman.conf
|
||||
marker: '# {mark} ANSIBLE MANAGED BLOCK MULTILIB'
|
||||
block: |
|
||||
[multilib]
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
register: multilib
|
||||
when:
|
||||
- ansible_distribution == "Archlinux"
|
||||
- manjaro.stat.exists == False
|
||||
- steam is defined
|
||||
- steam == true
|
||||
|
||||
- name: software | steam | update cache (multilib added) (arch)
|
||||
tags: steam,steam,multilib
|
||||
pacman: update_cache=yes
|
||||
when:
|
||||
- multilib.changed
|
||||
- ansible_distribution == "Archlinux"
|
||||
|
||||
# As of 2020-09-30, multiarch is still required to be enabled in Debian and Ubuntu
|
||||
# Note: Not required in Pop OS, apparently
|
||||
- name: steam | add multiarch (debian, ubuntu)
|
||||
tags: steam,steam,multiarch
|
||||
lineinfile:
|
||||
dest: /var/lib/dpkg/arch
|
||||
regexp: "^i386"
|
||||
line: "i386"
|
||||
create: yes
|
||||
when:
|
||||
- ansible_distribution in ['Debian', 'Ubuntu']
|
||||
- steam is defined
|
||||
- steam == true
|
||||
|
||||
# For Debian and Ubuntu, set up acceptance of steam license before continuing
|
||||
- name: software | steam | accept license
|
||||
tags: gaming,steam
|
||||
debconf:
|
||||
name: "steam"
|
||||
question: "steam/question"
|
||||
value: "I AGREE"
|
||||
vtype: "select"
|
||||
when:
|
||||
- ansible_distribution in ["Debian", "Ubuntu"]
|
||||
- steam is defined
|
||||
- steam == true
|
||||
|
||||
- name: software | steam | install package
|
||||
tags: steam,steam
|
||||
package:
|
||||
state: latest
|
||||
name: "{{ steam_package }}"
|
||||
when:
|
||||
- steam is defined
|
||||
- steam == true
|
||||
|
||||
- name: software | steam | install steam-devices package (debian, ubuntu, etc)
|
||||
tags: steam,steam
|
||||
package:
|
||||
state: latest
|
||||
name: steam-devices
|
||||
when:
|
||||
- ansible_distribution in ["Debian", "Pop!_OS", "Ubuntu"]
|
||||
- steam is defined
|
||||
- steam == true
|
||||
|
||||
- name: install vulkan drivers (debian, ubuntu, etc)
|
||||
tags: drivers,steam
|
||||
package:
|
||||
state: latest
|
||||
name: mesa-vulkan-drivers
|
||||
when:
|
||||
- ansible_distribution in ["Debian", "Pop!_OS", "Ubuntu"]
|
||||
- steam is defined
|
||||
- steam == true
|
||||
61
roles/work/tasks/software/sublime_text.yml
Normal file
61
roles/work/tasks/software/sublime_text.yml
Normal file
@@ -0,0 +1,61 @@
|
||||
- name: software | sublime_text | add repository key
|
||||
apt_key:
|
||||
url: https://download.sublimetext.com/sublimehq-pub.gpg
|
||||
when: ansible_distribution in ["Debian", "Pop!_OS", "Ubuntu"]
|
||||
|
||||
- name: software | sublime_text | add repository
|
||||
apt_repository:
|
||||
repo: "deb https://download.sublimetext.com/ apt/stable/"
|
||||
filename: sublime_text
|
||||
register: sublime_text
|
||||
when: ansible_distribution in ["Debian", "Pop!_OS", "Ubuntu"]
|
||||
|
||||
- name: software | sublime_text | update sources (repo added or changed)
|
||||
apt:
|
||||
update_cache: yes
|
||||
changed_when: False
|
||||
when: sublime_text.changed
|
||||
|
||||
- name: software | sublime_text | install package
|
||||
apt:
|
||||
name:
|
||||
- sublime-text
|
||||
- sublime-merge
|
||||
when: ansible_distribution in ["Debian", "Pop!_OS", "Ubuntu"]
|
||||
|
||||
|
||||
- name: software | sublime_text | add repository
|
||||
shell: sudo dnf config-manager --add-repo https://download.sublimetext.com/rpm/stable/x86_64/sublime-text.repo
|
||||
args:
|
||||
creates: /etc/yum.repos.d/sublime_text.repo
|
||||
when: ansible_distribution in ["Fedora"]
|
||||
|
||||
- name: software | sublime_text | add repo key
|
||||
shell: sudo rpm -v --import https://download.sublimetext.com/sublimehq-rpm-pub.gpg
|
||||
when: ansible_distribution in ["Fedora"]
|
||||
|
||||
- name: software | sublime_text | install
|
||||
tags: packages,system,system-packages,workstation-packages
|
||||
package:
|
||||
name:
|
||||
- sublime-text
|
||||
- sublime-merge
|
||||
when: ansible_distribution in ["Fedora"]
|
||||
|
||||
- name: software | sublime_text | add repository
|
||||
shell: sudo zypper addrepo -g -f https://download.sublimetext.com/rpm/stable/x86_64/sublime-text.repo
|
||||
args:
|
||||
creates: /etc/zypp/repos.d/sublime-text.repo
|
||||
when: ansible_distribution in ["openSUSE Leap", "openSUSE Tumbleweed-Slowroll"]
|
||||
|
||||
- name: software | sublime_text | add repo key
|
||||
shell: sudo rpm -v --import https://download.sublimetext.com/sublimehq-rpm-pub.gpg
|
||||
when: ansible_distribution in ["openSUSE Leap", "openSUSE Tumbleweed-Slowroll"]
|
||||
|
||||
- name: software | sublime_text | install
|
||||
tags: packages,system,system-packages,workstation-packages
|
||||
package:
|
||||
name:
|
||||
- sublime-text
|
||||
- sublime-merge
|
||||
when: ansible_distribution in ["openSUSE Leap", "openSUSE Tumbleweed-Slowroll"]
|
||||
6
roles/work/tasks/software/thunderbird.yml
Normal file
6
roles/work/tasks/software/thunderbird.yml
Normal file
@@ -0,0 +1,6 @@
|
||||
- name: software | thunderbird | install package
|
||||
tags: packages,thunderbird,workstation-packages
|
||||
package:
|
||||
name:
|
||||
- thunderbird
|
||||
when: thunderbird is defined and thunderbird == true
|
||||
46
roles/work/tasks/software/virtualbox.yml
Normal file
46
roles/work/tasks/software/virtualbox.yml
Normal file
@@ -0,0 +1,46 @@
|
||||
# As of May 2, 2020; Virtualbox is available in backports, but is an old version.
|
||||
# The following will add the official Virtualbox repo
|
||||
|
||||
- name: software | virtualbox | install apt key (debian)
|
||||
tags: virtualbox,repositories,virtualbox
|
||||
apt_key:
|
||||
url: https://www.virtualbox.org/download/oracle_vbox_2016.asc
|
||||
state: present
|
||||
when:
|
||||
- ansible_distribution == "Debian"
|
||||
- virtualbox is defined
|
||||
- virtualbox == true
|
||||
|
||||
- name: software | virtualbox | install repository (debian)
|
||||
tags: virtualbox,repositories,virtualbox
|
||||
apt_repository:
|
||||
repo: deb https://download.virtualbox.org/virtualbox/debian buster contrib
|
||||
state: present
|
||||
filename: virtualbox
|
||||
register: virtualbox_repo_debian
|
||||
when:
|
||||
- ansible_distribution == "Debian"
|
||||
- virtualbox is defined
|
||||
- virtualbox == true
|
||||
|
||||
- name: software | virtualbox | install repository (Fedora)
|
||||
tags: virtualbox,repositories,virtualbox
|
||||
ansible.builtin.yum_repository:
|
||||
name: virtualbox
|
||||
description: EPEL YUM repo
|
||||
baseurl: http://download.virtualbox.org/virtualbox/rpm/fedora/$releasever/$basearch
|
||||
gpgkey: https://www.virtualbox.org/download/oracle_vbox.asc
|
||||
register: virtualbox_repo_fedora
|
||||
when:
|
||||
- ansible_distribution == "Fedora"
|
||||
- virtualbox is defined
|
||||
- virtualbox == true
|
||||
|
||||
|
||||
- name: software | virtualbox | install package
|
||||
tags: virtualbox
|
||||
package:
|
||||
name: "{{ virtualbox_package }}"
|
||||
when:
|
||||
- virtualbox is defined
|
||||
- virtualbox == true
|
||||
11
roles/work/tasks/software/vlc.yml
Normal file
11
roles/work/tasks/software/vlc.yml
Normal file
@@ -0,0 +1,11 @@
|
||||
- name: software | vlc | install package
|
||||
tags: packages,flatpak,vlc,workstation-packages
|
||||
become_user: super_user
|
||||
|
||||
flatpak:
|
||||
name: org.videolan.VLC
|
||||
method: user
|
||||
state: present
|
||||
when:
|
||||
- vlc is defined
|
||||
- vlc == true
|
||||
44
roles/work/tasks/software/vscodium.yml
Normal file
44
roles/work/tasks/software/vscodium.yml
Normal file
@@ -0,0 +1,44 @@
|
||||
- name: software | vscodium | add repository key
|
||||
shell: sudo wget https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/master/pub.gpg -O /usr/share/keyrings/vscodium-archive-keyring.asc
|
||||
when: ansible_distribution in ["Debian", "Pop!_OS", "Ubuntu"]
|
||||
|
||||
- name: software | vscodium | add repository
|
||||
apt_repository:
|
||||
repo: "deb [ signed-by=/usr/share/keyrings/vscodium-archive-keyring.asc ] https://paulcarroty.gitlab.io/vscodium-deb-rpm-repo/debs vscodium main"
|
||||
filename: vscodium
|
||||
register: vscodium
|
||||
when: ansible_distribution in ["Debian", "Pop!_OS", "Ubuntu"]
|
||||
|
||||
- name: software | vscodium | update sources (repo added or changed)
|
||||
apt:
|
||||
update_cache: yes
|
||||
changed_when: False
|
||||
when: vscodium.changed
|
||||
|
||||
- name: software | vscodium | install package
|
||||
apt:
|
||||
name: codium
|
||||
when: ansible_distribution in ["Debian", "Pop!_OS", "Ubuntu"]
|
||||
|
||||
- name: software | vscodium | add repository
|
||||
shell: printf "[gitlab.com_paulcarroty_vscodium_repo]\nname=gitlab.com_paulcarroty_vscodium_repo\nbaseurl=https://download.vscodium.com/rpms/\nenabled=1\ngpgcheck=1\nrepo_gpgcheck=1\ngpgkey=https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/-/raw/master/pub.gpg\nmetadata_expire=1h" | sudo tee -a /etc/zypp/repos.d/vscodium.repo
|
||||
args:
|
||||
creates: /etc/zypp/repos.d/vscodium.repo
|
||||
when: ansible_distribution in ["openSUSE Tumbleweed-Slowroll", "openSUSE Leap"]
|
||||
|
||||
- name: software | vscodium | add repository
|
||||
shell: printf "[gitlab.com_paulcarroty_vscodium_repo]\nname=download.vscodium.com\nbaseurl=https://download.vscodium.com/rpms/\nenabled=1\ngpgcheck=1\nrepo_gpgcheck=1\ngpgkey=https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/-/raw/master/pub.gpg\nmetadata_expire=1h" | sudo tee -a /etc/yum.repos.d/vscodium.repo
|
||||
args:
|
||||
creates: /etc/yum.repos.d/vscodium.repo
|
||||
when: ansible_distribution in ["Fedora"]
|
||||
|
||||
- name: software | vscodium | add repo key
|
||||
shell: sudo rpmkeys --import https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/-/raw/master/pub.gpg
|
||||
when: ansible_distribution in ["Fedora", "openSUSE Leap", "openSUSE Tumbleweed-Slowroll"]
|
||||
|
||||
- name: software | vscodium | install
|
||||
tags: packages,system,system-packages,workstation-packages
|
||||
package:
|
||||
name:
|
||||
- codium
|
||||
when: ansible_distribution in ["Fedora", "openSUSE Leap", "openSUSE Tumbleweed-Slowroll"]
|
||||
45
roles/work/tasks/system_setup/autofs.yml
Normal file
45
roles/work/tasks/system_setup/autofs.yml
Normal file
@@ -0,0 +1,45 @@
|
||||
- name: system setup | autofs | install package
|
||||
tags: autofs
|
||||
package:
|
||||
name: autofs
|
||||
when:
|
||||
- autofs is defined
|
||||
- autofs == true
|
||||
|
||||
- name: autofs | start and enable daemon
|
||||
tags: autofs
|
||||
service:
|
||||
name: autofs
|
||||
state: started
|
||||
enabled: true
|
||||
when:
|
||||
- autofs is defined
|
||||
- autofs == true
|
||||
|
||||
- name: system setup | autofs | copy auto.master config file
|
||||
tags: autofs,dotfiles,dotfiles-super_user
|
||||
|
||||
copy:
|
||||
src: autofs/auto.master
|
||||
dest: "{{ autofs_master_config }}"
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
when:
|
||||
- autofs is defined
|
||||
- autofs == true
|
||||
notify: restart_autofs
|
||||
|
||||
- name: system setup | autofs | copy auto.nfs config file
|
||||
tags: autofs,dotfiles,dotfiles-super_user
|
||||
|
||||
copy:
|
||||
src: autofs/auto.nfs
|
||||
dest: "{{ autofs_nfs_config }}"
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
when:
|
||||
- autofs is defined
|
||||
- autofs == true
|
||||
notify: restart_autofs
|
||||
1
roles/work/tasks/system_setup/scripts.yml
Normal file
1
roles/work/tasks/system_setup/scripts.yml
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
75
roles/work/tasks/system_setup/tweaks.yml
Normal file
75
roles/work/tasks/system_setup/tweaks.yml
Normal file
@@ -0,0 +1,75 @@
|
||||
# set up flatpak support
|
||||
- name: system setup | tweaks | add flatpak support
|
||||
package:
|
||||
name: flatpak
|
||||
state: present
|
||||
- name: system setup | tweaks | enable fedora-workstation-repositories
|
||||
tags: packages,system,system-packages,workstation-packages
|
||||
package:
|
||||
name:
|
||||
- fedora-workstation-repositories
|
||||
when: ansible_distribution in ["Fedora"]
|
||||
|
||||
- name: system setup | tweaks | enable frpm fusion
|
||||
shell: sudo dnf install -y https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
|
||||
when: ansible_distribution in ["Fedora"]
|
||||
|
||||
- name: system setup | tweaks | flatpak | add flathub remote
|
||||
tags: packages,flatpak,workstation-packages
|
||||
become_user: super_user
|
||||
|
||||
flatpak_remote:
|
||||
name: flathub
|
||||
flatpakrepo_url: https://flathub.org/repo/flathub.flatpakrepo
|
||||
method: user
|
||||
state: present
|
||||
|
||||
# distro-specific tasks for arch
|
||||
- name: system setup | tweaks | install xorg (archlinux)
|
||||
tags: distro,distro-setup,packages,system,system-packages,workstation-packages
|
||||
package:
|
||||
name: xorg-server
|
||||
when: ansible_distribution == "Archlinux"
|
||||
|
||||
- name: system setup | tweaks | install nvidia gpu packages (arch)
|
||||
tags: distro,distro-setup,packages,nvidia,system,system-packages,workstation-packages
|
||||
package:
|
||||
name:
|
||||
- nvidia
|
||||
- nvidia-lts
|
||||
- nvidia-utils
|
||||
when:
|
||||
- ansible_distribution == "Archlinux"
|
||||
- gpu is defined
|
||||
- gpu == "nvidia"
|
||||
|
||||
- name: system setup | tweaks | install vbox gpu packages (arch)
|
||||
tags: distro,distro-setup,packages,system,system-packages,vbox,workstation-packages
|
||||
package:
|
||||
name:
|
||||
- virtualbox-guest-utils
|
||||
- xf86-video-vmware
|
||||
when:
|
||||
- ansible_distribution == "Archlinux"
|
||||
- gpu is defined
|
||||
- gpu == "vbox"
|
||||
|
||||
|
||||
# distro-specific tasks for ubuntu
|
||||
- name: system setup | tweaks | disable apport in config on ubuntu-based hosts
|
||||
tags: distro,distro-setup,apport,ubuntu
|
||||
lineinfile:
|
||||
dest: /etc/default/apport
|
||||
regexp: "enabled="
|
||||
line: "enabled=0"
|
||||
failed_when: false
|
||||
when: ansible_distribution in ["Pop!_OS", "Ubuntu"]
|
||||
|
||||
- name: system setup | tweaks | disable and stop apport service on ubuntu-based hosts
|
||||
tags: distro,distro-setup,apport,ubuntu
|
||||
service:
|
||||
name: apport
|
||||
enabled: no
|
||||
state: stopped
|
||||
failed_when: false
|
||||
when: ansible_distribution in ["Pop!_OS", "Ubuntu"]
|
||||
64
roles/work/tasks/users/super_user.yml
Normal file
64
roles/work/tasks/users/super_user.yml
Normal file
@@ -0,0 +1,64 @@
|
||||
- name: users | super_user | remove preinstalled clutter from home directory
|
||||
file:
|
||||
path: /home/super_user/{{ item }}
|
||||
state: absent
|
||||
with_items:
|
||||
- examples.desktop
|
||||
- Music
|
||||
- Public
|
||||
- Templates
|
||||
- Videos
|
||||
|
||||
- name: users | super_user | create personal config directories
|
||||
tags: dotfiles,dotfiles-super_user
|
||||
file:
|
||||
path: /home/super_user/{{ item.dir }}
|
||||
state: directory
|
||||
owner: super_user
|
||||
group: super_user
|
||||
mode: 0700
|
||||
with_items:
|
||||
- { dir: .config }
|
||||
- { dir: .config/autostart }
|
||||
- { dir: .config/gtk-3.0 }
|
||||
- { dir: .config/terminator }
|
||||
- { dir: .local }
|
||||
- { dir: .local/share }
|
||||
- { dir: .local/share/applications }
|
||||
- { dir: .cert }
|
||||
- { dir: .icons }
|
||||
- { dir: .fonts }
|
||||
- { dir: .themes }
|
||||
- { dir: .clusterssh }
|
||||
- { dir: .ssh }
|
||||
- { dir: bin }
|
||||
- { dir: Templates }
|
||||
- { dir: Personal }
|
||||
- { dir: work }
|
||||
- { dir: Apps }
|
||||
|
||||
- name: users | super_user | copy user-dirs.dirs
|
||||
tags: dotfiles,dotfiles-super_user
|
||||
copy:
|
||||
src: users/super_user/user-dirs.dirs
|
||||
dest: /home/super_user/.config/user-dirs.dirs
|
||||
owner: super_user
|
||||
group: super_user
|
||||
mode: 0600
|
||||
notify: update_xdg
|
||||
|
||||
- name: users | super_user | copy personal config files
|
||||
tags: dotfiles,dotfiles-super_user
|
||||
copy:
|
||||
src: users/super_user/{{ item.src }}
|
||||
dest: /home/super_user/{{ item.dest }}
|
||||
owner: super_user
|
||||
group: super_user
|
||||
mode: 0600
|
||||
with_items:
|
||||
- { src: 'directory_bookmarks', dest: '.config/gtk-3.0/bookmarks' }
|
||||
- { src: 'gvimrc', dest: '.gvimrc' }
|
||||
- { src: 'mimeapps.list', dest: '.config/mimeapps.list' }
|
||||
- { src: 'ssh_client_config', dest: '.ssh/config' }
|
||||
- { src: 'terminator_config', dest: '.config/terminator/config' }
|
||||
- { src: 'redshift.conf', dest: '.config/redshift.conf' }
|
||||
Reference in New Issue
Block a user