60 lines
1.4 KiB
Nix
60 lines
1.4 KiB
Nix
{
|
|
config,
|
|
pkgs,
|
|
lib,
|
|
...
|
|
}: let
|
|
link-handler = pkgs.writeShellScriptBin "link-handler" ''
|
|
#!/usr/bin/env sh
|
|
|
|
case "$(printf "mpv\\nmpv audio\\nbrowser" | tofi --prompt "Open link with what program?")" in
|
|
"mpv") ${pkgs.mpv}/bin/mpv "$@" ;;
|
|
"mpv audio") ${pkgs.mpv}/bin/mpv "$@" --no-video ;;
|
|
"browser") ${pkgs.librewolf}/bin/librewolf "$@" ;;
|
|
esac
|
|
'';
|
|
in {
|
|
options = {
|
|
crony.newsboat.enable = lib.mkEnableOption "Enable and config newsboat how I wan't it";
|
|
};
|
|
|
|
config = lib.mkIf config.crony.newsboat.enable {
|
|
programs.newsboat = {
|
|
enable = true;
|
|
browser = "${link-handler}/bin/link-handler";
|
|
autoReload = true;
|
|
reloadThreads = 10;
|
|
extraConfig = ''
|
|
unbind-key ENTER
|
|
unbind-key j
|
|
unbind-key k
|
|
unbind-key J
|
|
unbind-key K
|
|
|
|
bind-key j down
|
|
bind-key k up
|
|
bind-key l open
|
|
bind-key h quit
|
|
|
|
bind-key g home
|
|
bind-key G end
|
|
bind-key a toggle-article-read
|
|
|
|
confirm-mark-feed-read yes
|
|
|
|
urls-source "ttrss"
|
|
ttrss-url "https://ttrss.cronyakatsuki.xyz"
|
|
ttrss-login "crony"
|
|
ttrss-passwordfile "~/.config/newsboat/password.txt"
|
|
|
|
download-path "~/Downloads"
|
|
max-downloads 2
|
|
player "mpv"
|
|
'';
|
|
};
|
|
home.file = {
|
|
".config/newsboat/urls".source = ./configs/newsboat-queries;
|
|
};
|
|
};
|
|
}
|