diff --git a/flake.in.nix b/flake.in.nix index d68d737..5b786ed 100644 --- a/flake.in.nix +++ b/flake.in.nix @@ -77,6 +77,14 @@ ### Source code cisco-packettracer8 = source "file:///home/myned/SYNC/linux/config/cisco/CiscoPacketTracer822_amd64_signed.deb"; + freshrss-autorefresh = source "github:Eisa01/FreshRSS---Auto-Refresh-Extension"; + freshrss-cntools = source "github:cn-tools/cntools_FreshRssExtensions"; + freshrss-comicsinfeed = source "github:giventofly/freshrss-comicsinfeed"; + freshrss-dateformat = source "github:aledeg/xExtension-DateFormat"; + freshrss-extensions = source "github:FreshRSS/Extensions"; + freshrss-kagisummarizer = source "git+https://code.sitosis.com/rudism/freshrss-kagi-summarizer"; + freshrss-kapdap = source "github:kapdap/freshrss-extensions"; + freshrss-markpreviousasread = source "github:kalvn/freshrss-mark-previous-as-read"; lifx-cli = source "github:Rawa/lifx-cli"; steamtinkerlaunch = source "github:sonic2kk/steamtinkerlaunch"; thunderbird-gnome-theme = source "github:rafaelmardojai/thunderbird-gnome-theme"; diff --git a/flake.nix b/flake.nix index ee5c4f0..dc3cd5b 100644 --- a/flake.nix +++ b/flake.nix @@ -47,6 +47,38 @@ url = "github:nix-community/disko"; }; flakegen.url = "github:jorsn/flakegen"; + freshrss-autorefresh = { + flake = false; + url = "github:Eisa01/FreshRSS---Auto-Refresh-Extension"; + }; + freshrss-cntools = { + flake = false; + url = "github:cn-tools/cntools_FreshRssExtensions"; + }; + freshrss-comicsinfeed = { + flake = false; + url = "github:giventofly/freshrss-comicsinfeed"; + }; + freshrss-dateformat = { + flake = false; + url = "github:aledeg/xExtension-DateFormat"; + }; + freshrss-extensions = { + flake = false; + url = "github:FreshRSS/Extensions"; + }; + freshrss-kagisummarizer = { + flake = false; + url = "git+https://code.sitosis.com/rudism/freshrss-kagi-summarizer"; + }; + freshrss-kapdap = { + flake = false; + url = "github:kapdap/freshrss-extensions"; + }; + freshrss-markpreviousasread = { + flake = false; + url = "github:kalvn/freshrss-mark-previous-as-read"; + }; fw-fanctrl = { inputs.nixpkgs.follows = "nixpkgs-unstable"; url = "github:TamtamHero/fw-fanctrl/packaging/nix"; diff --git a/options/custom/containers/freshrss.nix b/options/custom/containers/freshrss.nix new file mode 100644 index 0000000..488861a --- /dev/null +++ b/options/custom/containers/freshrss.nix @@ -0,0 +1,56 @@ +{ + config, + inputs, + lib, + ... +}: +with lib; let + cfg = config.custom.containers.freshrss; +in { + options.custom.containers.freshrss = { + enable = mkOption {default = false;}; + }; + + config = mkIf cfg.enable { + #?? arion-freshrss pull + environment.shellAliases.arion-freshrss = "sudo arion --prebuilt-file ${config.virtualisation.arion.projects.freshrss.settings.out.dockerComposeYaml}"; + + virtualisation.arion.projects.freshrss.settings.services = { + # https://github.com/FreshRSS/FreshRSS + # https://github.com/FreshRSS/FreshRSS/tree/edge/Docker + freshrss.service = { + container_name = "freshrss"; + image = "freshrss/freshrss:1"; + ports = ["127.0.0.1:8088:80"]; + restart = "unless-stopped"; + + environment = { + TRUSTED_PROXY = "172.16.0.0/12"; + }; + + volumes = let + #?? (extension "NAME" SOURCE) + extension = name: source: "${source}:/var/www/FreshRSS/extensions/${name}"; + in [ + "${config.custom.containers.directory}/freshrss/data:/var/www/FreshRSS/data" + + # Extensions + # https://github.com/FreshRSS/Extensions + #!! Causes docker permission changes to fail on container start due to immutable source + (extension "autorefresh" "${inputs.freshrss-autorefresh}/xExtension-AutoRefresh") # https://github.com/Eisa01/FreshRSS---Auto-Refresh-Extension + (extension "clickablelinks" "${inputs.freshrss-kapdap}/xExtension-ClickableLinks") # https://github.com/kapdap/freshrss-extensions/tree/master/xExtension-ClickableLinks + (extension "colorfullist" "${inputs.freshrss-extensions}/xExtension-ColorfulList") # https://github.com/FreshRSS/Extensions/tree/master/xExtension-ColorfulList + (extension "comicsinfeed" inputs.freshrss-comicsinfeed) # https://github.com/giventofly/freshrss-comicsinfeed + (extension "dateformat" inputs.freshrss-dateformat) # https://github.com/aledeg/xExtension-DateFormat + (extension "filtertitle" "${inputs.freshrss-cntools}/xExtension-FilterTitle") # https://github.com/cn-tools/cntools_FreshRssExtensions/tree/master/xExtension-FilterTitle + (extension "kagisummarizer" inputs.freshrss-kagisummarizer) # https://code.sitosis.com/rudism/freshrss-kagi-summarizer + (extension "markpreviousasread" inputs.freshrss-markpreviousasread) # https://github.com/kalvn/freshrss-mark-previous-as-read + (extension "quickcollapse" "${inputs.freshrss-extensions}/xExtension-QuickCollapse") # https://github.com/FreshRSS/Extensions/tree/master/xExtension-QuickCollapse + (extension "readingtime" "${inputs.freshrss-extensions}/xExtension-ReadingTime") # https://github.com/FreshRSS/Extensions/tree/master/xExtension-ReadingTime + (extension "removeemojis" "${inputs.freshrss-cntools}/xExtension-RemoveEmojis") # https://github.com/cn-tools/cntools_FreshRssExtensions/tree/master/xExtension-RemoveEmojis + (extension "youtube" "${inputs.freshrss-extensions}/xExtension-YouTube") # https://github.com/FreshRSS/Extensions/tree/master/xExtension-YouTube + ]; + }; + }; + }; +} diff --git a/profiles/server/default.nix b/profiles/server/default.nix index b582afa..980cd64 100644 --- a/profiles/server/default.nix +++ b/profiles/server/default.nix @@ -16,6 +16,7 @@ coturn.enable = true; forgejo.enable = true; foundryvtt.enable = true; + freshrss.enable = true; #// headscale.enable = true; mastodon.enable = true; netbox.enable = true; diff --git a/secrets/server/caddy/Caddyfile b/secrets/server/caddy/Caddyfile index 47e7128..84c219d 100644 Binary files a/secrets/server/caddy/Caddyfile and b/secrets/server/caddy/Caddyfile differ