aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--roles/_workstation/smartcard/tasks/main.yml21
-rw-r--r--roles/_workstation/smartcard/templates/pcscd-restart.service.j210
-rw-r--r--roles/_workstation/smartcard/templates/pcscd-sleep.service.j210
-rw-r--r--site.workstation.yml1
4 files changed, 37 insertions, 5 deletions
diff --git a/roles/_workstation/smartcard/tasks/main.yml b/roles/_workstation/smartcard/tasks/main.yml
index 4037b5c..8baea2e 100644
--- a/roles/_workstation/smartcard/tasks/main.yml
+++ b/roles/_workstation/smartcard/tasks/main.yml
@@ -9,8 +9,19 @@
name: "{{ smartcard_packages }}"
state: present
-# - name: start and enable pcscd service
-# ansible.builtin.service:
-# name: pcscd
-# state: started
-# enabled: true
+- name: start and enable pcscd service
+ ansible.builtin.service:
+ name: pcscd
+ state: started
+ enabled: true
+
+- name: generate pcscd-restart system service
+ ansible.builtin.template:
+ src: pcscd-restart.service.j2
+ dest: "/etc/systemd/system/pcscd-restart.service"
+ mode: "0755"
+
+- name: enable pcscd-restart system service
+ ansible.builtin.service:
+ name: pcscd-restart.service
+ enabled: true
diff --git a/roles/_workstation/smartcard/templates/pcscd-restart.service.j2 b/roles/_workstation/smartcard/templates/pcscd-restart.service.j2
new file mode 100644
index 0000000..eab6dac
--- /dev/null
+++ b/roles/_workstation/smartcard/templates/pcscd-restart.service.j2
@@ -0,0 +1,10 @@
+[Unit]
+Description=restart pcscd on sleep
+After=suspend.target
+
+[Service]
+Type=oneshot
+ExecStart=/usr/bin/systemctl --no-block restart pcscd.service
+
+[Install]
+WantedBy=suspend.target
diff --git a/roles/_workstation/smartcard/templates/pcscd-sleep.service.j2 b/roles/_workstation/smartcard/templates/pcscd-sleep.service.j2
new file mode 100644
index 0000000..14848ae
--- /dev/null
+++ b/roles/_workstation/smartcard/templates/pcscd-sleep.service.j2
@@ -0,0 +1,10 @@
+[Unit]
+Description=stop pcscd on sleep
+After=sleep.target
+
+[Service]
+Type=oneshot
+ExecStart=/usr/bin/systemctl --no-block stop pcscd.service
+
+[Install]
+WantedBy=sleep.target
diff --git a/site.workstation.yml b/site.workstation.yml
index 76fc3a6..16cc9be 100644
--- a/site.workstation.yml
+++ b/site.workstation.yml
@@ -14,6 +14,7 @@
syncthing_workstation_user: "{{ _workstation_user }}"
yay_workstation_user: "{{ _workstation_user }}"
makepkg_user: "{{ _workstation_user }}"
+ smartcard_user: "{{ _workstation_user }}"
pre_tasks:
- name: verify running as root
remember that computers suck.