{ description = "Application packaged using poetry2nix"; inputs.flake-utils.url = "github:numtide/flake-utils"; inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; inputs.poetry2nix = { url = "github:nix-community/poetry2nix"; inputs.nixpkgs.follows = "nixpkgs"; }; outputs = { self, nixpkgs, flake-utils, poetry2nix }: flake-utils.lib.eachDefaultSystem (system: let # see https://github.com/nix-community/poetry2nix/tree/master#api for more functions and examples. inherit (poetry2nix.legacyPackages.${system}) mkPoetryApplication; pkgs = nixpkgs.legacyPackages.${system}; in { packages = { myapp = mkPoetryApplication { projectDir = self; overrides = poetry2nix.legacyPackages.${system}.defaultPoetryOverrides.extend (self: super: { matplotlib = super.matplotlib.overridePythonAttrs ( old: { buildInputs = (old.buildInputs or [ ]) ++ [ super.stdenv.cc.cc.lib ]; } ); });}; default = self.packages.${system}.myapp; }; devShells.default = pkgs.mkShell { packages = [ poetry2nix.packages.${system}.poetry ]; }; }); }