A lightweight, hackable notification scheduler written in Common Lisp, designed to run natively on Android via Termux.
- Zero-Dependency Core: Runs on standard SBCL.
- Android Integration: Uses
termux-apito push native system notifications. - Snooze Functionality: Interactive notifications with buttons to snooze tasks.
- Termux app (Install from F-Droid/Neo Store).
- Termux:API app (Install from F-Droid/Neo Store).
- Inside Termux, install packages:
pkg install sbcl termux-api
The best way to edit your files is to use a native Android editor, or a simple terminal editor.
Nano is included in Termux and is the simplest tool for quick edits.
To edit or create the todo list:
nano todo.txt
Press Ctrl+X to exit and Y to save.
Acode (or any other Android code editor) is highly recommended for a better editing experience.
-
Install Acode from the Play Store/F-Droid/Neo Store.
-
Set up Termux Storage Bridge (One-Time Setup): This lets Acode see your Termux files.
termux-setup-storage(Click 'Allow' when the permission popup appears.)
-
Find Your Project: In Acode, navigate to your Termux project folder, which is typically under Internal Storage > Documents > code > lisp-code. Usage
-
Set up wake lock in Termux. Run
termux-wake-lockin Termux to ensure the script runs reliably in the background without being killed by Android's battery saving features. -
Create the todo file.
touch todo.txt(This must be in the same directory as
remind.lispandsnooze.lisp). -
Input your tasks using the format HH:MM Task Name (24-hour time):
07:00 Exercise
21:00 Sleep
-
Run the script.
sbcl --script remind.lisp(To stop the scheduler, press
Ctrl+Cin the Termux window, and runtermux-wake-unlockto release the battery lock.)