mirror of
https://github.com/NotAShelf/air-quality-monitor.git
synced 2025-11-02 03:58:44 +00:00
create dummy serial ports for the systemd service
This commit is contained in:
parent
13feebd493
commit
f13b8bc45d
7 changed files with 118 additions and 21 deletions
63
nix/packages/air-quality-monitor.nix
Normal file
63
nix/packages/air-quality-monitor.nix
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
{
|
||||
self,
|
||||
lib,
|
||||
python3Packages,
|
||||
makeWrapper,
|
||||
python3,
|
||||
...
|
||||
}: let
|
||||
pname = "pi_air_quality_monitor";
|
||||
version = "0.0.1";
|
||||
in
|
||||
python3Packages.buildPythonApplication {
|
||||
inherit pname version;
|
||||
format = "other";
|
||||
|
||||
src = self + /src;
|
||||
|
||||
pythonPath = with python3Packages; [
|
||||
pyserial
|
||||
flask
|
||||
redis
|
||||
ipython
|
||||
apscheduler
|
||||
flask-cors
|
||||
(
|
||||
buildPythonPackage rec {
|
||||
pname = "python-aqi";
|
||||
version = "0.6.1";
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-FBoDoP7UiIDchwbKV7A/MPqRq2DpMwR0v5yaj7m5YCA=";
|
||||
};
|
||||
}
|
||||
)
|
||||
];
|
||||
|
||||
nativeBuildInputs = [makeWrapper];
|
||||
installFlags = ["prefix=$(out/bin)"];
|
||||
|
||||
postUnpack = ''
|
||||
mkdir -p $out/bin
|
||||
cp -rvf $src/* $out
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
buildPythonPath "$pythonPath"
|
||||
gappsWrapperArgs+=(
|
||||
--prefix PYTHONPATH : "$program_PYTHONPATH"
|
||||
)
|
||||
makeWrapper ${lib.getExe python3} $out/bin/${pname} \
|
||||
--add-flags $out/app.py \
|
||||
--prefix PYTHONPATH : "$program_PYTHONPATH" \
|
||||
--chdir $out/bin
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "An air quality monitoring service with a Raspberry Pi and a SDS011 sensor. ";
|
||||
homepage = "https://github.com/rydercalmdown/pi_air_quality_monitor";
|
||||
mainProgram = pname;
|
||||
platforms = ["aarch64-linux" "x86_64-linux"];
|
||||
maintainers = with lib.maintainers; [NotAShelf];
|
||||
};
|
||||
}
|
||||
30
nix/packages/dummy-serial.nix
Normal file
30
nix/packages/dummy-serial.nix
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
{
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
...
|
||||
}:
|
||||
stdenv.mkDerivation {
|
||||
pname = "dummy-serial";
|
||||
version = "0.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "notashelf";
|
||||
repo = "dummy-serial";
|
||||
rev = "v0.1.0";
|
||||
hash = "sha256-+zXA5Ko8ikgkmkm1eyx2VMQQjp61osSpq4K+d9WEqq8=";
|
||||
};
|
||||
|
||||
makeFlags = ["TARGET=main"];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out/bin
|
||||
cp -rvf main $out/bin/dummy-serial
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Create dummy serial ports through PseudoTTYs";
|
||||
mainProgram = "dummy-serial";
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue