92 lines
2.3 KiB
Nix
92 lines
2.3 KiB
Nix
{ config, lib, ... }:
|
|
|
|
{
|
|
imports = [
|
|
./hardware-configuration.nix
|
|
];
|
|
|
|
c3d2 = {
|
|
hq.interface = "eth0";
|
|
hq.statistics.enable = true;
|
|
k-ot.enable = true;
|
|
audioServer.enable = true;
|
|
};
|
|
|
|
boot.loader = {
|
|
efi.canTouchEfiVariables = true;
|
|
systemd-boot.enable = true;
|
|
};
|
|
|
|
networking = {
|
|
domain = "hq.c3d2.de";
|
|
hostId = "5c4ed15a";
|
|
hostName = "pipebert";
|
|
useDHCP = false;
|
|
interfaces.eth0.useDHCP = true;
|
|
};
|
|
|
|
security.sudo = {
|
|
enable = true;
|
|
wheelNeedsPassword = false;
|
|
};
|
|
|
|
services = {
|
|
nginx = {
|
|
enable = true;
|
|
virtualHosts = {
|
|
"drkkr.hq.c3d2.de" = {
|
|
default = true;
|
|
enableACME = true;
|
|
forceSSL = true;
|
|
locations."/" = {
|
|
proxyPass = "http://127.0.0.1:${toString config.services.octoprint.port}";
|
|
proxyWebsockets = true;
|
|
extraConfig = ''
|
|
proxy_set_header X-Scheme $scheme;
|
|
proxy_set_header Accept-Encoding identity;
|
|
client_max_body_size 200M;
|
|
'';
|
|
};
|
|
# locations."/cam/stream" = {
|
|
# proxyPass = "http://localhost:3020/?action=stream";
|
|
# extraConfig = "proxy_pass_request_headers off;";
|
|
# };
|
|
# locations."/cam/capture" = {
|
|
# proxyPass = "http://localhost:3020/?action=snapshot";
|
|
# extraConfig = "proxy_pass_request_headers off;";
|
|
# };
|
|
};
|
|
"drucker.hq.c3d2.de" = {
|
|
enableACME = true;
|
|
forceSSL = true;
|
|
locations."/".return = "307 https://drkkr.hq.c3d2.de/";
|
|
};
|
|
"pipebert.hq.c3d2.de" = {
|
|
enableACME = true;
|
|
forceSSL = true;
|
|
locations."/" = {
|
|
proxyPass = "http://127.0.0.1:8888";
|
|
proxyWebsockets = true;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
octoprint = {
|
|
enable = true;
|
|
port = 8080;
|
|
# extraConfig.webcam = {
|
|
# snapshot = "http://localhost:3020?action=snapshot";
|
|
# stream = "https://drkkr.hq.c3d2.de/cam/stream";
|
|
# };
|
|
};
|
|
};
|
|
|
|
system.stateVersion = "22.11";
|
|
|
|
users.users = lib.optionalAttrs config.services.octoprint.enable {
|
|
# Allow access to printer serial port and GPIO
|
|
"${config.services.octoprint.user}".extraGroups = [ "dialout" ];
|
|
};
|
|
}
|