A minimal radio player for the terminal.
Use Nix to execute:
nix run github:pascalj/rdo
Normal mode:
Enter: play selected stationSpace: stop playingj/kor↓/↑: select stationsJ/K: move selected station down / upn: new statione: edit selected stationd: delete selected station (asks to confirm)q: quit
Edit / add mode:
Tab: switch between the name and URL fieldEnter: saveEsc: cancel
Delete confirmation:
Enter: confirmEsc: cancel
Stations are saved as CSV in $XDG_CONFIG_HOME/rdo/stations.csv, e.g.:
name,url
detektor.fm - Wort,https://streams.detektor.fm/wort/mp3-256/website/
radio lclhst,http://radio.lclhst.net/listen.m3u
Fields containing commas, quotes, or newlines are quoted per RFC 4180.
The flake exposes a home-manager module for declaring stations from your NixOS / home-manager config:
{
imports = [ inputs.rdo.homeManagerModules.default ];
# Apply the overlay so pkgs.rdo resolves, or set programs.rdo.package
# explicitly.
nixpkgs.overlays = [ inputs.rdo.overlays.default ];
programs.rdo = {
enable = true;
stations = [
{
name = "detektor.fm - Wort";
url = "https://streams.detektor.fm/wort/mp3-256/website/";
}
{
name = "radio lclhst";
url = "http://radio.lclhst.net/listen.m3u";
}
];
};
}While stations is non-empty the CSV file is a symlink into the Nix store.
