2023-05-09 08:54:47 +00:00
|
|
|
{ pkgs ? import <nixos-22.11> { } }:
|
2022-01-24 19:56:48 +00:00
|
|
|
let
|
2023-05-09 08:54:47 +00:00
|
|
|
sp-python = pkgs.python310.withPackages (p: with p; [
|
2022-06-24 17:25:49 +00:00
|
|
|
setuptools
|
|
|
|
portalocker
|
|
|
|
pytz
|
|
|
|
pytest
|
|
|
|
pytest-mock
|
|
|
|
pytest-datadir
|
|
|
|
huey
|
2022-01-24 19:56:48 +00:00
|
|
|
gevent
|
|
|
|
mnemonic
|
|
|
|
coverage
|
2022-01-27 12:13:00 +00:00
|
|
|
pylint
|
2023-06-23 12:17:48 +00:00
|
|
|
rope
|
|
|
|
mypy
|
|
|
|
pylsp-mypy
|
2022-06-24 12:26:51 +00:00
|
|
|
pydantic
|
|
|
|
typing-extensions
|
2022-07-25 14:08:31 +00:00
|
|
|
psutil
|
|
|
|
black
|
2022-08-25 17:03:56 +00:00
|
|
|
fastapi
|
|
|
|
uvicorn
|
2022-10-28 08:09:36 +00:00
|
|
|
redis
|
2023-05-09 08:54:47 +00:00
|
|
|
strawberry-graphql
|
2023-07-19 13:49:35 +00:00
|
|
|
flake8-bugbear
|
|
|
|
flake8
|
2022-01-24 19:56:48 +00:00
|
|
|
]);
|
|
|
|
in
|
|
|
|
pkgs.mkShell {
|
|
|
|
buildInputs = [
|
|
|
|
sp-python
|
|
|
|
pkgs.black
|
2022-11-28 11:33:28 +00:00
|
|
|
pkgs.redis
|
2023-05-09 08:54:47 +00:00
|
|
|
pkgs.restic
|
2023-07-19 13:00:04 +00:00
|
|
|
pkgs.rclone
|
2022-01-24 19:56:48 +00:00
|
|
|
];
|
|
|
|
shellHook = ''
|
|
|
|
PYTHONPATH=${sp-python}/${sp-python.sitePackages}
|
2022-11-28 11:33:28 +00:00
|
|
|
# envs set with export and as attributes are treated differently.
|
|
|
|
# for example. printenv <Name> will not fetch the value of an attribute.
|
|
|
|
export USE_REDIS_PORT=6379
|
2022-11-30 11:20:08 +00:00
|
|
|
pkill redis-server
|
2023-04-12 13:20:41 +00:00
|
|
|
sleep 2
|
|
|
|
setsid redis-server --bind 127.0.0.1 --port $USE_REDIS_PORT >/dev/null 2>/dev/null &
|
2022-01-24 19:56:48 +00:00
|
|
|
# maybe set more env-vars
|
|
|
|
'';
|
2022-06-24 17:25:49 +00:00
|
|
|
}
|