From af3ced34e9b8d9f9695e7b989ce0803697b3e989 Mon Sep 17 00:00:00 2001 From: bit Date: Mon, 30 Jun 2025 20:52:55 +0200 Subject: [PATCH] make nix overlay and remove nixpkgs dependency --- flake.lock | 32 +++++----------------------- flake.nix | 61 +++++++++++++++++++++--------------------------------- 2 files changed, 29 insertions(+), 64 deletions(-) diff --git a/flake.lock b/flake.lock index 1f77cc5..a1c11b6 100644 --- a/flake.lock +++ b/flake.lock @@ -1,33 +1,12 @@ { "nodes": { - "nixpkgs": { - "locked": { - "lastModified": 1730785428, - "narHash": "sha256-Zwl8YgTVJTEum+L+0zVAWvXAGbWAuXHax3KzuejaDyo=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "4aa36568d413aca0ea84a1684d2d46f55dbabad7", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "pydantic-uuid-model": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, "locked": { - "lastModified": 1731232726, - "narHash": "sha256-j2kkXkw6KKfGAu7Qd879pWDNupL7ShyininLCupOGFY=", - "ref": "refs/heads/master", - "rev": "68803636acdba905d64d34d8986d5f99f07b6d7a", - "revCount": 2, + "lastModified": 1751309415, + "narHash": "sha256-qKSRotFL6KmztfFiGMP5NTuQh1WXgnJEAgvSeywf5cc=", + "ref": "refs/heads/main", + "rev": "746afe85fe0bab5c16c81a321d9c77a34d7b0132", + "revCount": 3, "type": "git", "url": "https://git.chaosbit.de/bit/pydanticuuidmodel" }, @@ -38,7 +17,6 @@ }, "root": { "inputs": { - "nixpkgs": "nixpkgs", "pydantic-uuid-model": "pydantic-uuid-model" } } diff --git a/flake.nix b/flake.nix index bf09e90..72ad667 100644 --- a/flake.nix +++ b/flake.nix @@ -1,55 +1,42 @@ { description = "A python data storage backend library"; - inputs = { - nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; + inputs.pydantic-uuid-model.url = "git+https://git.chaosbit.de/bit/pydanticuuidmodel"; - pydantic-uuid-model = { - url = "git+https://git.chaosbit.de/bit/pydanticuuidmodel"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - }; - - outputs = { self, nixpkgs, pydantic-uuid-model }: let + outputs = { self, pydantic-uuid-model }: let system = "x86_64-linux"; - pkgs = import nixpkgs { inherit system; }; packageName = "pydatastorage"; version = "0.1.0"; in { - packages."${system}" = { - "${packageName}" = pkgs.python3Packages.callPackage ./default.nix { - inherit packageName version; - inherit (pydantic-uuid-model.packages."${system}") pydantic-uuid-model; - }; - - default = self.packages."${system}"."${packageName}"; - - overlay = (final: prev: { - pythonPackagesExtensions = prev.pythonPackagesExtensions ++ [ + overlays = let + composeExtensions = ( + f: g: final: prev: + let + fApplied = f final prev; + prev' = prev // fApplied; + in + fApplied // g final prev'); + in { + default = composeExtensions pydantic-uuid-model.overlays.default self.overlays.pydatastorage; + pydatastorage = (pkgs-final: pkgs-prev: { + pythonPackagesExtensions = pkgs-prev.pythonPackagesExtensions ++ [ (final: prev: { - "${packageName}" = self.packages."${system}".default; + "${packageName}" = pkgs-prev.python3Packages.callPackage ./default.nix { + inherit packageName version; + }; }) ]; }); - - inherit (pydantic-uuid-model.packages."${system}") dependencies; }; - devShell."${system}" = let - pkgs = import nixpkgs { - inherit system; - overlays = [ self.packages."${system}".overlay ]; - }; - - customPython = with pkgs; (pkgs.python3.withPackages (ps: [ - ps."${packageName}" - ])); - - packages = [ customPython ] ++ self.packages."${system}".dependencies; - in pkgs.mkShell { - inherit packages; - }; + #devShell."${system}" = let + # pkgs = import nixpkgs { + # inherit system; + # overlays = [ self.overlays.default ]; + # }; + # packages = [ (pkgs.python3.withPackages (ps: [ ps."${packageName}" ])) ]; + #in pkgs.mkShell { inherit packages; }; }; }