nix-files/hosts/common/programs/gpodder.nix

39 lines
1.3 KiB
Nix

# help:
# - #gpodder on irc.libera.chat
{ config, pkgs, sane-lib, ... }:
let
feeds = sane-lib.feeds;
all-feeds = config.sane.feeds;
wanted-feeds = feeds.filterByFormat [ "podcast" "video" ] all-feeds;
in {
sane.programs.gpodder = {
packageUnwrapped = pkgs.gpodder-adaptive-configured.overrideAttrs (base: {
# environment variables:
# - GPODDER_HOME (defaults to "~/gPodder")
# - GPODDER_DOWNLOAD_DIR (defaults to "$GPODDER_HOME/Downloads")
# - GPODDER_WRITE_LOGS ("yes" or "no")
# - GPODDER_EXTENSIONS
# - GPODDER_DISABLE_EXTENSIONS ("yes" or "no")
extraMakeWrapperArgs = (base.extraMakeWrapperArgs or []) ++ [
"--set" "GPODDER_HOME" "~/.local/share/gPodder"
# place downloads in a shared media directory to ensure sandboxed apps can read them
"--set" "GPODDER_DOWNLOAD_DIR" "~/Videos/gPodder"
];
});
sandbox.method = "bwrap";
sandbox.whitelistDbus = [ "user" ]; # it won't launch without it, dunno exactly why.
sandbox.whitelistWayland = true;
sandbox.net = "clearnet";
fs.".config/gpodderFeeds.opml".symlink.text = feeds.feedsToOpml wanted-feeds;
persist.byStore.plaintext = [
"Videos/gPodder"
# if you don't persist its database, you get untracked (and hence non-gc'd) downloads, plus slooow startup.
".local/share/gPodder"
];
};
}