Skip to content

pascalj/rdo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rdo

A minimal radio player for the terminal.

rdo screenhot

Usage

Use Nix to execute:

nix run github:pascalj/rdo

Keymap

Normal mode:

  • Enter: play selected station
  • Space: stop playing
  • j/k or /: select stations
  • J/K: move selected station down / up
  • n: new station
  • e: edit selected station
  • d: delete selected station (asks to confirm)
  • q: quit

Edit / add mode:

  • Tab: switch between the name and URL field
  • Enter: save
  • Esc: cancel

Delete confirmation:

  • Enter: confirm
  • Esc: cancel

Stations

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.

Home-manager

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.

About

A minimal radio player for the terminal

Resources

Stars

Watchers

Forks

Contributors