{ description = "A very basic flake"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; nixpkgs.inputs.nixpkgs.follows = "nixpkgs"; flake-utils.url = "github:numtide/flake-utils"; }; outputs = { self, nixpkgs, flake-utils }: flake-utils.lib.eachDefaultSystem (system: let pkgs = import nixpkgs { inherit system; }; pythonPackages = pkgs.python39Packages; runPackages = with nixpkgs; [ pythonPackages.python ]; devPackages = with nixpkgs; runPackages ++ [ ]; docker_build = pkgs.writeShellScriptBin "docker_build" '' docker build -t fastapi . ''; docker_run = pkgs.writeShellScriptBin "docker_run" '' docker run -it -p 7860:7860 fastapi ''; docker_refresh = pkgs.writeShellScriptBin "docker_refresh" '' docker_build docker_run ''; in { devShell = with pkgs; mkShell { buildInputs = [ devPackages docker_run docker_build docker_refresh ]; }; } ); }