diff --git a/templates/app/flake.nix b/templates/app/flake.nix index e6cdb8a60..045146828 100644 --- a/templates/app/flake.nix +++ b/templates/app/flake.nix @@ -7,6 +7,8 @@ poetry2nix = { url = "github:nix-community/poetry2nix"; inputs.nixpkgs.follows = "nixpkgs"; + inputs.flake-utils.follows = "flake-utils"; + inputs.systems.follows = "flake-utils"; }; }; @@ -14,31 +16,51 @@ flake-utils.lib.eachDefaultSystem (system: let # see https://github.com/nix-community/poetry2nix/tree/master#api for more functions and examples. - pkgs = nixpkgs.legacyPackages.${system}; - inherit (poetry2nix.lib.mkPoetry2Nix { inherit pkgs; }) mkPoetryApplication; - in - { - packages = { - myapp = mkPoetryApplication { projectDir = self; }; - default = self.packages.${system}.myapp; + myapp = { poetry2nix, lib }: poetry2nix.mkPoetryApplication { + projectDir = self; + overrides = poetry2nix.overrides.withDefaults (final: super: + lib.mapAttrs + (attr: systems: super.${attr}.overridePythonAttrs + (old: { + nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ map (a: final.${a}) systems; + })) + { + x25519 = [ "setuptools" ]; + } + ); }; - - # Shell for app dependencies. - # - # nix develop - # - # Use this shell for developing your app. - devShells.default = pkgs.mkShell { - inputsFrom = [ self.packages.${system}.myapp ]; + pkgs = import nixpkgs { + inherit system; + overlays = [ + poetry2nix.overlays.default + (final: _: { + myapp = final.callPackage myapp { }; + }) + ]; }; + in + { + packages.default = pkgs.myapp; + devShells = { + # Shell for app dependencies. + # + # nix develop + # + # Use this shell for developing your app. + default = pkgs.mkShell { + inputsFrom = [ pkgs.myapp ]; + }; - # Shell for poetry. - # - # nix develop .#poetry - # - # Use this shell for changes to pyproject.toml and poetry.lock. - devShells.poetry = pkgs.mkShell { - packages = [ pkgs.poetry ]; + # Shell for poetry. + # + # nix develop .#poetry + # + # Use this shell for changes to pyproject.toml and poetry.lock. + poetry = pkgs.mkShell { + packages = [ pkgs.poetry ]; + }; }; - }); + legacyPackages = pkgs; + } + ); }