mirror of
https://git.sr.ht/~magic_rb/dotfiles
synced 2024-11-29 03:26:13 +01:00
92 lines
2.3 KiB
Nix
92 lines
2.3 KiB
Nix
|
{ inputs, ... }:
|
||
|
{
|
||
|
flake.nixngConfigurations.ingressBlowhole = inputs.nixng.nglib.makeSystem {
|
||
|
system = "x86_64-linux";
|
||
|
name = "ingress-blowhole";
|
||
|
inherit (inputs) nixpkgs;
|
||
|
|
||
|
config =
|
||
|
{ pkgs, lib, ... }:
|
||
|
let
|
||
|
inherit (lib)
|
||
|
singleton;
|
||
|
in
|
||
|
{
|
||
|
dumb-init = {
|
||
|
enable = true;
|
||
|
sigell.entries = [
|
||
|
{
|
||
|
signal = "HUP";
|
||
|
action = {
|
||
|
type = "exec";
|
||
|
environment = {
|
||
|
PATH = "${pkgs.bash}/bin:${pkgs.busybox}/bin";
|
||
|
};
|
||
|
command =
|
||
|
[ "bash"
|
||
|
"-c"
|
||
|
"kill -s HUP \"$(cat /nginx.pid)\""
|
||
|
];
|
||
|
};
|
||
|
}
|
||
|
{
|
||
|
signal = "TERM";
|
||
|
action = {
|
||
|
type = "signal";
|
||
|
rewrite = "TERM";
|
||
|
selector = {
|
||
|
type = "child";
|
||
|
};
|
||
|
};
|
||
|
}
|
||
|
];
|
||
|
type.services = {};
|
||
|
};
|
||
|
init.services.nginx.shutdownOnExit = true;
|
||
|
|
||
|
|
||
|
services.nginx = {
|
||
|
enable = true;
|
||
|
envsubst = true;
|
||
|
configuration = singleton {
|
||
|
daemon = "off";
|
||
|
worker_processes = 2;
|
||
|
user = "nginx";
|
||
|
|
||
|
events."" = {
|
||
|
use = "epoll";
|
||
|
worker_connections = 128;
|
||
|
};
|
||
|
|
||
|
error_log = [ "/dev/stderr" "warn" ];
|
||
|
|
||
|
pid = "/nginx.pid";
|
||
|
|
||
|
stream."" = {
|
||
|
include = singleton [ "/local/streams.conf" ];
|
||
|
};
|
||
|
|
||
|
http."" = {
|
||
|
server_tokens = "off";
|
||
|
include = [
|
||
|
[ "${pkgs.nginx}/conf/mime.types" ]
|
||
|
[ "/local/upstreams.conf" ]
|
||
|
];
|
||
|
charset = "utf-8";
|
||
|
access_log = [ "/dev/stdout" "combined" ];
|
||
|
|
||
|
server."" = {
|
||
|
listen = [ "80" "default_server" ];
|
||
|
server_name = singleton "blowhole.in.redalder.org";
|
||
|
|
||
|
location."/" = {
|
||
|
return = [ "301" "https://$$host$$request_uri" ];
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
}
|