diff --git a/modules/apps/newsboat.nix b/modules/apps/newsboat.nix new file mode 100644 index 0000000..e934f60 --- /dev/null +++ b/modules/apps/newsboat.nix @@ -0,0 +1,53 @@ +{ + config, + lib, + ... +}: + +let + cfg = config.modules.apps.newsboat; +in +{ + options.modules.apps.newsboat = { + enable = lib.my.mkBoolOpt false; + }; + + config = lib.mkIf cfg.enable { + home-manager.users.${config.user.name} = { + + programs.newsboat = { + enable = true; + autoFetchArticles = { + enable = true; + onCalendar = "hourly"; + }; + extraConfig = '' + urls-source "ocnews" + ocnews-url "https://cloud.banditlair.com" + ocnews-login "paultrial" + ocnews-passwordeval "secret-tool lookup elfeed nextcloud" + + cleanup-on-quit yes + + bind gg everywhere home + bind G everywhere end + + bind u everywhere toggle-article-read + + bind , everywhere sort + + bind ^u everywhere pageup + bind ^d everywhere pagedown + + bind k everywhere up + bind j everywhere down + + bind l feedlist open + bind l articlelist open + bind h articlelist quit + bind h article quit + ''; + }; + }; + }; +} diff --git a/modules/desktop/wm.nix b/modules/desktop/wm.nix index 5b1c9f5..4234cae 100644 --- a/modules/desktop/wm.nix +++ b/modules/desktop/wm.nix @@ -32,7 +32,10 @@ in hardware = { audio.enable = true; }; - apps.rofi.enable = true; + apps = { + rofi.enable = true; + newsboat.enable = true; + }; }; home-manager.users.${config.user.name} = @@ -110,7 +113,7 @@ in "$mod, W, exec, firefox" "$mod, R, exec, ${term} -e yazi" "$mod, E, exec, emacsclient -c" - "$mod, N, exec, emacsclient -c --eval '(elfeed)'" + "$mod, N, exec, ${term} -e newsboat" "$mod, I, exec, ${term} -e htop" "$mod, M, exec, ${term} -e ncmpcpp" "$mod, V, exec, ${term} -e ncmpcpp -s visualizer"