Personal-use NixOS configuration
1{
2 hosts ? [ ],
3}:
4
5{ config, flakeLib, ... }:
6
7{
8 services.zipline = {
9 enable = true;
10
11 settings = {
12 FILES_DEFAULT_EXPIRATION = "30d";
13 FILES_REMOVE_GPS_METADATA = "true";
14
15 URLS_ROUTE = "/";
16 FILES_ROUTE = "/";
17
18 URLS_LENGTH = 3;
19 FILES_LENGTH = 3;
20
21 FILES_MAX_FILE_SIZE = "500mb";
22 FILES_DISABLED_EXTENSIONS = "exe,dmg,bat,bash,sh,html,htmx,html5";
23
24 CORE_PORT = 3030;
25
26 MFA_TOTP_ENABLED = "true";
27
28 FEATURES_USER_REGISTRATION = "false";
29 FEATURES_OAUTH_REGISTRATION = "false";
30
31 FEATURES_HEALTHCHECK = "false";
32 FEATURES_METRICS_ENABLED = "false";
33
34 FEATURES_VERSION_CHECKING = "false";
35 };
36 };
37
38 services.caddy.virtualHosts = flakeLib.mkProxies hosts ''
39 reverse_proxy :${toString config.services.zipline.settings.CORE_PORT}
40 '';
41}