1{
2 config,
3 self',
4 self,
5 ...
6}:
7let
8 d = self.lib.data.services.miniflux;
9in
10{
11 services.miniflux = {
12 enable = true;
13 config = {
14 PORT = d.port;
15 FETCH_YOUTUBE_WATCH_TIME = 1;
16 BASE_URL = "https://${d.extUrl}";
17 CREATE_ADMIN = 1;
18 WEBAUTHN = 1;
19 WORKER_POOL_SIZE = 5;
20 };
21 adminCredentialsFile = config.age.secrets.miniflux-admin.path;
22 };
23 users.users.miniflux.isSystemUser = true;
24 users.users.miniflux.group = "miniflux";
25 users.groups.miniflux = { };
26 age.secrets = {
27 miniflux-admin = {
28 file = ./secrets/miniflux-admin.age;
29 owner = "miniflux";
30 group = "miniflux";
31 };
32 };
33 services.anubis.instances.miniflux = {
34 settings = {
35 BIND = ":${toString d.anubis}";
36 POLICY_FNAME = "${self'.packages.anubis-files}/policies/miniflux.yaml";
37 TARGET = "http://localhost:${toString d.port}";
38 };
39 };
40}