Feed me
nom
is a terminal based RRS feed reader using Glow styled markdown to improve the reading experience and a simple TUI using Bubbletea.
- Local sync and offline reading
- Backend connections (miniflux, freshrss supported)
- Vim style keybindings for navigation
- Plenty more features such as mark read/unread, filtering and feed naming
$ go install github.com/guyfedwards/nom/cmd/nom@latest
See releases for binaries
Config lives by default in $XDG_CONFIG_HOME/nom/config.yml
Add feeds with the add
command
$ nom add <url>
or add directly to the config at $XDG_CONFIG_HOME/nom/config.yml
on unix systems and $HOME/Library/Application Support/nom/config.yml
on darwin.
feeds:
- url: https://dropbox.tech/feed
# name will be prefixed to all entries in the list
name: dropbox
- url: https://snyk.io/blog/feed
You can customise the location of the config file with the --config-path
flag.
Show read items by default. (can be toggled with M)
showread: true
Automatically mark items as read on selection or navigation through items. ()
autoread: true
As well as adding feeds directly, you can pull in feeds from another source. You can add multiple backends and the feeds will all be added.
backends:
miniflux:
host: http://myminiflux.foo
api_key: jafksdljfladjfk
freshrss:
host: http://myfreshrss.bar
user: admin
password: muchstrong
nom
uses sqlite as a store for feeds and metadata. It is stored next to the config in $XDG_CONFIG_HOME/nom/nom.db
. This can be backed up like any file and will store articles, read state etc. It can also be deleted to start from scratch redownloading all articles and no state.
$ nom # open TUI
$ nom list -n 20 # optionally show more
$ nom add <feed_url>
$ nom --feed <feed_url> # preview feed without adding to config
Build nom image
docker build -t nom .
This embeds the local docker-config.yml file into the container and will be used by default.
Running the nom via docker
docker run --rm -it nom
Use the -v
command line argument to mount a local config onto /app/docker-config.yml
as desired.
You can use the backends-compose.yml
to spin up a local instance of miniflux and freshrss if needed for development.
$ docker-compose -f backends-compose.yml up