finished install-office-terminal.yml

pull/12/head
Jordan Pryde 6 years ago
parent c7c669c6fa
commit df1c7b07c1
  1. 2
      ansible.cfg
  2. 3
      hosts
  3. 4
      install-office-terminal.yml
  4. 168
      roles/audio-client/files/default.pa
  5. 6
      roles/audio-client/tasks/main.yml
  6. 1
      roles/auth/tasks/main.yml
  7. 7
      roles/cleanup/tasks/main.yml
  8. 4
      roles/core/tasks/main.yml
  9. 63
      roles/general-use-gui/files/lightdm-gtk-greeter.conf
  10. 5
      roles/general-use-gui/files/lightdm.conf
  11. 6
      roles/general-use-gui/files/reset_xsession.sh
  12. 3
      roles/general-use-gui/files/xsession-reset.desktop
  13. 4
      roles/general-use-gui/files/xsession.desktop
  14. 255
      roles/general-use-gui/tasks/main.yml
  15. 221
      roles/general-use/tasks/main.yml
  16. 17
      roles/remove-useless/tasks/main.yml

@ -15,5 +15,5 @@ log_path = ansible.log
callback_plugins = plugins/callback/log_plays/
[ssh_connection]
ssh_args = -o ServerAliveInterval=30 -o ControlMaster=no
#ssh_args = -o ServerAliveInterval=30 -o ControlMaster=no

@ -1,3 +1,6 @@
[new-office]
officeterm-vm-test
[general-use]
caffeine.csclub.uwaterloo.ca
corn-syrup.csclub.uwaterloo.ca

@ -11,3 +11,7 @@
- auth
- csc-packages
- nfs
- general-use
- general-use-gui
- audio-client
- cleanup

@ -0,0 +1,168 @@
#!/usr/bin/pulseaudio -nF
#
# This file is part of PulseAudio.
#
# PulseAudio is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# PulseAudio is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
# This startup script is used only if PulseAudio is started per-user
# (i.e. not in system mode)
.nofail
### Load something into the sample cache
#load-sample-lazy x11-bell /usr/share/sounds/freedesktop/stereo/bell.oga
#load-sample-lazy pulse-hotplug /usr/share/sounds/freedesktop/stereo/device-added.oga
#load-sample-lazy pulse-coldplug /usr/share/sounds/freedesktop/stereo/device-added.oga
#load-sample-lazy pulse-access /usr/share/sounds/freedesktop/stereo/message.oga
.fail
### Automatically restore the volume of streams and devices
load-module module-device-restore
load-module module-stream-restore
load-module module-card-restore
### Automatically augment property information from .desktop files
### stored in /usr/share/application
load-module module-augment-properties
### Should be after module-*-restore but before module-*-detect
load-module module-switch-on-port-available
### Load audio drivers statically
### (it's probably better to not load these drivers manually, but instead
### use module-udev-detect -- see below -- for doing this automatically)
#load-module module-alsa-sink
#load-module module-alsa-source device=hw:1,0
#load-module module-oss device="/dev/dsp" sink_name=output source_name=input
#load-module module-oss-mmap device="/dev/dsp" sink_name=output source_name=input
#load-module module-null-sink
#load-module module-pipe-sink
.nofail
load-module module-tunnel-sink server=nullsleep cookie=/users/audio/.pulse-cookie
.fail
### Automatically load driver modules depending on the hardware available
.ifexists module-udev-detect.so
load-module module-udev-detect
.else
### Use the static hardware detection module (for systems that lack udev support)
load-module module-detect
.endif
### Automatically connect sink and source if JACK server is present
.ifexists module-jackdbus-detect.so
.nofail
load-module module-jackdbus-detect channels=2
.fail
.endif
### Automatically load driver modules for Bluetooth hardware
.ifexists module-bluetooth-policy.so
load-module module-bluetooth-policy
.endif
.ifexists module-bluetooth-discover.so
load-module module-bluetooth-discover
.endif
### Load several protocols
.ifexists module-esound-protocol-unix.so
load-module module-esound-protocol-unix
.endif
load-module module-native-protocol-unix
### Network access (may be configured with paprefs, so leave this commented
### here if you plan to use paprefs)
#load-module module-esound-protocol-tcp
#load-module module-native-protocol-tcp
#load-module module-zeroconf-publish
### Load the RTP receiver module (also configured via paprefs, see above)
#load-module module-rtp-recv
### Load the RTP sender module (also configured via paprefs, see above)
#load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 sink_properties="device.description='RTP Multicast Sink'"
#load-module module-rtp-send source=rtp.monitor
### Load additional modules from GConf settings. This can be configured with the paprefs tool.
### Please keep in mind that the modules configured by paprefs might conflict with manually
### loaded modules.
.ifexists module-gconf.so
.nofail
load-module module-gconf
.fail
.endif
### Automatically restore the default sink/source when changed by the user
### during runtime
### NOTE: This should be loaded as early as possible so that subsequent modules
### that look up the default sink/source get the right value
load-module module-default-device-restore
### Automatically move streams to the default sink if the sink they are
### connected to dies, similar for sources
load-module module-rescue-streams
### Make sure we always have a sink around, even if it is a null sink.
load-module module-always-sink
### Honour intended role device property
load-module module-intended-roles
### Automatically suspend sinks/sources that become idle for too long
load-module module-suspend-on-idle
### If autoexit on idle is enabled we want to make sure we only quit
### when no local session needs us anymore.
.ifexists module-console-kit.so
load-module module-console-kit
.endif
.ifexists module-systemd-login.so
load-module module-systemd-login
.endif
### Enable positioned event sounds
load-module module-position-event-sounds
### Cork music/video streams when a phone stream is active
#load-module module-role-cork
### Modules to allow autoloading of filters (such as echo cancellation)
### on demand. module-filter-heuristics tries to determine what filters
### make sense, and module-filter-apply does the heavy-lifting of
### loading modules and rerouting streams.
load-module module-filter-heuristics
load-module module-filter-apply
# X11 modules should not be started from default.pa so that one daemon
# can be shared by multiple sessions.
### Load X11 bell module
#load-module module-x11-bell sample=x11-bell
### Register ourselves in the X11 session manager
#load-module module-x11-xsmp
### Publish connection data in the X11 root window
#.ifexists module-x11-publish.so
#.nofail
#load-module module-x11-publish
#.fail
#.endif
### Make some devices default
#set-default-sink output
#set-default-source input

@ -0,0 +1,6 @@
---
- name: copy over default.pa to enable pumping audio to nullsleep
copy: src={{ item.src }} dest={{ item.dest }}
with_items:
- { src: 'default.pa', dest: '/etc/pulse/default.pa' }

@ -10,6 +10,7 @@
- ldap-utils
- sssd
- sssd-tools
- kstart
- name: install ubuntu sss pam and nss
apt: name={{ item }} state=latest

@ -0,0 +1,7 @@
---
- name: Etckeeper Commit
command: "{{ item }}"
with_items:
- 'git add .'
- 'etckeeper commit "Ansible (re-)build playbook run"'

@ -43,6 +43,10 @@
- schedtool
- pciutils
- rsync
- iotop
- attr
- tree
- parted
- name: Install compression
apt: name={{ item }} state=latest

@ -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

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

@ -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

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

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

@ -0,0 +1,255 @@
---
# should make sure that lightdm is the default
- name: Install X Server and utils
apt: name={{ item }} state=latest
with_items:
- xorg
- xsel
- gksu
- name: Install Terminal emulators
apt: name={{ item }} state=latest
with_items:
- rxvt
- rxvt-unicode-256color
- gnome-terminal
- xfce4-terminal
- konsole
- yakuake
- name: Install Web Browsers
apt: name={{ item }} state=latest
with_items:
- firefox
- google-chrome-stable
- chromium-browser
- epiphany-browser
- midori
- flashplugin-installer
- name: Install Mail Clients
apt: name={{ item }} state=latest
with_items:
- claws-mail
- thunderbird
- empathy
- name: Install Mail Clients
apt: name={{ item }} state=latest
with_items:
- pidgin
- pidgin-otr
- name: Install Office Applications
apt: name={{ item }} state=latest
with_items:
- scribus
- gimp
- xfig
- dia
- inkscape
- libreoffice
- fontforge
- xpdf
- evince
- djview4
- name: Install xubuntu-desktop
apt: name={{ item }} state=latest
with_items:
- xubuntu-desktop
- name: Install Window Managers
apt: name={{ item }} state=latest
with_items:
- xmonad
- libghc-xmonad-contrib-dev
- stumpwm
- wmii
- awesome
- openbox
- openbox-gnome-session
- openbox-kde-session
- i3-wm
- name: Install KDE Plasma-desktop
apt: name={{ item }} state=latest
with_items:
- plasma-desktop
- name: Install unity
apt: name={{ item }} state=latest
with_items:
- unity
- name: Install gnome
apt: name={{ item }} state=latest
with_items:
- gnome
- name: Install lxde
apt: name={{ item }} state=latest
with_items:
- lxde
- name: Install mate
apt: name={{ item }} state=latest
with_items:
- mate-desktop
- name: Install cinnamon
apt: name={{ item }} state=latest
with_items:
- cinnamon-desktop-environment
- name: Install widgets
apt: name={{ item }} state=latest
with_items:
- xmobar
- name: Install lockers
apt: name={{ item }} state=latest
with_items:
- i3lock
- light-locker
- name: Disable xscreensaver for xfce4 users
command: mv /etc/xdg/autostart/xscreensaver.desktop /etc/xdg/autostart/xscreensaver.desktop.disabled
args:
creates: /etc/xdg/autostart/xscreensaver.desktop.disabled
- name: copy over xsession.desktop and xsession-reset.desktop
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' }
- file: path=/usr/local/bin/reset_xsession.sh owner=root group=root mode=755
- name: Disable xsessions
shell: rename 's/$/\.disabled/' /usr/share/xsessions/*.desktop
- 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: Copy lightdm config
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 fonts
apt: name={{ item }} state=latest
with_items:
- console-setup
- xfonts-terminus
- gsfonts
- gsfonts-x11
- fonts-dejavu
- fonts-opensymbol
- fonts-freefont-ttf
- name: Install editors
apt: name={{ item }} state=latest
with_items:
- vim-gnome
- lyx
- emacs
- emacs24
- name: Install networking tools
apt: name={{ item }} state=latest
with_items:
- wireshark
- clusterssh
- name: Install printing/postscript tools
apt: name={{ item }} state=latest
with_items:
- gv
- ghostscript-x
- name: Install math tools
apt: name={{ item }} state=latest
with_items:
- gnuplot-x11
- rocs
- name: Install CAD tools
apt: name={{ item }} state=latest
with_items:
- carmetal
- xtrkcad
- freecad
- pythoncad
- name: Install media tools
apt: name={{ item }} state=latest
with_items:
- pavucontrol
- vlc
- mpv
- cheese
- pavucontrol
- amarok
- audacity
- audacious
- lmms
- k3b
- ardour
- imagemagick
- blender
- name: Install electronics tools
apt: name={{ item }} state=latest
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 virtualiztion tools
apt: name={{ item }} state=latest
with_items:
- virtualbox
- virt-manager
- virt-viewer
- name: Install image tools
apt: name={{ item }} state=latest
with_items:
- feh
- hugin
- enblend
- enfuse
- hugin-tools
- gthumb
- eog
- name: Install misc tools
apt: name={{ item }} state=latest
with_items:
- workrave

@ -0,0 +1,221 @@
---
- name: Install Editors
apt: name={{ item }} state=latest
with_items:
- nvi
- bvi
- wily
- vim-nox
- name: Install Crypto tools (including smartcard support)
apt: name={{ item }} state=latest
with_items:
- gnupg-agent
- gnupg2
- openssl
- pcscd
- opensc
- gpgsm
- keychain
- name: Install network tools
apt: name={{ item }} state=latest
with_items:
- ipset
- ipcalc
- iftop
- nmap
- openipmi
- ipmitool
- cdpr
- lksctp-tools
- iptables
- ebtables
- arptables
- freeipmi-tools
- lftp
- ncftp
- axel
- tsocks
- socat
- snmp
- snmp-mibs-downloader
- finger
- name: Install http tools
apt: name={{ item }} state=latest
with_items:
- w3m
- links
- elinks
- lynx
- curl
- wget
- name: Install typesetting tools (TeX)
apt: name={{ item }} state=latest
with_items:
- groff
- texlive-full
- dvi2ps
- dvipng
- dvidvi
- djvulibre-bin
- ghostscript
- psutils
- name: Install fs tools
apt: name={{ item }} state=latest
with_items:
- fuse
- sshfs
- dosfstools
- davfs2
- cloop-utils
- ecryptfs-utils
- name: Install database tools
apt: name={{ item }} state=latest
with_items:
- sqlite
- sqlite3
- sqlite3-doc
- postgresql-client
- mysql-client
- db-util
- name: Install math tools
apt: name={{ item }} state=latest
with_items:
- graphviz
- r-recommended
- euler
- euler-doc
- gnuplot-doc
- gap
- lp-solve
- mathomatic
- maxima
- maxima-doc
- fplll-tools
- gnuplot-nox
- name: Install xml tools
apt: name={{ item }} state=latest
with_items:
- xsltproc
- libxml2-utils
- docbook-xsl
- docbook-utils
- docbook-dsssl
- docbook-xml
- docbook-to-man
- xmlto
- fop
- opensp
- sgml2x
- sgmltools-lite
- sp
- tidy
- xalan
- name: Install multimedia tools
apt: name={{ item }} state=latest
with_items:
- festival
- ffmpeg
- dvgrab
- cdparanoia
- genisoimage
- sox
- mp3blaster
- x264
- mkvtoolnix
- vorbis-tools
- mencoder
- timidity
- dvd+rw-tools
- lame
- twolame
- cdrdao
- dvdrip
- wodim
- pulseaudio
- bchunk
- name: Install torrrent tools
apt: name={{ item }} state=latest
with_items:
- rtorrent
- name: Install communications tools
apt: name={{ item }} state=latest
with_items:
- mutt
- alpine
- tin
- irssi
- fetchmail
- slrn
- spamassassin
- weechat
- weechat-plugins
- newsbeuter
- name: Install serial tools
apt: name={{ item }} state=latest
with_items:
- minicom
- cu
- name: Install virtualization tools
apt: name={{ item }} state=latest
with_items:
- qemu
- qemu-kvm
- libvirt-bin
- bridge-utils
- name: Install misc tools
apt: name={{ item }} state=latest
with_items:
- rdiff
- tofrodos
- mc
- busybox-static
- most
- bonnie++
- time
- latencytop
- bsdmainutils
- dctrl-tools
- gddrescue
- file
- parchive
- par2
- reportbug
- rpm
- shtool
- smbclient
- stow
- xstow
- sysstat
- unison
- john
- sg3-utils
- dstat
- rstat-client
- i2c-tools
- dnstracer
- apt-file
- makepasswd
- syslinux
- fdupes
- cowsay
- 9base
- libjpeg-progs

@ -0,0 +1,17 @@
---
- name: remove useless things
apt: name={{ item }} state=absent
with_items:
- lirc
- joe
- pidentd
- winbind
- modemmanager
- libpam-ldapd
- libpam-ldap
- sn
- network-manager
- wpasupplicant
- nscd
- nslcd
Loading…
Cancel
Save