Remindr is a recurring reminder application written in Go. It notifies users on Linux using the libnotify library and the dunst notification daemon. The application consists of a CLI tool and a server that runs as a systemd user service.
- Set recurring reminders via CLI
- Notifications delivered via
dunston Linux - Easy installation and setup with a single command
- Runs as a user-level systemd service
- libnotify: For sending desktop notifications
- dunst: A lightweight notification daemon for Linux
Install the dependencies on Ubuntu/Debian:
sudo apt-get install libnotify-bin dunst-
Install Go (if not already installed):
sudo apt-get install golang
-
Install Remindr:
go install github.com/Shobhit-Nagpal/remindr/remindr-cli@latest
-
Setup the Service:
remindr setup /path/to/working/directory
This will:
- Create a systemd user service file at
~/.config/systemd/user/remindr.service - Start the service using
go run
- Create a systemd user service file at
-
Verify the Service:
systemctl --user status remindr.service
-
Clone the Repository:
git clone https://github.com/Shobhit-Nagpal/remindr.git cd remindr -
Create the Systemd User Service: Create a service file at
~/.config/systemd/user/remindr.service:[Unit] Description=Remindr Service After=default.target [Service] Environment=PATH=/usr/local/go/bin:/usr/local/bin:/usr/bin:/bin ExecStart=go run /path/to/remindr/server/main.go WorkingDirectory=/path/to/remindr/server Restart=on-failure [Install] WantedBy=default.target
-
Enable and Start the Service:
systemctl --user daemon-reload systemctl --user enable remindr.service systemctl --user start remindr.service
Use the CLI to set a recurring reminder:
remindr create "Meeting in 10 minutes" --interval 600View all active reminders:
remindr listStop a reminder by its ID:
remindr stop <id>Run a reminder by its ID:
remindr run <id>To remove the Remindr service:
remindr destroyEnsure dunst is running:
dunst &Check the logs:
journalctl --user -u remindr.serviceCheck service status:
systemctl --user status remindr.serviceContributions are welcome! Please open an issue or submit a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.