Compare commits
No commits in common. "ce5a099899e29c597041b9f318e3413fd50ba1f8" and "f04f8160db625291c06f1166e1547e1fda49b3ce" have entirely different histories.
ce5a099899
...
f04f8160db
|
@ -1,71 +0,0 @@
|
||||||
{ pkgs, lib, config, ... }:
|
|
||||||
let
|
|
||||||
zytemp_mqtt_src = pkgs.fetchFromGitHub {
|
|
||||||
owner = "patrislav1";
|
|
||||||
repo = "zytemp_mqtt";
|
|
||||||
rev = "a6be5e3082e1e10dee435cfb9643fb13e9a71c34"; # PR that adds humidity
|
|
||||||
sha256 = "sha256-cMWDi20isnbB6jlMzut7YyYB4te4bVFYXSgCEQWQnts=";
|
|
||||||
};
|
|
||||||
zytemp_mqtt = pkgs.python3Packages.buildPythonPackage
|
|
||||||
rec {
|
|
||||||
name = "zytemp_mqtt";
|
|
||||||
src = zytemp_mqtt_src;
|
|
||||||
propagatedBuildInputs = with pkgs.python3Packages; [ hidapi paho-mqtt pyaml ];
|
|
||||||
};
|
|
||||||
usb_zytemp_udev = pkgs.stdenv.mkDerivation {
|
|
||||||
pname = "usb-zytemp-udev-rules";
|
|
||||||
version = "unstable-2023-05-24";
|
|
||||||
src = zytemp_mqtt_src;
|
|
||||||
|
|
||||||
dontConfigure = true;
|
|
||||||
dontBuild = true;
|
|
||||||
dontFixup = true;
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
mkdir -p $out/lib/udev/rules.d
|
|
||||||
cp udev/90-usb-zytemp-permissions.rules $out/lib/udev/rules.d/90-usb-zytemp.rules
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
mqtt_host = "192.168.7.53"; # Ludwig
|
|
||||||
in
|
|
||||||
{
|
|
||||||
config = {
|
|
||||||
environment.etc."zytempmqtt/config.yaml".text = lib.generators.toYAML { } {
|
|
||||||
decrypt = true;
|
|
||||||
mqtt_host = mqtt_host;
|
|
||||||
friendly_name = "Desk sensor";
|
|
||||||
};
|
|
||||||
services.udev.packages = [ usb_zytemp_udev ];
|
|
||||||
systemd = {
|
|
||||||
services.zytemp_mqtt = {
|
|
||||||
description = "Forward zyTemp CO2 sensor to MQTT";
|
|
||||||
wantedBy = [ "multi-user.target" ];
|
|
||||||
serviceConfig = {
|
|
||||||
ExecStart = "${zytemp_mqtt}/bin/zytempmqtt";
|
|
||||||
|
|
||||||
# Hardening (hapazardeous)
|
|
||||||
CapabilityBoundingSet = "";
|
|
||||||
DynamicUser = true;
|
|
||||||
LockPersonality = true;
|
|
||||||
MemoryDenyWriteExecute = false;
|
|
||||||
NoNewPrivileges = true;
|
|
||||||
PrivateTmp = true;
|
|
||||||
PrivateUsers = true;
|
|
||||||
ProtectClock = true;
|
|
||||||
ProtectControlGroups = true;
|
|
||||||
ProtectHome = true;
|
|
||||||
ProtectHostname = true;
|
|
||||||
ProtectKernelLogs = true;
|
|
||||||
ProtectKernelModules = true;
|
|
||||||
RemoveIPC = true;
|
|
||||||
RestrictNamespaces = true;
|
|
||||||
RestrictRealtime = true;
|
|
||||||
RestrictSUIDSGID = true;
|
|
||||||
SystemCallArchitectures = "native";
|
|
||||||
SystemCallFilter = [ "@system-service" "~@privileged" "~@resouces" ];
|
|
||||||
UMask = "0077";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,15 +0,0 @@
|
||||||
{ pkgs, lib, config, ... }:
|
|
||||||
{
|
|
||||||
config = {
|
|
||||||
services.beesd.filesystems = {
|
|
||||||
razmo = {
|
|
||||||
spec = "/mnt/razmo";
|
|
||||||
hashTableSizeMB = 512; # Recommended for 1 TiB, ×2 for compression, x2 for time
|
|
||||||
};
|
|
||||||
rapido = {
|
|
||||||
spec = "/mnt/rapido";
|
|
||||||
hashTableSizeMB = 128; # 4 times smaller disk, 4 times smaller hashtable?
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -5,8 +5,6 @@
|
||||||
};
|
};
|
||||||
imports = [
|
imports = [
|
||||||
./backup
|
./backup
|
||||||
./co2meter
|
|
||||||
./dedup
|
|
||||||
./disko.nix
|
./disko.nix
|
||||||
./features.nix
|
./features.nix
|
||||||
./hardware.nix
|
./hardware.nix
|
||||||
|
|
Loading…
Reference in a new issue