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 1/4] 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 + ]; + }; +} -- 2.45.2 From 63f888db9b2dab4baee512b6ca7558c686a2a259 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Krop=C3=A1=C4=8Dek?= Date: Fri, 29 Nov 2024 15:14:05 +0100 Subject: [PATCH 2/4] that was fucking stupid --- overlays/uv/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/overlays/uv/default.nix b/overlays/uv/default.nix index d674420..4f235a0 100644 --- a/overlays/uv/default.nix +++ b/overlays/uv/default.nix @@ -1,3 +1,3 @@ (final: prev: { - uv-bin = prev.callPackage ./package.nix; + uv-bin = prev.callPackage ./package.nix { }; }) -- 2.45.2 From 2ae131956daa4813ca7e4809c19d4b1937e022a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Krop=C3=A1=C4=8Dek?= Date: Fri, 29 Nov 2024 16:45:53 +0100 Subject: [PATCH 3/4] move fixup --- overlays/uv/package.nix | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/overlays/uv/package.nix b/overlays/uv/package.nix index 9788b72..ac13963 100644 --- a/overlays/uv/package.nix +++ b/overlays/uv/package.nix @@ -2,6 +2,8 @@ stdenv, versionCheckHook, lib, + installShellFiles, + autoPatchelfHook, }: stdenv.mkDerivation rec { pname = "uv-bin"; @@ -9,9 +11,34 @@ stdenv.mkDerivation rec { src = fetchTarball { url = "https://github.com/astral-sh/uv/releases/download/${version}/uv-x86_64-unknown-linux-gnu.tar.gz"; - sha256 = ""; + sha256 = "1rgqmgj9syjansfmkvg1819i70f41za647izgh5hrvjsmcnm6nk7"; }; + nativeBuildInputs = [ + installShellFiles + autoPatchelfHook + stdenv.cc.cc.lib + ]; + + installPhase = '' + runHook preInstall + + mkdir -p $out/bin + + cp * $out/bin + + runHook postInstall + ''; + + postInstall = '' + $out/bin/uv --version || echo "Binary execution failed." + export HOME=$TMPDIR + installShellCompletion --cmd uv \ + --bash <($out/bin/uv --generate-shell-completion bash) \ + --fish <($out/bin/uv --generate-shell-completion fish) \ + --zsh <($out/bin/uv --generate-shell-completion zsh) + ''; + nativeCheckInputs = [ versionCheckHook ]; -- 2.45.2 From b11a5f44e1cec15cd5b7c48f5c6c8c42e1d32954 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Krop=C3=A1=C4=8Dek?= Date: Fri, 29 Nov 2024 17:05:55 +0100 Subject: [PATCH 4/4] fixed uv --- overlays/uv/package.nix | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/overlays/uv/package.nix b/overlays/uv/package.nix index ac13963..ea95dcf 100644 --- a/overlays/uv/package.nix +++ b/overlays/uv/package.nix @@ -30,8 +30,11 @@ stdenv.mkDerivation rec { runHook postInstall ''; - postInstall = '' - $out/bin/uv --version || echo "Binary execution failed." + dontAutoPatchelf = true; + + postFixup = '' + autoPatchelf -- "$out" + export HOME=$TMPDIR installShellCompletion --cmd uv \ --bash <($out/bin/uv --generate-shell-completion bash) \ -- 2.45.2