# localhome

## Description / Use cases
Sometimes a local home directory makes more sense than the home on a network share.

For example, with:
* Laptops with Wi-Fi connectivity
* Laptops that are also used outside the school network (e.g., teacher devices)
* Devices assigned to a specific user who synchronizes data using a sync client

## Requirements
Nothing

## Activation / Default
To enable the local home directory, set the variable `localhome` to `true` (default: false).

## Configuration / Variables

  * **localhome**  
    This flag indicates whether to use home on local disk.  
    If set to `true` local user's home will be on local disk.  
    Type: *Boolean*  
    Values:
    * `false` <-- (default)
    * `true`
  * **localhome_logout_missing_serverhome**  
    If this flag is set to `true`, the user will be logged out if mounting the serverhome failed.  
    Sometimes mounting the server homes fails, but the user still logs in.  
    For laptops used in schools, it's better to force the server home.  
    For teacher devices that can also be used outside of school, this flag must not be set.  
    Type:: *Boolean*  
    Values:
    * `false`
    * `true` <-- (default)

## Example

* Hosts in group `laptops` will get the localhome. Teacherlaptops will be part of the `laptop` group (children-entry).
* All computers in the desktop group, except the PC with IP address 10.0.2.33, will have their home directory on the network (default).\
  The PC with IP address 10.0.2.33 also has a local home directory.
* Hosts in group `desktop` will have home on net (default).
* If mounting the server home fails on a local home device (except for teacher devices), the user is automatically logged out.

inventory.yml
```
laptops:
  hosts:
    10.0.1.[1-64]:
  children:
    teacherlaptops
  vars:
    localhome: true
teacherlaptops:
  hosts:
    10.0.3.[1-32]:
  vars:
    localhome_logout_missing_serverhome: false
desktops:
  hosts:
    10.0.2.[1-32]:
    10.0.2.33:
      localhome: true
    10.0.2.[34-64]:
```
