Files
nix-dotfiles/home/programs/newsboat/default.nix

85 lines
2.3 KiB
Nix

{ config, pkgs, lib, ... }:
let
cfg = config.programs.newsboat;
# package = cfg.package;
package = pkgs.newsboat;
defaultBrowser = "google-chrome-stable %u";
videoViewer = "mpv %u";
in {
imports = [ ./sources.nix ];
programs.newsboat = {
enable = true;
fetch-articles.enable = true;
vacuum.enable = true;
autoReload = true;
maxItems = 50;
browser = ''"${defaultBrowser}"'';
extraConfig = lib.strings.concatStringsSep "\n" [
''
auto-reload no
''
''
macro m set browser "${videoViewer}"; open-in-browser ; set browser "${defaultBrowser}"
macro l set browser "${defaultBrowser}"; open-in-browser ; set browser "${defaultBrowser}"
''
# Unbind keys
''
unbind-key ENTER
unbind-key j
unbind-key k
unbind-key J
unbind-key K
''
# Bind keys - vim style
''
bind-key j down
bind-key k up
bind-key l open
bind-key h quit
''
# Theme
''
color background default default
color listnormal default default
color listnormal_unread default default
color listfocus black cyan
color listfocus_unread black cyan
color info default black
color article default default
''
# Highlights
''
highlight all "---.*---" yellow
highlight feedlist ".*(0/0))" black
highlight article "(^Feed:.*|^Title:.*|^Author:.*)" cyan default bold
highlight article "(^Link:.*|^Date:.*)" default default
highlight article "https?://[^ ]+" green default
highlight article "^(Title):.*$" blue default
highlight article "\\[[0-9][0-9]*\\]" magenta default bold
highlight article "\\[image\\ [0-9]+\\]" green default bold
highlight article "\\[embedded flash: [0-9][0-9]*\\]" green default bold
highlight article ":.*\\(link\\)$" cyan default
highlight article ":.*\\(image\\)$" blue default
highlight article ":.*\\(embedded flash\\)$" magenta default
''
];
};
# systemd.user.slices.app-newsboat = {
# Unit = {
# Description = "Newsboat automation";
# Documentation = [ "man:newsboat(1)" ];
# };
# };
}