diff options
Diffstat (limited to 'roles')
-rwxr-xr-x | roles/local_homedirs/files/etc/systemd/user-environment-generators/local-homedirs.sh | 13 | ||||
-rw-r--r-- | roles/local_homedirs/tasks/main.yml | 16 |
2 files changed, 29 insertions, 0 deletions
diff --git a/roles/local_homedirs/files/etc/systemd/user-environment-generators/local-homedirs.sh b/roles/local_homedirs/files/etc/systemd/user-environment-generators/local-homedirs.sh new file mode 100755 index 0000000..2b760e2 --- /dev/null +++ b/roles/local_homedirs/files/etc/systemd/user-environment-generators/local-homedirs.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +set -eu + +uid=$(id -u) +username=$(id -un) + +if (( uid >= 1000 )); then + echo "XDG_DATA_HOME=/usr/local/home/${username}/.local/share" + echo "XDG_STATE_HOME=/usr/local/home/${username}/.local/state" + echo "XDG_CACHE_HOME=/usr/local/home/${username}/.cache" + echo "XDG_CONFIG_HOME=/usr/local/home/${username}/.config" +fi diff --git a/roles/local_homedirs/tasks/main.yml b/roles/local_homedirs/tasks/main.yml index 8823672..e7109d5 100644 --- a/roles/local_homedirs/tasks/main.yml +++ b/roles/local_homedirs/tasks/main.yml @@ -74,3 +74,19 @@ loop: - session optional pam_exec.so {{ local_homedir_script_ssh }} - session optional pam_env.so conffile={{ local_homedir_pam_env_path }} + +- name: create systemd environment generator directory + file: + path: /etc/systemd/user-environment-generators + state: directory + +- name: create systemd environment generator + copy: + src: etc/systemd/user-environment-generators/local-homedirs.sh + dest: /etc/systemd/user-environment-generators/local-homedirs.sh + register: local_homedirs_systemd_environment_generator + +- name: reload daemons + systemd: + daemon_reload: yes + when: local_homedirs_systemd_environment_generator.changed |