diff --git a/model/sys-desc/shelltime.service b/model/sys-desc/shelltime.service
index 571d69d..21357bf 100644
--- a/model/sys-desc/shelltime.service
+++ b/model/sys-desc/shelltime.service
@@ -4,8 +4,15 @@ After=network.target
[Service]
Type=simple
-ExecStart=/usr/local/bin/shelltime-daemon
+ExecStart=/bin/sh -c 'exec $(getent passwd username | cut -d: -f7) -l -c "/usr/local/bin/shelltime-daemon"'
Restart=always
+# Resource limits
+LimitNOFILE=65536
+
+# Logging
+StandardOutput=journal
+StandardError=journal
+
[Install]
WantedBy=default.target
diff --git a/model/sys-desc/xyz.shelltime.daemon.plist b/model/sys-desc/xyz.shelltime.daemon.plist
index d30eefc..3d9bbe6 100644
--- a/model/sys-desc/xyz.shelltime.daemon.plist
+++ b/model/sys-desc/xyz.shelltime.daemon.plist
@@ -6,7 +6,9 @@
xyz.shelltime.daemon
ProgramArguments
- {{.BaseFolder}}/bin/shelltime-daemon
+ /bin/sh
+ -c
+ exec $SHELL -l -c '{{.BaseFolder}}/bin/shelltime-daemon'
RunAtLoad