Compare commits
No commits in common. "fb1970c316777c4feaf1352c4b5b17e924fb4e80" and "c51f4ad65becc8334e0f17527a8b40f41857e46a" have entirely different histories.
fb1970c316
...
c51f4ad65b
@ -22,8 +22,8 @@ in
|
|||||||
services.pipewire.extraConfig.pipewire."92-fix-wine-audio" = {
|
services.pipewire.extraConfig.pipewire."92-fix-wine-audio" = {
|
||||||
context.properties = {
|
context.properties = {
|
||||||
default.clock.rate = 48000;
|
default.clock.rate = 48000;
|
||||||
default.clock.quantum = 256;
|
default.clock.quantum = 2048;
|
||||||
default.clock.min-quantum = 256;
|
default.clock.min-quantum = 512;
|
||||||
default.clock.max-quantum = 2048;
|
default.clock.max-quantum = 2048;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -21,7 +21,7 @@ in
|
|||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
virtualisation.oci-containers.containers = {
|
virtualisation.oci-containers.containers = {
|
||||||
librechat = {
|
librechat = {
|
||||||
image = "ghcr.io/danny-avila/librechat:v0.7.6";
|
image = "ghcr.io/danny-avila/librechat:v0.6.6";
|
||||||
environment = {
|
environment = {
|
||||||
HOST = "0.0.0.0";
|
HOST = "0.0.0.0";
|
||||||
MONGO_URI = "mongodb://host.containers.internal:27017/LibreChat";
|
MONGO_URI = "mongodb://host.containers.internal:27017/LibreChat";
|
||||||
|
@ -36,11 +36,6 @@ let
|
|||||||
record = "preset-record-generic-audio-copy";
|
record = "preset-record-generic-audio-copy";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
detect = {
|
|
||||||
width = 1280;
|
|
||||||
height = 720;
|
|
||||||
fps = 5;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
services.go2rtc.settings.streams = lib.mkMerge [
|
services.go2rtc.settings.streams = lib.mkMerge [
|
||||||
@ -59,7 +54,7 @@ let
|
|||||||
# - go2rtc: ${VAR}
|
# - go2rtc: ${VAR}
|
||||||
# - frigate: {VAR}
|
# - frigate: {VAR}
|
||||||
primaryUrl = "rtsp://admin:\${FRIGATE_RTSP_PASSWORD}@${address}/cam/realmonitor?channel=1&subtype=0";
|
primaryUrl = "rtsp://admin:\${FRIGATE_RTSP_PASSWORD}@${address}/cam/realmonitor?channel=1&subtype=0";
|
||||||
detectUrl = "rtsp://admin:{FRIGATE_RTSP_PASSWORD}@${address}/cam/realmonitor?channel=1&subtype=3";
|
detectUrl = "rtsp://admin:{FRIGATE_RTSP_PASSWORD}@${address}/cam/realmonitor?channel=1&subtype=1";
|
||||||
in
|
in
|
||||||
mkCamera name primaryUrl detectUrl;
|
mkCamera name primaryUrl detectUrl;
|
||||||
|
|
||||||
@ -100,9 +95,8 @@ lib.mkMerge [
|
|||||||
enabled = true;
|
enabled = true;
|
||||||
# sync_recordings = true; # detect if recordings were deleted outside of frigate (expensive)
|
# sync_recordings = true; # detect if recordings were deleted outside of frigate (expensive)
|
||||||
retain = {
|
retain = {
|
||||||
days = 7; # Keep video for 7 days
|
days = 2; # Keep video for 2 days
|
||||||
mode = "all";
|
mode = "motion";
|
||||||
# mode = "motion";
|
|
||||||
};
|
};
|
||||||
events = {
|
events = {
|
||||||
retain = {
|
retain = {
|
||||||
@ -114,7 +108,7 @@ lib.mkMerge [
|
|||||||
};
|
};
|
||||||
# Make frigate aware of the go2rtc streams
|
# Make frigate aware of the go2rtc streams
|
||||||
go2rtc.streams = config.services.go2rtc.settings.streams;
|
go2rtc.streams = config.services.go2rtc.settings.streams;
|
||||||
detect.enabled = false; # :(
|
detect.enabled = true;
|
||||||
objects = {
|
objects = {
|
||||||
track = [ "person" "dog" ];
|
track = [ "person" "dog" ];
|
||||||
};
|
};
|
||||||
|
@ -58,43 +58,12 @@
|
|||||||
};
|
};
|
||||||
swapDevices = [ ];
|
swapDevices = [ ];
|
||||||
|
|
||||||
networking = {
|
networking.vlans = {
|
||||||
dhcpcd.enable = false;
|
|
||||||
|
|
||||||
vlans = {
|
|
||||||
iot = {
|
iot = {
|
||||||
id = 2;
|
id = 2;
|
||||||
interface = "eth1";
|
interface = "eth1";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
interfaces.eth1.ipv4.addresses = [{
|
|
||||||
address = "192.168.1.2";
|
|
||||||
prefixLength = 21;
|
|
||||||
}];
|
|
||||||
interfaces.iot.ipv4.addresses = [{
|
|
||||||
address = "192.168.9.8";
|
|
||||||
prefixLength = 22;
|
|
||||||
}];
|
|
||||||
|
|
||||||
defaultGateway = "192.168.1.1";
|
|
||||||
nameservers = [ "1.1.1.1" "8.8.8.8" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
# networking = {
|
|
||||||
# vlans = {
|
|
||||||
# iot = {
|
|
||||||
# id = 2;
|
|
||||||
# interface = "eth1";
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
|
|
||||||
# defaultGateway = {
|
|
||||||
# interface = "eth1";
|
|
||||||
# address = "192.168.1.1";
|
|
||||||
# metric = 10; # always use this route as default gateway
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
|
|
||||||
powerManagement.cpuFreqGovernor = "powersave";
|
powerManagement.cpuFreqGovernor = "powersave";
|
||||||
}
|
}
|
||||||
|
@ -6,8 +6,4 @@ let
|
|||||||
in
|
in
|
||||||
{
|
{
|
||||||
actual-server = prev.callPackage ./actualbudget { };
|
actual-server = prev.callPackage ./actualbudget { };
|
||||||
|
|
||||||
# Copied entire package from nixpkgs to downgrade to python 3.11 since 3.12 is broken.
|
|
||||||
# See: https://github.com/Py-KMS-Organization/py-kms/issues/117
|
|
||||||
pykms = prev.callPackage ./pykms.nix { };
|
|
||||||
}
|
}
|
||||||
|
@ -1,103 +0,0 @@
|
|||||||
{ lib
|
|
||||||
, fetchFromGitHub
|
|
||||||
, python311
|
|
||||||
, writeText
|
|
||||||
, writeShellScript
|
|
||||||
, sqlite
|
|
||||||
, nixosTests
|
|
||||||
}:
|
|
||||||
let
|
|
||||||
pypkgs = python311.pkgs;
|
|
||||||
|
|
||||||
dbSql = writeText "create_pykms_db.sql" ''
|
|
||||||
CREATE TABLE clients(
|
|
||||||
clientMachineId TEXT,
|
|
||||||
machineName TEXT,
|
|
||||||
applicationId TEXT,
|
|
||||||
skuId TEXT,
|
|
||||||
licenseStatus TEXT,
|
|
||||||
lastRequestTime INTEGER,
|
|
||||||
kmsEpid TEXT,
|
|
||||||
requestCount INTEGER
|
|
||||||
);
|
|
||||||
'';
|
|
||||||
|
|
||||||
dbScript = writeShellScript "create_pykms_db.sh" ''
|
|
||||||
set -eEuo pipefail
|
|
||||||
|
|
||||||
db=''${1:-/var/lib/pykms/clients.db}
|
|
||||||
|
|
||||||
if [ ! -e $db ] ; then
|
|
||||||
${lib.getBin sqlite}/bin/sqlite3 $db < ${dbSql}
|
|
||||||
fi
|
|
||||||
'';
|
|
||||||
|
|
||||||
in
|
|
||||||
pypkgs.buildPythonApplication rec {
|
|
||||||
pname = "pykms";
|
|
||||||
version = "unstable-2024-05-28";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "Py-KMS-Organization";
|
|
||||||
repo = "py-kms";
|
|
||||||
rev = "646f4766f4195dbea0695700a7ddaac70a3294f9";
|
|
||||||
hash = "sha256-YCqPo7WkCfXyuTjL4IYapdcUN/Vj465Jz6XhQessyz0=";
|
|
||||||
};
|
|
||||||
|
|
||||||
sourceRoot = "${src.name}/py-kms";
|
|
||||||
|
|
||||||
propagatedBuildInputs = with pypkgs; [
|
|
||||||
systemd
|
|
||||||
pytz
|
|
||||||
tzlocal
|
|
||||||
dnspython
|
|
||||||
];
|
|
||||||
|
|
||||||
postPatch = ''
|
|
||||||
siteDir=$out/${python311.sitePackages}
|
|
||||||
|
|
||||||
substituteInPlace pykms_DB2Dict.py \
|
|
||||||
--replace "'KmsDataBase.xml'" "'$siteDir/KmsDataBase.xml'"
|
|
||||||
'';
|
|
||||||
|
|
||||||
format = "other";
|
|
||||||
|
|
||||||
# there are no tests
|
|
||||||
doCheck = false;
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
runHook preInstall
|
|
||||||
|
|
||||||
mkdir -p $siteDir
|
|
||||||
|
|
||||||
PYTHONPATH="$PYTHONPATH:$siteDir"
|
|
||||||
|
|
||||||
mv * $siteDir
|
|
||||||
for b in Client Server ; do
|
|
||||||
makeWrapper ${python311.interpreter} $out/bin/''${b,,} \
|
|
||||||
--argv0 pykms-''${b,,} \
|
|
||||||
--add-flags $siteDir/pykms_$b.py \
|
|
||||||
--set PYTHONPATH $PYTHONPATH
|
|
||||||
done
|
|
||||||
|
|
||||||
install -Dm755 ${dbScript} $out/libexec/create_pykms_db.sh
|
|
||||||
|
|
||||||
install -Dm644 ../README.md -t $out/share/doc/pykms
|
|
||||||
|
|
||||||
${python311.interpreter} -m compileall $siteDir
|
|
||||||
|
|
||||||
runHook postInstall
|
|
||||||
'';
|
|
||||||
|
|
||||||
passthru.tests = { inherit (nixosTests) pykms; };
|
|
||||||
|
|
||||||
meta = with lib; {
|
|
||||||
description = "Windows KMS (Key Management Service) server written in Python";
|
|
||||||
homepage = "https://github.com/Py-KMS-Organization/py-kms";
|
|
||||||
license = licenses.unlicense;
|
|
||||||
maintainers = with maintainers; [
|
|
||||||
peterhoeg
|
|
||||||
zopieux
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
Loading…
x
Reference in New Issue
Block a user