📍 I just shifted location and wanted a way to stay updated about local news without tracking or clutter.
📰 Localaid is a privacy‑first, open‑source local news aggregator daemon and Waybar widget! 🛰️ It continuously fetches multi-source RSS feeds, resolves locations with hybrid geoparsing, performs zero-cost vector deduplication, and displays real-time headlines with AI harm/injury alert gradient styling directly in Waybar. ⚡
- 🔒 Zero‑exposure: All API keys are stored in a
.env.exampletemplate – never committed. - 🎯 Location‑guarded: Only news for your configured district (e.g., YourDistrict, YourState) are shown. All other locations are filtered out.
- 🎨 Waybar integration: JSON output consumable by Waybar, with custom CSS & harm alert gradient styling.
- ⚙️ Systemd service: Starts automatically on boot and restarts seamlessly on failure.
- 🧩 Extensible: Pluggable feed list, future GTK pop‑over reader, TTS, and local vector embeddings.
# Clone the repository
git clone https://github.com/VinayakGhai/Localaid.git
cd Localaid
# Create a private .env file from the example and fill in your API keys
cp .env.example .env
# edit .env with your keys (do NOT commit this file!)
# Install dependencies (Python 3.10+ required)
python -m pip install -r requirements.txt
# Run the daemon manually (for testing)
python daemon.py# Copy the service file
sudo cp systemd/waybar-news-daemon.service /etc/systemd/system/
# Reload systemd and enable/start the service
sudo systemctl daemon-reload
sudo systemctl enable --now waybar-news-daemon.serviceThe service will now start on every boot and keep the Waybar module alive.
All configuration lives in ~/.config/waybar-news-daemon/:
config.yaml– feed URLs, polling interval, district filter, UI options..env– private API keys (not version‑controlled).
See config.example.yaml for a template.
Please read CONTRIBUTING.md for guidelines on how to get started, coding standards, and the process for submitting pull requests.
Distributed under the GNU GPLv3 – see LICENSE for details.
- GitHub Discussions: link placeholder
- Issue tracker: use the templates under
.github/ISSUE_TEMPLATE/.
Built with love for the Wayland community, using Python, SQLite, and the Waybar ecosystem.
