Uses the notify-send
command in combination with a sqlite database and systemd-timers in order to create text based reminders.
reminder add -m "go to bed 1h" # reminds you in one hour with the message "go to bed"
reminder add -m "10m call bob back" # reminds you in 10 minutes to re-call bob
reminder show # show all upcoming reminders
reminder run # execute all overdue reminders (should be used with systemd-timers or cron)
You can create a small alias for your favorite shell. Edit your .bashrc
or .zshrc
and add the following function:
rme () {
reminder add -m "$*"
}
Now reminders can be added with a minimum of parameter usage, e.g.:
rme 10m make a break # reminds you in 10 minutes to take a break
In order to receive notifications you have to create a service / cronjob that executes reminders run
method at least once every minute.
User services are located in the ~/.config/systemd/user/
directory.
Create a file in this directory called reminder.service
with the following content and replace [USERNAME]
with your username:
[Unit]
Description=reminder
[Service]
Type=oneshot
ExecStart=/usr/local/sbin/reminder run
WorkingDirectory=/home/[USERNAME]
After that a timer is needed. Simply create the file reminder.timer
in the same directory with the following content:
[Unit]
Description=reminder
[Timer]
OnCalendar=*:0/1
Persistent=true
[Install]
WantedBy=timers.target
In order to enable the timer simply run the following command:
systemctl --user enable reminder.timer && systemctl --user start reminder.timer
Coming soon, PR welcome.
crystal spec
Clone the repository and run:
shards install
shards build --production --release --no-debug
The executable will then be located in ./bin/reminder