diff --git a/hosts/containers/public-access-proxy/configuration.nix b/hosts/containers/public-access-proxy/configuration.nix index e0a8a7b1..8d75a5c1 100644 --- a/hosts/containers/public-access-proxy/configuration.nix +++ b/hosts/containers/public-access-proxy/configuration.nix @@ -43,7 +43,7 @@ proxyTo = { host = "172.22.99.170"; httpPort = 80; httpsPort = 443; }; } { - hostNames = [ "error.hq.c3d2.de.de" ]; + hostNames = [ "error.hq.c3d2.de" ]; proxyTo = { host = "172.20.73.47"; httpPort = 80; httpsPort = 443; }; } ]; diff --git a/hosts/inbert-containers/ticker/configuration.nix b/hosts/inbert-containers/ticker/configuration.nix index 4afba5c3..c9ff71f2 100644 --- a/hosts/inbert-containers/ticker/configuration.nix +++ b/hosts/inbert-containers/ticker/configuration.nix @@ -77,5 +77,13 @@ in url = "https://dresden.bits-und-baeume.org/termine.ics"; color = "#3FBF3F"; }; + exma-stuta = { + url = "https://www.exmatrikulationsamt.de/ics/v1/stuta.ics"; + color = "#7F7FFF"; + }; + exma-nawa = { + url = "https://www.exmatrikulationsamt.de/ics/v1/nawa.ics"; + color = "#3F3FBF"; + }; }; } diff --git a/hosts/pulsebert/configuration.nix b/hosts/pulsebert/configuration.nix index 78b6b6d0..503a5224 100644 --- a/hosts/pulsebert/configuration.nix +++ b/hosts/pulsebert/configuration.nix @@ -4,9 +4,12 @@ { config, pkgs, ... }: +let + octoprintPort = 8080; +in { imports = [ # Include the results of the hardware scan. - ./hardware-configuration.nix + ]; boot.loader.grub.enable = false; @@ -119,27 +122,75 @@ services.avahi = { enable = true; publish.enable = true; + publish.addresses = true; publish.userServices = true; }; - # Enable the X11 windowing system. - # services.xserver.enable = true; - # services.xserver.layout = "us"; - # services.xserver.xkbOptions = "eurosign:e"; + security.acme = { + acceptTerms = true; + email = "mail@c3d2.de"; + }; + services.nginx = { + enable = true; + #recommendedGzipSettings = true; + recommendedProxySettings = true; + virtualHosts = { + "drkkr.hq.c3d2.de" = { + default = true; + enableACME = true; + forceSSL = true; + locations."/" = { + proxyPass = "http://127.0.0.1:${toString octoprintPort}"; + proxyWebsockets = true; + extraConfig = '' + proxy_set_header X-Scheme $scheme; + proxy_set_header Accept-Encoding identity; + ''; + }; + }; + }; + }; + services.octoprint = rec { + enable = true; + port = octoprintPort; + # extraConfig.webcam = { + # snapshot = "http://localhost:5050?action=snapshot"; + # stream = "http://octoprint.local:5050?action=stream"; + # }; + # plugins = let + # python = pkgs.octoprint.python; - # Enable touchpad support. - # services.xserver.libinput.enable = true; + # octoprint-filament-sensor-universal = python.pkgs.buildPythonPackage rec { + # pname = "OctoPrint-Filament-Sensor-Universal"; + # version = "1.0.0"; - # Enable the KDE Desktop Environment. - # services.xserver.displayManager.sddm.enable = true; - # services.xserver.desktopManager.plasma5.enable = true; + # src = pkgs.fetchFromGitHub { + # owner = "lopsided98"; + # repo = pname; + # rev = "8a72696867a9a008c5a79b49a9b029a4fc426720"; + # sha256 = "1a7lzmjbwx47qhrkjp3hggiwnx172x4axcz0labm9by17zxlsimr"; + # }; - # Define a user account. Don't forget to set a password with ‘passwd’. - # users.users.jane = { - # isNormalUser = true; - # extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user. + # propagatedBuildInputs = [ pkgs.octoprint python.pkgs.libgpiod ]; + # }; + # #in p: [ octoprint-filament-sensor-universal ]; + # in p: []; + }; + + # Allow access to printer serial port and GPIO + users.users.${config.services.octoprint.user}.extraGroups = [ "dialout" "gpio" ]; + + # services.mjpg-streamer = { + # enable = true; + # inputPlugin = "input_uvc.so -r 1280x720"; # }; + # Allow gpio group to access GPIO devices + users.groups.gpio = { }; + services.udev.extraRules = '' + KERNEL=="gpiochip*", GROUP="gpio", MODE="0660" + ''; + # This value determines the NixOS release from which the default # settings for stateful data, like file locations and database versions # on your system were taken. It‘s perfectly fine and recommended to leave diff --git a/krops.nix b/krops.nix index 124ee6d4..2b7c132b 100644 --- a/krops.nix +++ b/krops.nix @@ -40,7 +40,7 @@ in { }; }; pulsebert = pkgs.krops.writeDeploy "pulsebert" { - source = hostSource "pulsebert" "nixos-unstable"; + source = hostSource "pulsebert" "nixos-20.09"; target = lib.mkTarget "k-ot@pulsebert.hq.c3d2.de" // { sudo = true; };