Add gui role

This commit is contained in:
Zachary Seguin 2018-04-14 16:18:19 -04:00
parent 0ece4c23ce
commit ac8114ae87
9 changed files with 432 additions and 0 deletions

View File

@ -7,3 +7,4 @@
- csc-packages
- csc-filesystems
- general-use
- gui

View File

@ -0,0 +1,3 @@
{
"AuthServerWhitelist": "*.csclub.uwaterloo.ca"
}

View File

@ -0,0 +1,5 @@
// This file can be used to configure global preferences for Firefox
// Example: Homepage
//pref("browser.startup.homepage", "http://www.weebls-stuff.com/wab/");
pref("network.negotiate-auth.trusted-uris", ".csclub.uwaterloo.ca");

View File

@ -0,0 +1,63 @@
# LightDM GTK+ Configuration
# Available configuration options listed below.
#
# Appearance:
# theme-name = GTK+ theme to use
# icon-theme-name = Icon theme to use
# background = Background file to use, either an image path or a color (e.g. #772953)
# user-background = false|true ("true" by default) Display user background (if available)
# transition-duration = Length of time (in milliseconds) to transition between background images ("500" by default)
# transition-type = ease-in-out|linear|none ("ease-in-out" by default)
#
# Fonts:
# font-name = Font to use
# xft-antialias = false|true Whether to antialias Xft fonts
# xft-dpi = Resolution for Xft in dots per inch (e.g. 96)
# xft-hintstyle = none|slight|medium|hintfull What degree of hinting to use
# xft-rgba = none|rgb|bgr|vrgb|vbgr Type of subpixel antialiasing
#
# Login window:
# active-monitor = Monitor to display greeter window (name or number). Use #cursor value to display greeter at monitor with cursor. Can be a semicolon separated list
# position = x y ("50% 50%" by default) Login window position
# default-user-image = Image used as default user icon, path or #icon-name
# hide-user-image = false|true ("false" by default)
#
# Panel:
# panel-position = top|bottom ("top" by default)
# clock-format = strftime-format string, e.g. %H:%M
# indicators = semi-colon ";" separated list of allowed indicator modules. Built-in indicators include "~a11y", "~language", "~session", "~power", "~clock", "~host", "~spacer". Unity indicators can be represented by short name (e.g. "sound", "power"), service file name, or absolute path
#
# Accessibility:
# a11y-states = states of accessibility features: "name" - save state on exit, "-name" - disabled at start (default value for unlisted), "+name" - enabled at start. Allowed names: contrast, font, keyboard, reader.
# keyboard = command to launch on-screen keyboard (e.g. "onboard")
# keyboard-position = x y[;width height] ("50%,center -0;50% 25%" by default) Works only for "onboard"
# reader = command to launch screen reader (e.g. "orca")
#
# Security:
# allow-debugging = false|true ("false" by default)
# screensaver-timeout = Timeout (in seconds) until the screen blanks when the greeter is called as lockscreen
#
# Template for per-monitor configuration:
# [monitor: name]
# background = overrides default value
# user-background = overrides default value
# laptop = false|true ("false" by default) Marks monitor as laptop display
# transition-duration = overrides default value
#
[greeter]
#background=
#user-background=
#theme-name=
#icon-theme-name=
#font-name=
#xft-antialias=
#xft-dpi=
#xft-hintstyle=
#xft-rgba=
#indicators=
#clock-format=
#keyboard=
#reader=
#position=
#screensaver-timeout=
hide-user-image=true

View File

@ -0,0 +1,5 @@
[SeatDefaults]
user-session=xsession
greeter-hide-users=true
allow-guest=false
greeter-session=lightdm-gtk-greeter

View File

@ -0,0 +1,6 @@
#!/bin/bash
if zenity --question --text "Are you sure you want to reset your xsession config file? (will be backed up in ~/.xsession-backup)"; then
mv .xsession .xsession-backup
cp /users/skel/.xsession .
fi

View File

@ -0,0 +1,3 @@
[Desktop Entry]
Name=Reset user-defined session
Exec=/usr/local/bin/reset_xsession.sh

View File

@ -0,0 +1,4 @@
[Desktop Entry]
Name=User-defined session
Exec=/etc/X11/Xsession
Type=Application

342
roles/gui/tasks/main.yml Normal file
View File

@ -0,0 +1,342 @@
---
- name: Install X server and utilities
apt:
name: '{{ item }}'
state: present
cache_valid_time: 3600
with_items:
- xorg
- xsel
- gksu
- arandr
- redshift
- name: Install terminal emulators
apt:
name: '{{ item }}'
state: present
cache_valid_time: 3600
with_items:
- rxvt
- rxvt-unicode-256color
- gnome-terminal
- xfce4-terminal
- konsole
- yakuake
- name: Install web browsers
apt:
name: '{{ item }}'
state: present
cache_valid_time: 3600
with_items:
- firefox
- google-chrome-stable
- chromium-browser
- epiphany-browser
- midori
- name: Create directories for browser configuration
file:
path: '{{ item }}'
state: directory
with_items:
- /etc/opt/chrome/policies/managed
- /etc/firefox
- name: Copy browser configuration
copy:
src: '{{ item.src }}'
dest: '{{ item.dest }}'
with_items:
- src: chrome-kerberos.json
dest: /etc/opt/chrome/policies/managed/csc-kerberos.json
- src: firefox-kerberos.js
dest: /etc/firefox/syspref.js
- name: Install Flash player
apt:
name: flashplugin-installer
state: present
cache_valid_time: 3600
- name: Install mail clients
apt:
name: '{{ item }}'
state: present
cache_valid_time: 3600
with_items:
- claws-mail
- thunderbird
- empathy
- pidgin
- pidgin-otr
- name: Install office applications
apt:
name: '{{ item }}'
state: present
cache_valid_time: 3600
with_items:
- scribus
- gimp
- xfig
- dia
- inkscape
- libreoffice
- fontforge
- xpdf
- evince
- djview4
- krita
- name: Install xubuntu-desktop
apt:
name: xubuntu-desktop
state: present
cache_valid_time: 3600
- name: Install window managers
apt:
name: '{{ item }}'
state: present
cache_valid_time: 3600
with_items:
- xmonad
- libghc-xmonad-contrib-dev
- stumpwm
- wmii
- awesome
- openbox
- openbox-gnome-session
- openbox-kde-session
- i3-wm
- name: Install desktop environments
apt:
name: '{{ item }}'
state: present
cache_valid_time: 3600
with_items:
- plasma-desktop
- unity
- gnome
- lxde
- lxde-common
- mate-desktop-environment
- cinnamon-desktop-environment
- name: Install dbus-user-session (to fix login failures)
apt:
name: dbus-user-session
state: present
cache_valid_time: 3600
- name: Disable xscreensaver for xfce4 users
file:
dest: /etc/xdg/autostart/xscreensaver.desktop
state: absent
- name: Copy xsession sample configuration and reset script
copy:
src: '{{ item.src }}'
dest: '{{ item.dest }}'
with_items:
- src: xsession.desktop
dest: /usr/share/xsessions/xsession.desktop
- src: xsession-reset.desktop
dest: /usr/share/xsessions/xsession-reset.desktop
- src: reset_xsession.sh
dest: /usr/local/bin/reset_xsession.sh
- name: Disable xsessions
shell: rename 's/$/\.disabled/' /usr/share/xsessions/*.desktop
- name: Restore sample xsessions
shell: mv /usr/share/xsessions/{{ item }}.desktop.disabled /usr/share/xsessions/{{ item }}.desktop
args:
creates: /usr/share/xsessions/{{ item }}.desktop
removes: /usr/share/xsessions/{{ item }}.desktop.disabled
with_items:
- xsession
- xsession-reset
- name: Configure lightdm
copy:
src: '{{ item.src }}'
dest: '{{ item.dest }}'
with_items:
- src: lightdm.conf
dest: /etc/lightdm/lightdm.conf
- src: lightdm-gtk-greeter.conf
dest: /etc/lightdm/lightdm-gtk-greeter.conf
- name: Install widgets
apt:
name: '{{ item }}'
state: present
cache_valid_time: 3600
with_items:
- xmobar
- i3status
- i3blocks
- dzen2
- dunst
- name: Install lockers
apt:
name: '{{ item }}'
state: present
cache_valid_time: 3600
with_items:
- i3lock
- light-locker
- name: Install fonts
apt:
name: '{{ item }}'
state: present
cache_valid_time: 3600
with_items:
- console-setup
- xfonts-terminus
- gsfonts
- gsfonts-x11
- fonts-dejavu
- fonts-opensymbol
- fonts-freefont-ttf
- name: Install editors
apt:
name: '{{ item }}'
state: present
cache_valid_time: 3600
with_items:
- vim-gnome
- lyx
- emacs
- emacs24
- name: Install networking tools
apt:
name: '{{ item }}'
state: present
cache_valid_time: 3600
with_items:
- wireshark
- clusterssh
- name: Install printing/postscript tools
apt:
name: '{{ item }}'
state: present
cache_valid_time: 3600
with_items:
- gv
- ghostscript-x
- name: Install math tools
apt:
name: '{{ item }}'
state: present
cache_valid_time: 3600
with_items:
- gnuplot-x11
- rocs
- name: Install CAD tools
apt:
name: '{{ item }}'
state: present
cache_valid_time: 3600
with_items:
- carmetal
- xtrkcad
- freecad
- pythoncad
- name: Install media tools
apt:
name: '{{ item }}'
state: present
cache_valid_time: 3600
with_items:
- pavucontrol
- vlc
- mpv
- cheese
- amarok
- audacity
- audacious
- lmms
- k3b
- ardour
- imagemagick
- blender
- name: Install image tools
apt:
name: '{{ item }}'
state: present
cache_valid_time: 3600
with_items:
- feh
- hugin
- enblend
- enfuse
- hugin-tools
- gthumb
- eog
- name: Install electronics tools
apt:
name: '{{ item }}'
state: present
cache_valid_time: 3600
with_items:
- geda
- arduino
- ngspice
- bristol
- cl-rlc
- electric
- gerbv
- gnucap
- gpsim
- gsmc
- gspiceui
- gtkwave
- linsmith
- oregano
- pcb
- pcb-gtk
- tkgate
- xcircuit
- kic
- kicad
- name: Install virtualization tools
apt:
name: '{{ item }}'
state: present
cache_valid_time: 3600
with_items:
- virtualbox
- virt-manager
- virt-viewer
- name: Install misc. tools
apt:
name: '{{ item }}'
state: present
cache_valid_time: 3600
with_items:
- workrave
- remmina
- name: Install idle-python
apt:
name: idle-python2.7
state: present
cache_valid_time: 3600