summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--flake.lock12
-rw-r--r--nix/derivation.nix16
-rw-r--r--nix/dev.nix10
-rw-r--r--nix/packages.nix31
4 files changed, 37 insertions, 32 deletions
diff --git a/flake.lock b/flake.lock
index 4d59796..e7bfe34 100644
--- a/flake.lock
+++ b/flake.lock
@@ -57,11 +57,11 @@
},
"nixpkgs": {
"locked": {
- "lastModified": 1695145219,
- "narHash": "sha256-Eoe9IHbvmo5wEDeJXKFOpKUwxYJIOxKUesounVccNYk=",
+ "lastModified": 1695644571,
+ "narHash": "sha256-asS9dCCdlt1lPq0DLwkVBbVoEKuEuz+Zi3DG7pR/RxA=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "5ba549eafcf3e33405e5f66decd1a72356632b96",
+ "rev": "6500b4580c2a1f3d0f980d32d285739d8e156d92",
"type": "github"
},
"original": {
@@ -103,11 +103,11 @@
]
},
"locked": {
- "lastModified": 1694364351,
- "narHash": "sha256-oadhSCqopYXxURwIA6/Anpe5IAG11q2LhvTJNP5zE6o=",
+ "lastModified": 1695576016,
+ "narHash": "sha256-71KxwRhTfVuh7kNrg3/edNjYVg9DCyKZl2QIKbhRggg=",
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
- "rev": "4f883a76282bc28eb952570afc3d8a1bf6f481d7",
+ "rev": "cb770e93516a1609652fa8e945a0f310e98f10c0",
"type": "github"
},
"original": {
diff --git a/nix/derivation.nix b/nix/derivation.nix
index 4e32095..483aeef 100644
--- a/nix/derivation.nix
+++ b/nix/derivation.nix
@@ -6,16 +6,26 @@
pydantic,
uvicorn,
self,
- version,
+ build,
+ wheel,
}:
buildPythonPackage {
pname = "guzzle-api";
- inherit version;
+ version = builtins.substring 0 8 self.lastModifiedDate or "dirty";
src = lib.cleanSource self;
format = "flit";
doCheck = false;
+ dontUsePypaBuild = true;
+
+ # TODO: find out what's going on with pypaBuildHook
+ buildPhase = ''
+ runHook preBuild
+ pyproject-build --no-isolation --outdir dist/ --wheel $pypaBuildFlags
+ runHook postBuild
+ '';
+
propagatedBuildInputs = [fastapi pydantic uvicorn];
- propagatedNativeBuildInputs = [flit-core];
+ nativeBuildInputs = [flit-core build wheel];
}
diff --git a/nix/dev.nix b/nix/dev.nix
index b394c6c..9ebb07f 100644
--- a/nix/dev.nix
+++ b/nix/dev.nix
@@ -5,8 +5,9 @@
...
}: {
perSystem = {
- config,
pkgs,
+ config,
+ self',
...
}: {
pre-commit = {
@@ -24,8 +25,11 @@
devShells.default = pkgs.mkShell {
shellHook = config.pre-commit.installationScript;
- packages = [
- (pkgs.python311.withPackages (p: with p; [isort yapf pylint]))
+ inputsFrom = [self'.packages.guzzle-api];
+ packages = with pkgs.python311Packages; [
+ isort
+ yapf
+ pylint
];
};
};
diff --git a/nix/packages.nix b/nix/packages.nix
index 8722ad1..bc679c7 100644
--- a/nix/packages.nix
+++ b/nix/packages.nix
@@ -1,29 +1,20 @@
-{self, ...}: let
- version = builtins.substring 0 8 self.lastModifiedDate or "dirty";
- commonArgs = {inherit self version;};
-in {
+{self, ...}: {
perSystem = {
+ lib,
pkgs,
- self',
...
- }: {
+ }: let
+ pkgs' = lib.fix (final: self.overlays.default final pkgs);
+ in {
packages = {
- guzzle-api = pkgs.python311Packages.callPackage ./derivation.nix commonArgs;
- guzzle-api-server = pkgs.python311Packages.callPackage ./server.nix {inherit (self'.packages) guzzle-api;};
- default = self'.packages.guzzle-api;
+ inherit (pkgs') guzzle-api guzzle-api-server;
+ default = pkgs'.guzzle-api-server;
};
};
- flake.overlays.default = final: prev: {
- python = prev.python.override {
- packageOverrides = _: prev': {
- guzzle-api = prev'.callPackage ./derivation.nix commonArgs;
- };
+ flake.overlays.default = final: prev:
+ with prev.python311Packages; {
+ guzzle-api = callPackage ./derivation.nix {inherit self;};
+ guzzle-api-server = callPackage ./server.nix {inherit (final) guzzle-api;};
};
-
- pythonPackages = final.python.pkgs;
-
- guzzle-api = final.pythonPackages.callPackage ./derivation.nix commonArgs;
- guzzle-api-server = final.pythonPackages.callPackage ./server.nix {};
- };
}