diff --git a/.gitignore b/.gitignore index 716d52e..73105bb 100644 --- a/.gitignore +++ b/.gitignore @@ -11,4 +11,3 @@ todo.md notes.md scratch/ tmp/ -.worktrees/ diff --git a/aspects/hosts/_alexandria/miniflux.nix b/aspects/hosts/_alexandria/miniflux.nix deleted file mode 100644 index a1f3ca3..0000000 --- a/aspects/hosts/_alexandria/miniflux.nix +++ /dev/null @@ -1,35 +0,0 @@ -{ config, inputs, ... }: - -let - mkNginxVHosts = inputs.self.lib.mkNginxVHosts; -in - -{ - services = { - miniflux = { - enable = true; - config = { - LISTEN_ADDR = "localhost:8080"; - CREATE_ADMIN = 1; - FETCHER_ALLOW_PRIVATE_NETWORKS = 1; - POLLING_SCHEDULER = "entry_frequency"; - SCHEDULER_ENTRY_FREQUENCY_MIN_INTERVAL = 60; - SCHEDULER_ENTRY_FREQUENCY_MAX_INTERVAL = 10080; - }; - adminCredentialsFile = config.age.secrets.miniflux-admincreds.path; - createDatabaseLocally = true; - }; - - nginx.virtualHosts = mkNginxVHosts { - domains."rss.baduhai.dev" = { - locations."/".proxyPass = "http://${config.services.miniflux.config.LISTEN_ADDR}/"; - }; - }; - }; - - age.secrets.miniflux-admincreds = { - file = "${inputs.self}/secrets/miniflux-admincreds.age"; - owner = "miniflux"; - group = "miniflux"; - }; -} diff --git a/aspects/hosts/_alexandria/ttrss.nix b/aspects/hosts/_alexandria/ttrss.nix new file mode 100644 index 0000000..ec447e5 --- /dev/null +++ b/aspects/hosts/_alexandria/ttrss.nix @@ -0,0 +1,43 @@ +{ + config, + inputs, + pkgs, + ... +}: + +let + mkNginxVHosts = inputs.self.lib.mkNginxVHosts; +in + +{ + services = { + "tt-rss" = { + enable = true; + selfUrlPath = "https://rss.baduhai.dev"; + singleUserMode = true; + virtualHost = null; + database.createLocally = true; + pluginPackages = with pkgs; [ + tt-rss-theme-feedly + tt-rss-plugin-af-readability + ]; + }; + + nginx.virtualHosts = mkNginxVHosts { + domains."rss.baduhai.dev" = { + root = "${config.services."tt-rss".root}/www"; + locations = { + "/".index = "index.php"; + "~* /feed-icons/(\\d+)\\.ico".return = "302 /public.php?op=feed_icon&id=$1"; + "~ \\.php$" = { + extraConfig = '' + fastcgi_split_path_info ^(.+\.php)(/.+)$; + fastcgi_pass unix:${config.services.phpfpm.pools.${config.services."tt-rss".pool}.socket}; + fastcgi_index index.php; + ''; + }; + }; + }; + }; + }; +} diff --git a/data/services.nix b/data/services.nix index 9f04d89..0ebf8e7 100644 --- a/data/services.nix +++ b/data/services.nix @@ -34,7 +34,7 @@ host = "alexandria"; } { - name = "miniflux"; + name = "tt-rss"; domain = "rss.baduhai.dev"; host = "alexandria"; } diff --git a/packages/tt-rss-plugin-af-readability.nix b/packages/tt-rss-plugin-af-readability.nix new file mode 100644 index 0000000..98342e7 --- /dev/null +++ b/packages/tt-rss-plugin-af-readability.nix @@ -0,0 +1,33 @@ +{ ... }: + +{ + perSystem = + { pkgs, ... }: + { + packages.tt-rss-plugin-af-readability = pkgs.stdenv.mkDerivation { + pname = "tt-rss-plugin-af-readability"; + version = "unstable-2025-10-16"; + + src = pkgs.fetchFromGitHub { + owner = "tt-rss"; + repo = "tt-rss-plugin-af-readability"; + rev = "fce528aa69c2a7193fb7eb3a3cd9dd17885d6ab6"; + hash = "sha256-3rxrICtm6+ujlBHj5Su2sSEq3lgiHhQMJ/OVfzhzYXA="; + }; + + installPhase = '' + mkdir -p $out/af_readability + + cp -a * $out/af_readability/ + ''; + + meta = { + description = "Plugin for TT-RSS to inline article content using Readability"; + license = pkgs.lib.licenses.gpl3; + homepage = "https://github.com/tt-rss/tt-rss-plugin-af-readability/"; + maintainers = with pkgs.lib.maintainers; [ gdamjan ]; + inherit (pkgs.tt-rss.meta) platforms; + }; + }; + }; +} diff --git a/secrets/miniflux-admincreds.age b/secrets/miniflux-admincreds.age deleted file mode 100644 index f5269f0..0000000 --- a/secrets/miniflux-admincreds.age +++ /dev/null @@ -1,9 +0,0 @@ -age-encryption.org/v1 --> ssh-ed25519 Kfdnog QEq4A011oVny6vo1+wOcQNnpkf77216PZXJqK4rGTGY -FPeASmXRirxeF2T2jXhA/tEaO0p1CZJ6D3lv3p2KTX0 --> ssh-ed25519 8YSAiw gxuXAt2nG6qXhWwAAiFwNCNYJV2VGKnDNkjU61NOJ2o -xncp+M4lVixiTmXQU5QrtdQ860t/1JpvOcO4YXAy3to --> ssh-ed25519 J6tVTA Mr0XrEFP/o7nFWBKal+ehzMiejWpVDIBiiMqWzdOzEM -0DTqm2LyMMlVZlTk67Y3hTiVjcJG9gprnXj6QjYxrJw ---- FXUNp6O7vuibJj0RI3SZN3IBK1Hx5ouUij2ah05lCYA -X*0B3jb͏SVbBciD.5\`&`越-Ui"gХȊ`O Gc'=@qn[ \ No newline at end of file diff --git a/secrets/secrets.nix b/secrets/secrets.nix index d052896..a90cd74 100644 --- a/secrets/secrets.nix +++ b/secrets/secrets.nix @@ -32,9 +32,4 @@ in rotterdam-user trantor ]; - "miniflux-admincreds.age".publicKeys = [ - io-user - rotterdam-user - alexandria - ]; }