Overview
nasrepo automatically downloads .deb packages from builds.sr.ht and uses local-apt-repository to make them available via APT.
Architecture
Timer (daily 3 AM)
↓
pull-artifacts
↓
/srv/local-apt-repository/ (.deb files)
↓ (systemd path monitoring)
local-apt-repository (metadata generation)
↓
/var/lib/local-apt-repository/ (APT repository)
↓
apt install
Components
nasrepo package:
/usr/lib/nasrepo/pull-artifacts- Downloads from builds.sr.ht/etc/nasrepo/.srht-token- OAuth tokennasrepo-update.timer- Daily automation (3 AM)nasrepo-update.service- Runs pull-artifacts
local-apt-repository package:
- Monitors
/srv/local-apt-repository/for new .deb files - Generates metadata in
/var/lib/local-apt-repository/ - Configures APT source automatically
Key Locations
- Token:
/etc/nasrepo/.srht-token - Downloads:
/srv/local-apt-repository/(input) - Repository:
/var/lib/local-apt-repository/(output) - APT source:
/etc/apt/sources.list.d/local-apt-repository.list
Manual Operations
Download latest packages:
sudo /usr/lib/nasrepo/pull-artifacts nascoll /srv/local-apt-repository
Check timer status:
systemctl status nasrepo-update.timer
Enable automatic updates:
sudo systemctl enable --now nasrepo-update.timer
Flow
- Timer triggers daily (or manual run)
pull-artifactsqueries builds.sr.ht for latest successful build- Downloads
all-packages.tar.gz, extracts .debs to/srv/local-apt-repository/ local-apt-repository.pathdetects new fileslocal-apt-repository.servicerebuilds metadata- Packages immediately available via
apt install