refactor
This commit is contained in:
55
modules/services/hastebin.nix
Normal file
55
modules/services/hastebin.nix
Normal file
@@ -0,0 +1,55 @@
|
||||
{ lib, config, inputs, ... }:
|
||||
let
|
||||
cfg = config.services.hastebin;
|
||||
fqdn = "${cfg.subdomain}.${config.networking.domain}";
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
inputs.hastebin.nixosModules.default
|
||||
];
|
||||
|
||||
options.services.hastebin.subdomain = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
services.hastebin.settings = lib.mkDefault {
|
||||
max_size = "1 GiB";
|
||||
host = "::1";
|
||||
port = 3600;
|
||||
mime_overrides = {
|
||||
"text/plain" = [
|
||||
"log"
|
||||
"txt"
|
||||
"diff"
|
||||
"sh"
|
||||
"rs"
|
||||
"toml"
|
||||
"cr"
|
||||
"nix"
|
||||
"rb"
|
||||
"ts"
|
||||
"tsx"
|
||||
"jsx"
|
||||
];
|
||||
};
|
||||
auth_tokens_file = "/var/secrets/hastebin-tokens";
|
||||
};
|
||||
|
||||
modules.services.webserver = {
|
||||
enable = lib.mkDefault true;
|
||||
vHosts.${fqdn} = {
|
||||
proxyBuffering = false;
|
||||
locations."/" = {
|
||||
proxyPort = cfg.settings.port;
|
||||
extraConfig = ''
|
||||
client_max_body_size 0;
|
||||
proxy_send_timeout 300;
|
||||
proxy_read_timeout 300;
|
||||
send_timeout 300;
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user