From bcc4f8eb7d94dd41a5856ae21e282f43069bd825 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Krop=C3=A1=C4=8Dek?= Date: Fri, 29 Nov 2024 14:57:51 +0100 Subject: [PATCH] created overlay --- flake.nix | 1 + nixosModules/dev/python.nix | 2 +- overlays/default.nix | 6 ++++++ overlays/uv/default.nix | 3 +++ overlays/uv/package.nix | 28 ++++++++++++++++++++++++++++ 5 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 overlays/default.nix create mode 100644 overlays/uv/default.nix create mode 100644 overlays/uv/package.nix diff --git a/flake.nix b/flake.nix index 4fc64af..38a1d63 100644 --- a/flake.nix +++ b/flake.nix @@ -43,6 +43,7 @@ nixpkgs.lib.nixosSystem { system = arch; modules = [ + (import ./overlays) ./nixosModules ./hosts/${host} ./hosts/base diff --git a/nixosModules/dev/python.nix b/nixosModules/dev/python.nix index 00fc715..eb29c22 100644 --- a/nixosModules/dev/python.nix +++ b/nixosModules/dev/python.nix @@ -28,7 +28,7 @@ in python3 poetry pre-commit - uv + uv-bin ] ++ lib.optionals cfg.install-additional [ python313 diff --git a/overlays/default.nix b/overlays/default.nix new file mode 100644 index 0000000..d1c5771 --- /dev/null +++ b/overlays/default.nix @@ -0,0 +1,6 @@ +{ ... }: +{ + nixpkgs.overlays = [ + (import ./uv) + ]; +} diff --git a/overlays/uv/default.nix b/overlays/uv/default.nix new file mode 100644 index 0000000..d674420 --- /dev/null +++ b/overlays/uv/default.nix @@ -0,0 +1,3 @@ +(final: prev: { + uv-bin = prev.callPackage ./package.nix; +}) diff --git a/overlays/uv/package.nix b/overlays/uv/package.nix new file mode 100644 index 0000000..9788b72 --- /dev/null +++ b/overlays/uv/package.nix @@ -0,0 +1,28 @@ +{ + stdenv, + versionCheckHook, + lib, +}: +stdenv.mkDerivation rec { + pname = "uv-bin"; + version = "0.5.5"; + + src = fetchTarball { + url = "https://github.com/astral-sh/uv/releases/download/${version}/uv-x86_64-unknown-linux-gnu.tar.gz"; + sha256 = ""; + }; + + nativeCheckInputs = [ + versionCheckHook + ]; + versionCheckProgramArg = [ "--version" ]; + + meta = { + description = "Extremely fast Python package installer and resolver, written in Rust"; + homepage = "https://github.com/astral-sh/uv"; + license = with lib.licenses; [ + asl20 + mit + ]; + }; +}