From 9180f5b309cc2cd4c7dc684b697519a3f71a5301 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Av=C3=A9?= Date: Thu, 26 Dec 2024 15:56:35 +0100 Subject: [PATCH] Create Python Wrapper --- flake.lock | 4 ++-- home/nvim/default.nix | 5 ++--- home/utils/desktop.nix | 1 + home/utils/python.nix | 35 +++++++++++++++++++++++++++++++++++ 4 files changed, 40 insertions(+), 5 deletions(-) create mode 100644 home/utils/python.nix diff --git a/flake.lock b/flake.lock index 0129187..a59e1ca 100644 --- a/flake.lock +++ b/flake.lock @@ -8,11 +8,11 @@ "locked": { "lastModified": 1, "narHash": "sha256-DuhR3y0gPZG0AJ2FDd+nUKzQMwT+c/DFIUWNDQ5Uyx4=", - "path": "/nix/store/v7xsk4kvdnnpj7zvr4bl47wxycbx4qy6-source/home/ags", + "path": "/nix/store/b101vshx5jj03vhqdh6j12hk6vkbk9x8-source/home/ags", "type": "path" }, "original": { - "path": "/nix/store/v7xsk4kvdnnpj7zvr4bl47wxycbx4qy6-source/home/ags", + "path": "/nix/store/b101vshx5jj03vhqdh6j12hk6vkbk9x8-source/home/ags", "type": "path" } }, diff --git a/home/nvim/default.nix b/home/nvim/default.nix index ee604f8..2b5c3f7 100644 --- a/home/nvim/default.nix +++ b/home/nvim/default.nix @@ -10,9 +10,8 @@ nodejs luarocks jre - python3 - python311Packages.pip - python311Packages.debugpy + python312Packages.pip + python312Packages.debugpy unzip dotnet-sdk_8 cargo diff --git a/home/utils/desktop.nix b/home/utils/desktop.nix index 3d34112..821c192 100644 --- a/home/utils/desktop.nix +++ b/home/utils/desktop.nix @@ -2,6 +2,7 @@ { imports = [ (import ./common.nix { inherit inputs config pkgs; }) + (import ./python.nix { inherit inputs config pkgs; }) (import ../hyprland { inherit inputs pkgs; }) ../rofi ../alacritty diff --git a/home/utils/python.nix b/home/utils/python.nix new file mode 100644 index 0000000..5ddbd34 --- /dev/null +++ b/home/utils/python.nix @@ -0,0 +1,35 @@ +{ pkgs, ... }: +let + pythonldlibpath = pkgs.lib.makeLibraryPath (with pkgs; [ + libGL + glib + zlib + zstd + stdenv.cc.cc + curl + openssl + attr + libssh + bzip2 + libxml2 + acl + libsodium + util-linux + xz + systemd + ]); + # Darwin requires a different library path prefix + wrapPrefix = if (!pkgs.stdenv.isDarwin) then "LD_LIBRARY_PATH" else "DYLD_LIBRARY_PATH"; + patchedpython = (pkgs.symlinkJoin { + name = "python"; + paths = [ pkgs.python312 ]; + buildInputs = [ pkgs.makeWrapper ]; + postBuild = '' + wrapProgram "$out/bin/python3.12" --prefix ${wrapPrefix} : "${pythonldlibpath}" + ''; + }); +in { + home.packages = [ + patchedpython + ]; +}