Neuro Timer is a GTK3 desktop application for Linux that helps you optimize your work sessions using proven productivity protocols. Features include deep work timers, NSDR (Non-Sleep Deep Rest) with ambient audio, and brown noise for focus.
# Clone the repository
git clone https://github.com/metaphysicist1/neuro-timer.git
cd neuro-timer
# Run the installer
./install.sh
# Or run directly
python3 neuro_timer.py
| Feature | File | Description |
|---|---|---|
| NSDR Music | assets/nsdr.mp3 |
Plays during NSDR sessions |
| Brown Noise | assets/brown.mp3 |
Toggle anytime for focus |
Requires: mpv audio player
sudo apt install mpv
⚠️ Audio files are NOT included in this repository due to licensing.
Add your own royalty-free audio toassets/. See Audio Setup below.
Audio files must be added manually. Recommended free sources:
| Source | License | Link |
|---|---|---|
| Freesound | Creative Commons | freesound.org |
| Pixabay | Royalty-free | pixabay.com/music |
| Incompetech | CC BY | incompetech.com |
Setup:
# Add your audio files
cp your_relaxation.mp3 assets/nsdr.mp3
cp your_brown_noise.mp3 assets/brown.mp3
| Protocol | Duration | Purpose |
|---|---|---|
| Deep Work | 90 min | Extended focused work session |
| NSDR | 10 min | Mental reset with relaxation audio |
| Focus Reset | 1 min | Quick attention recalibration |
| Morning | 10 min | Intentional day start |
| Evening | 15 min | Work-to-rest transition |
| Component | Technology |
|---|---|
| Language | Python 3.6+ |
| GUI Framework | GTK3 (PyGObject) |
| Threading | Python threading module |
| Audio | mpv / ffplay / vlc |
| Notifications | libnotify |
neuro-timer/
├── neuro_timer.py # Main application
├── assets/
│ ├── icon.png # App icon
│ ├── nsdr.mp3 # NSDR audio (add your own)
│ └── brown.mp3 # Brown noise (add your own)
├── install.sh # Desktop integration
├── neuro-timer.desktop # Launcher file
├── .gitignore # Excludes audio files
├── README.md
└── LICENSE
# Install dependencies
sudo apt install python3-gi python3-gi-cairo gir1.2-gtk-3.0 mpv
Simply replace the files in assets/:
nsdr.mp3 — Your preferred relaxation audiobrown.mp3 — Your preferred background noiseEdit the protocols list in neuro_timer.py:
protocols = [
("🎯 Deep Work", "deep_work", 90),
("🧘 NSDR", "nsdr", 10),
# Add custom protocols:
("🍅 Pomodoro", "pomodoro", 25),
]
Contributions welcome! Ideas:
MIT License — see LICENSE for details.
Note: Audio files in
assets/are excluded from the MIT license and are
for personal use only. See LICENSE file for full disclaimer.
[Your Name]