synix/modules/home/hyprland/applications/newsboat/default.nix
sid ecf5132cbb
Some checks failed
Build tests / build-hosts (pull_request) Failing after 3s
Flake check / flake-check (pull_request) Failing after 13s
enforce new flake schema. formatting.
2026-05-31 18:50:41 +02:00

49 lines
1.2 KiB
Nix

{
config,
lib,
pkgs,
...
}:
let
cfg = config.wayland.windowManager.hyprland;
app = cfg.applications.rssreader.default;
reloadTime = "${toString config.programs.newsboat.reloadTime}";
newsboat-reload = import ./newsboat-reload.nix { inherit config pkgs; };
inherit (lib) mkIf;
in
{
config = mkIf (cfg.enable && app == "newsboat") {
programs.newsboat = {
enable = true;
extraConfig = builtins.readFile ./extra-config;
};
home.packages = [ newsboat-reload ]; # newsboat's waybar module executes newsboat-reload on click
# Automatically reload newsboat on timer
systemd.user = {
timers.newsboat-reload = {
Unit.Description = "Reload newsboat every ${reloadTime} minutes";
Timer = {
OnBootSec = "10sec";
OnUnitActiveSec = "${reloadTime}min";
Unit = "newsboat-reload.service";
};
Install.WantedBy = [ "timers.target" ];
};
services.newsboat-reload = {
Unit.Description = "Reload newsboat";
Service.Type = "oneshot";
Service.ExecStart = "${newsboat-reload}/bin/newsboat-reload";
Install.WantedBy = [ "multi-user.target" ];
};
};
};
}