``role::workstation``
=====================

This role implements a generic desktop system. The following features are
supported:

- AFS (optional), with automatic token renewal
- AD authentication
- Printing via the PSI CUPS server
- Multiple keyboard layouts on the login screen
- Kerberos support for Firefox


Parameters
----------


=================  =========  ========================================
**Name**           **Type**   **Default**
-----------------  ---------  ----------------------------------------
banner_message     string     See ``common.yaml``
enable_afs         bool       hiera('workstation::enable_afs', true)
favorites          array      See ``common.yaml``
keyboard_layouts   array      See ``common.yaml``
local_homes        bool       false
priv_users         array      []
idle_delay         integer    hiera('workstation::idle_delay')
lock_delay         integer    hiera('workstation::lock_delay')
lock_enabled       boolean    hiera('workstation::lock_enabled')
timedlogin_delay   integer    hiera('workstation::timedlogin_delay')
timedlogin_enable  boolean    hiera('workstation::timedlogin_enable')
timedlogin_user    string     hiera('workstation::timedlogin_user')
=================  =========  ========================================

``banner_message``
~~~~~~~~~~~~~~~~~~

A message displayed on the login screen.

``enable_afs``
~~~~~~~~~~~~~~~

Configures AFS access and pmodule.


``favorites``
~~~~~~~~~~~~~

The of applications/locations in the 'Favorites' menu. Entries usually specify
an application's desktop file, eg. 'firefox.desktop'.


``idle_delay``
~~~~~~~~~~~~~~

The number of seconds before the screensaver is started. Also see `lock_delay`_
and `lock_enabled`_.


``keyboard_layouts``
~~~~~~~~~~~~~~~~~~~~

The list of keyboard layouts available on the login screen.


``local_homes``
~~~~~~~~~~~~~~~

Whether or not to use local homes in ``/home``.


``lock_delay``
~~~~~~~~~~~~~~

The number of seconds to wait after the start of the screensaver before locking
the screen. Also see `idle_delay`_.


``lock_enabled``
~~~~~~~~~~~~~~~~

Whether or not to lock the screen after a period of inactivity. See
`idle_delay`_ and `lock_delay`_ for more.


``priv_users``
~~~~~~~~~~~~~~

A list of users, which will have admin privileges in the UI. They can install
additional software, for example.


``timedlogin_delay``
~~~~~~~~~~~~~~~~~~~~

How many seconds to wait at the login screen before logging in automatically.


``timedlogin_enable``
~~~~~~~~~~~~~~~~~~~~~

Enable automatic logins. This does not work with accounts which require AFS, of
course.


``timedlogin_user``
~~~~~~~~~~~~~~~~~~~

Which user to log in as if automatic logins have been enabled.
