I used to do this:
sleep 25m && notify-send "Tea is ready"
It works until the laptop sleeps, the terminal closes, or you reboot. Then the timer is just gone.
I wanted one-shot reminders that survive that — and actually interrupt me. Not another todo list.
So I wrote rmd.
The interface
rmd +25m Tea is ready
rmd tomorrow 15:00 Join release call
rmd fri 22:00 Shut up and go to bed
rmd
rmd with no args lists what's coming. Relative durations, weekdays, ISO dates. Quotes optional.
What it is not
Not a task manager. No recurring projects, no kanban, no "someday". Push notifications are reserved for time-bound things: food on the stove, a call in 10 minutes.
What it does that sleep doesn't
- Daemon via systemd user service (or auto-spawned by the CLI)
- State in
~/.local/state/rmd/reminders.json— reboot-safe - If the machine was off, missed reminders come back as one grouped notification
- Desktop notifications over D-Bus (Dunst, Mako, Fnott, SwayNC, DE built-in)
Linux + a notification daemon. Built in Rust.
Install
rmd
A lightweight, reliable reminder daemon and CLI for Linux.
Set one-shot reminders that survive reboots and show up as desktop notifications.
Philosophy:
rmdis not a task manager. It is a zero-friction, hard-interrupt system designed to protect your flow state—reserving push notifications strictly for urgent, time-bound events (like food on the stove or an immediate meeting). Read the full Design Vision.
Features
- Simple CLI:
rmd +25m Tea is ready - Background daemon (auto-started by CLI or managed via
systemd) - Persistent storage (
~/.local/state/rmd/reminders.json) - Missed reminders handling (grouped notification when the system was offline)
Requirements
- Linux (x86_64 or aarch64)
- A D-Bus notification daemon (e.g., Fnott, Mako, Dunst, SwayNC, or DE built-in)
Installation
Prebuilt Binary (Recommended)
Downloads the pre-compiled static musl binary and enables the systemd user service:
curl -sSfL https://github.com/PaulBunch/rmd/releases/latest/download/rmd-linux-x86_64.tar.gz | tar -xz
install -Dm755 rmd ~/.local/bin/rmd
install -Dm644 rmd.service ~/.config/systemd/user/rmd.service
systemctl --user daemon-reload
systemctl --user …cargo install rmd-cli
Prebuilt binaries are in the GitHub releases if you prefer not to compile.
If you also got tired of sleep && notify-send, that's the whole pitch.

Top comments (0)