{
description = "A basic flake with a shell";
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
inputs.flake-utils.url = "github:numtide/flake-utils";
outputs = { self, nixpkgs, flake-utils }:
flake-utils.lib.eachDefaultSystem (system:
let
pkgs = nixpkgs.legacyPackages.${system};
python = pkgs.python3;
python-with-packages = python.withPackages (p: with p; [
python-lsp-server
rope
pyflakes
mccabe
pycodestyle
autopep8
]);
in
devShell = pkgs.mkShell {
nativeBuildInputs = [ pkgs.bashInteractive ];
buildInputs = with pkgs; [
python-with-packages
nodePackages.pyright
zip
];
shellHook = ''
python -m venv .venv
source .venv/bin/activate
pip install --requirement requirements.txt
'';
};
}
);