diff --git a/flake.nix b/flake.nix index 6bbec8e..fa705be 100644 --- a/flake.nix +++ b/flake.nix @@ -154,7 +154,6 @@ gpg = ./home/modules/programs/gpg; mpd-auto-updater = ./home/modules/services/mpd.nix; neovim-auto-clean-swapfiles = ./home/modules/programs/neovim/auto-clean-swapfiles.nix; - newsboat = ./home/modules/programs/newsboat; nix-index-auto-update-database = ./home/modules/programs/nix-index/auto-update-database.nix; prism-launcher = ./home/modules/programs/prism-launcher; shellAliases = ./home/modules/shellAliases.nix; diff --git a/home/modules/programs/newsboat/default.nix b/home/modules/programs/newsboat/default.nix deleted file mode 100644 index 4464321..0000000 --- a/home/modules/programs/newsboat/default.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ - imports = [ - ./vacuum.nix - ./fetch-articles.nix - ]; -} diff --git a/home/modules/programs/newsboat/fetch-articles.nix b/home/modules/programs/newsboat/fetch-articles.nix deleted file mode 100644 index d538a6c..0000000 --- a/home/modules/programs/newsboat/fetch-articles.nix +++ /dev/null @@ -1,54 +0,0 @@ -{ config, pkgs, lib, ... }: -let - cfg = config.programs.newsboat; - package = pkgs.newsboat; -in -{ - options.programs.newsboat.fetch-articles = { - enable = lib.mkEnableOption "automatic article fetcher for newsboat"; - - onCalendar = lib.mkOption { - type = lib.types.str; - default = "daily"; - example = "weekly"; - # TODO: link to systemd manpage for format. - description = "How often to fetch new articles."; - }; - }; - - config = lib.mkIf cfg.fetch-articles.enable { - # TODO: wait for internet - systemd.user.services.newsboat-fetch-articles = { - Unit = { - Description = "Automatically fetch new articles for newsboat"; - Documentation = [ "man:newsboat(1)" ]; - }; - - Service = { - Type = "oneshot"; - Slice = "background.slice"; - CPUSchedulingPolicy = "idle"; - IOSchedulingClass = "idle"; - ExecStart = "${lib.getExe pkgs.flock} %t/newsboat.lock ${lib.getExe package} --execute=reload"; - }; - }; - - systemd.user.timers.newsboat-fetch-articles = { - Unit = { - Description = "Automatically fetch new articles for newsboat"; - Documentation = [ "man:newsboat(1)" ]; - After = [ "network.target" ]; - }; - - Timer = { - Unit = "newsboat-fetch-articles.service"; - OnCalendar = cfg.fetch-articles.onCalendar; - Persistent = true; - }; - - Install = { - WantedBy = [ "timers.target" ]; - }; - }; - }; -} diff --git a/home/modules/programs/newsboat/vacuum.nix b/home/modules/programs/newsboat/vacuum.nix deleted file mode 100644 index 7f25d6c..0000000 --- a/home/modules/programs/newsboat/vacuum.nix +++ /dev/null @@ -1,52 +0,0 @@ -{ config, pkgs, lib, ... }: -let - cfg = config.programs.newsboat; - package = pkgs.newsboat; -in -{ - options.programs.newsboat.vacuum = { - enable = lib.mkEnableOption "automatic cleaning of the newsboat cache"; - - onCalendar = lib.mkOption { - type = lib.types.str; - default = "weekly"; - example = "monthly"; - # TODO: link to systemd manpage for format. - description = "How often to run the cleaning."; - }; - }; - - config = lib.mkIf cfg.vacuum.enable { - systemd.user.services.newsboat-vacuum = { - Unit = { - Description = "Automatically clean newsboat cache"; - Documentation = [ "man:newsboat(1)" ]; - }; - - Service = { - Type = "oneshot"; - Slice = "background.slice"; - CPUSchedulingPolicy = "idle"; - IOSchedulingClass = "idle"; - ExecStart = "${lib.getExe pkgs.flock} %t/newsboat.lock ${lib.getExe package} --vacuum"; - }; - }; - - systemd.user.timers.newsboat-vacuum = { - Unit = { - Description = "Automatically clean newsboat cache"; - Documentation = [ "man:newsboat(1)" ]; - }; - - Timer = { - Unit = "newsboat-vacuum.service"; - OnCalendar = cfg.vacuum.onCalendar; - Persistent = true; - }; - - Install = { - WantedBy = [ "timers.target" ]; - }; - }; - }; -} diff --git a/home/programs/newsboat/default.nix b/home/programs/newsboat/default.nix index ef42faa..7fe65ec 100644 --- a/home/programs/newsboat/default.nix +++ b/home/programs/newsboat/default.nix @@ -2,17 +2,14 @@ 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 = { - fetch-articles.enable = true; - vacuum.enable = true; + autoFetchArticles.enable = true; + autoVacuum.enable = true; autoReload = true; maxItems = 50; @@ -72,11 +69,4 @@ in { '' ]; }; - - # systemd.user.slices.app-newsboat = { - # Unit = { - # Description = "Newsboat automation"; - # Documentation = [ "man:newsboat(1)" ]; - # }; - # }; }