From 8ce7a1ed216331bd66c0fb760650e0573f72e5ea Mon Sep 17 00:00:00 2001 From: Crony Akatsuki Date: Thu, 1 May 2025 22:54:30 +0200 Subject: [PATCH] feat(newsboat): add newsboat configuration. --- .../home-manager/configs/newsboat-queries | 1 + modules/linux/home-manager/default.nix | 2 + modules/linux/home-manager/newsboat.nix | 47 +++++++++++++++++++ 3 files changed, 50 insertions(+) create mode 100644 modules/linux/home-manager/configs/newsboat-queries create mode 100644 modules/linux/home-manager/newsboat.nix diff --git a/modules/linux/home-manager/configs/newsboat-queries b/modules/linux/home-manager/configs/newsboat-queries new file mode 100644 index 0000000..fe8014b --- /dev/null +++ b/modules/linux/home-manager/configs/newsboat-queries @@ -0,0 +1 @@ +"query:Unread:unread = \"yes\"" diff --git a/modules/linux/home-manager/default.nix b/modules/linux/home-manager/default.nix index d0d89ea..f383650 100644 --- a/modules/linux/home-manager/default.nix +++ b/modules/linux/home-manager/default.nix @@ -12,6 +12,7 @@ ./restic.nix ./shell-additions.nix ./flatpak.nix + ./newsboat.nix ]; crony.mangohud.enable = lib.mkDefault true; @@ -26,4 +27,5 @@ crony.gaming.enable = lib.mkDefault true; crony.shell-additions.enable = lib.mkDefault true; crony.flatpak.enable = lib.mkDefault true; + crony.newsboat.enable = lib.mkDefault true; } diff --git a/modules/linux/home-manager/newsboat.nix b/modules/linux/home-manager/newsboat.nix new file mode 100644 index 0000000..834b704 --- /dev/null +++ b/modules/linux/home-manager/newsboat.nix @@ -0,0 +1,47 @@ +{ + config, + lib, + ... +}: { + 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; + 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; + }; + }; +}