From 1655a64ab35a4c4d0c5a4080113a2cd81adc0c41 Mon Sep 17 00:00:00 2001 From: Matthias Johnson Date: Tue, 17 Feb 2026 13:57:34 -0700 Subject: [PATCH 1/2] Add emoji icons to feature list and fix typos in README Co-Authored-By: Claude Opus 4.6 --- README.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/README.md b/README.md index 7896b19..cdc7e4b 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,14 @@ A cron/at-like interface for systemd user timers. Create, manage, and monitor scheduled jobs without writing unit files by hand. +Because you want to use systemd, but miss the ease of ~crontab~`systab -e`! + +- 🚀 create one-time or recurring jobs with one command +- ✏️ use your $EDITOR to manage `systab` timers in a single line format +- 📊 quickly see the status of your timers +- 📋 access the logs of timers +- 💪 enable and disable timers + @@ -193,8 +201,13 @@ After cloning, enable the pre-commit hook (runs ShellCheck + tests): git config core.hooksPath .githooks ``` + ## FAQ +Why this wrapper? + +I was missing the simplicity of `at` and `crontab` commands. `systemd` has many features and benefits that those tools do not have, but convenience for the user to set a quick timer is not one of them. + **What's the difference between `-c` and `-f`?** `-f` validates that the file exists and is executable at creation time, catching typos and permission issues early. With `-c`, errors only surface when systemd runs the job later (visible via `systab -L`). Under the hood, both produce the same `ExecStart` line. From 2b755477262130be9a57e9b5cb9a892995ba5cc1 Mon Sep 17 00:00:00 2001 From: Matthias Johnson Date: Tue, 17 Feb 2026 14:02:48 -0700 Subject: [PATCH 2/2] a note on thhe crontab format --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index cdc7e4b..9374b73 100644 --- a/README.md +++ b/README.md @@ -211,3 +211,7 @@ I was missing the simplicity of `at` and `crontab` commands. `systemd` has many **What's the difference between `-c` and `-f`?** `-f` validates that the file exists and is executable at creation time, catching typos and permission issues early. With `-c`, errors only surface when systemd runs the job later (visible via `systab -L`). Under the hood, both produce the same `ExecStart` line. + +**Why did you mess with the crontab format?** + +Originally I meant to keep it the same, but there isn't a one-to-one mapping of times supported by cron and systemd. systemd has more options. I also want the human readble strings like "in 5 minutes". Trying to force that into the crontab format with it's space delimited format meant quotes, etc. in the end I used the `|` and limit the number of fields so that the commands can also be piped.
Quick start demo