Add pipebert
This commit is contained in:
parent
a23f73e88b
commit
f511eecdf7
|
@ -573,6 +573,12 @@
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
pipebert = nixosSystem' {
|
||||||
|
modules = [
|
||||||
|
./hosts/pipebert
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
prometheus = nixosSystem' {
|
prometheus = nixosSystem' {
|
||||||
modules = [
|
modules = [
|
||||||
self.nixosModules.microvm
|
self.nixosModules.microvm
|
||||||
|
|
|
@ -0,0 +1,91 @@
|
||||||
|
{ config, lib, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./hardware-configuration.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
c3d2 = {
|
||||||
|
hq.interface = "eno1";
|
||||||
|
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" ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,93 @@
|
||||||
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
|
# and may be overwritten by future invocations. Please make changes
|
||||||
|
# to /etc/nixos/configuration.nix instead.
|
||||||
|
{ config, lib, modulesPath, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
|
boot.initrd.availableKernelModules = [ "ehci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ];
|
||||||
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
fileSystems."/" =
|
||||||
|
{ device = "pipebert/data";
|
||||||
|
fsType = "zfs";
|
||||||
|
options = [ "zfsutil" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/etc" =
|
||||||
|
{ device = "pipebert/data/etc";
|
||||||
|
fsType = "zfs";
|
||||||
|
options = [ "zfsutil" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/home" =
|
||||||
|
{ device = "pipebert/data/home";
|
||||||
|
fsType = "zfs";
|
||||||
|
options = [ "zfsutil" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/var" =
|
||||||
|
{ device = "pipebert/data/var";
|
||||||
|
fsType = "zfs";
|
||||||
|
options = [ "zfsutil" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/var/backup" =
|
||||||
|
{ device = "pipebert/data/var/backup";
|
||||||
|
fsType = "zfs";
|
||||||
|
options = [ "zfsutil" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/var/lib" =
|
||||||
|
{ device = "pipebert/data/var/lib";
|
||||||
|
fsType = "zfs";
|
||||||
|
options = [ "zfsutil" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/var/log" =
|
||||||
|
{ device = "pipebert/data/var/log";
|
||||||
|
fsType = "zfs";
|
||||||
|
options = [ "zfsutil" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/nix" =
|
||||||
|
{ device = "pipebert/nixos/nix";
|
||||||
|
fsType = "zfs";
|
||||||
|
options = [ "zfsutil" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/nix/store" =
|
||||||
|
{ device = "pipebert/nixos/nix/store";
|
||||||
|
fsType = "zfs";
|
||||||
|
options = [ "zfsutil" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/nix/var" =
|
||||||
|
{ device = "pipebert/nixos/nix/var";
|
||||||
|
fsType = "zfs";
|
||||||
|
options = [ "zfsutil" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" =
|
||||||
|
{ device = "/dev/disk/by-uuid/20A8-0497";
|
||||||
|
fsType = "vfat";
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices = [ ];
|
||||||
|
|
||||||
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
# still possible to use this option, but it's recommended to use it in conjunction
|
||||||
|
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||||
|
networking.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.eno1.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.wlp2s0.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
}
|
Loading…
Reference in New Issue