From 317b931de0ae6512f80c4004f066d155750f250d Mon Sep 17 00:00:00 2001
From: Marty Oehme <contact@martyoeh.me>
Date: Mon, 3 Mar 2025 08:13:37 +0100
Subject: [PATCH] feat(basic): Add socklog service

Allows the primary user to read syslogs (and daemon logs which get
transferred to syslogs).
---
 roles/base/tasks/main.yaml | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/roles/base/tasks/main.yaml b/roles/base/tasks/main.yaml
index 7aabc47..ee67d6a 100644
--- a/roles/base/tasks/main.yaml
+++ b/roles/base/tasks/main.yaml
@@ -120,3 +120,30 @@
         - snooze-daily
         - snooze-weekly
         - snooze-monthly
+
+- name: Set up socklog as syslog daemon
+  tags:
+    - syslog
+    - socklog
+  block:
+    - name: Install socklog
+      community.general.xbps:
+        name:
+          - socklog-void
+        state: "{{ desired_package_state | default('present') }}"
+
+    - name: Activate snooze cron services
+      ansible.builtin.file:
+        force: "yes"
+        src: "/etc/sv/{{ item }}"
+        dest: "/etc/runit/runsvdir/default/{{ item }}"
+        state: link
+      loop:
+        - socklog-unix
+        - nanoklogd
+
+    - name: Put user in socklog group
+      ansible.builtin.user:
+        name: "{{ user_name }}"
+        groups: [socklog]
+        append: true