flake: init

This commit is contained in:
raf 2023-11-28 20:35:38 +03:00
commit eb828c2f17
No known key found for this signature in database
GPG key ID: 02D1DD3FA08B6B29
5 changed files with 125 additions and 0 deletions

62
nix/default.nix Normal file
View file

@ -0,0 +1,62 @@
{
lib,
python3Packages,
makeWrapper,
python3,
...
}: let
pname = "pi_air_quality_monitor";
version = "0.0.1";
in
python3Packages.buildPythonApplication {
inherit pname version;
format = "other";
src = ../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 = with lib.platforms; ["aarch64-linux"];
maintainers = with lib.maintainers; [NotAShelf];
};
}

13
nix/shell.nix Normal file
View file

@ -0,0 +1,13 @@
{
callPackage,
mkShellNoCC,
python3,
...
}: let
defaultPackage = callPackage ./default.nix;
in
mkShellNoCC {
packages = [
(python3.withPackages defaultPackage.propagatedBuildInputs)
];
}