grace/dots

dotfiles/nix configs

git clone https://git.gae.moe/grace/dots

Grace Yoderidk003ed04

main
1.1 KiB32 linesraw
1{ ... }:
2
3{
4  services.zipline = {
5    enable = true;
6    settings = {
7      CORE_PORT = 4567;
8      CORE_TRUST_PROXY = "true";
9      DATASOURCE_LOCAL_DIRECTORY = "/mnt/ext/files";
10      FEATURES_USER_REGISTRATION = "false";
11      FEATURES_OAUTH_REGISTRATION = "true";
12      OAUTH_BYPASS_LOCAL_LOGIN = "true";
13      OAUTH_OIDC_CLIENT_ID = "zipline";
14      OAUTH_OIDC_AUTHORIZE_URL = "https://auth.gae.moe/api/oidc/authorization";
15      OAUTH_OIDC_TOKEN_URL = "https://auth.gae.moe/api/oidc/token";
16      OAUTH_OIDC_USERINFO_URL = "https://auth.gae.moe/api/oidc/userinfo";
17      OAUTH_OIDC_REDIRECT_URI = "https://l.gae.moe/api/auth/oauth/oidc";
18    };
19    environmentFiles = [ "/etc/secrets/zipline.env" ];
20  };
21  users.groups.zipline = { };
22  users.users.zipline = {
23    isSystemUser = true;
24    group = "zipline";
25  };
26  systemd.services.zipline = {
27    unitConfig.RequiresMountsFor = [ "/mnt/ext" ];
28    serviceConfig.ReadWritePaths = [ "/mnt/ext/files" ];
29  };
30  systemd.tmpfiles.rules = [ "d /mnt/ext/files 0750 zipline zipline -" ];
31  services.nginx.virtualHosts."l.gae.moe".locations."/".proxyPass = "http://127.0.0.1:4567";
32}