{ description = "Reproducible Environment for anish.lakhwara.com"; inputs = { nixpkgs.url = "github:nixos/nixpkgs"; flake-utils.url = "github:numtide/flake-utils"; }; outputs = { self, nixpkgs, flake-utils }: flake-utils.lib.eachDefaultSystem (system: let pkgs = nixpkgs.legacyPackages.${system}; my-python = pkgs.python3; python-with-my-packages = my-python.withPackages (p: with p; [ icecream python-ctags3 jinja2 click pypandoc # other python packages you want ]); in { devShell = pkgs.mkShell { buildInputs = [ python-with-my-packages pkgs.pandoc ]; shellHook = '' PYTHONPATH=${python-with-my-packages}/${python-with-my-packages.sitePackages} # This only works when you have ~/vimwiki locally, since I'm not putting my unfiltered kitaab online alias build='python3 src/kitaab-public/main.py' # maybe set more env-vars ''; }; defaultPackage = pkgs.python3Packages.buildPythonPackage { # We should probably only call grab from main.py here pname = "basant"; src = ./src; version = "0.1"; propagatedBuildInputs = [ python-with-my-packages ]; }; }); }