From af36980a8125e53c4e0cfccd03ab46550545991b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hannes=20K=C3=B6rber?= Date: Sat, 20 Apr 2024 12:10:12 +0200 Subject: [PATCH] Make user unit handling work --- user.yml | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/user.yml b/user.yml index de99f66..869e853 100644 --- a/user.yml +++ b/user.yml @@ -48,20 +48,12 @@ - xdg-user-dirs-update.service - gnome-keyring-daemon.service -- name: stop undesired service - systemd_service: - name: "{{ item }}" - scope: user - state: stopped - loop: "{{ undesired_user_services }}" - -# No way to use the `systemd` module here, as it needs a logind -# session. So we have to handle the symlinks for masking ourselves. -- name: disable and mask systemd user units - file: - state: link - dest: "/home/{{ user.name }}/.config/systemd/user/{{ item }}" - src: "/dev/null" +# systemd needs a login session, machinectl handles that for us +- name: stop and mask undesired services + command: + cmd: machinectl --uid {{ user.name }} shell -- .host /usr/bin/env systemctl --user mask --now "{{ item }}" + become: true + become_user: root loop: "{{ undesired_user_services }}" - name: create directory for getty autologin