mirror of
https://github.com/nickolaj-jepsen/nixos.git
synced 2026-01-22 08:06:50 +01:00
34 lines
914 B
Nix
34 lines
914 B
Nix
{
|
|
pkgs,
|
|
lib,
|
|
pkgsUnstable,
|
|
...
|
|
}: let
|
|
# Sets LD_LIBRARY_PATH for various python-based tools
|
|
# Some python packages requires shared libraries to build C extensions.
|
|
mkWrapLDLibraryPath = pkg: let
|
|
mainProgram = pkg.meta.mainProgram or pkg.pname or (lib.getName pkg);
|
|
in pkgs.symlinkJoin {
|
|
name = "${pkg.name}-wrapped";
|
|
paths = [pkg];
|
|
nativeBuildInputs = [pkgs.makeWrapper];
|
|
postBuild = ''
|
|
wrapProgram $out/bin/${mainProgram} \
|
|
--run "export LD_LIBRARY_PATH=\$NIX_LD_LIBRARY_PATH"
|
|
'';
|
|
};
|
|
in {
|
|
environment.systemPackages = [
|
|
(mkWrapLDLibraryPath pkgsUnstable.uv)
|
|
(mkWrapLDLibraryPath pkgsUnstable.rye)
|
|
(mkWrapLDLibraryPath pkgs.python3)
|
|
(mkWrapLDLibraryPath pkgsUnstable.prek)
|
|
];
|
|
|
|
# uv tool adds executable to $HOME/.local/bin, so add it to PATH
|
|
fireproof.home-manager = {
|
|
home.sessionPath = [
|
|
"$HOME/.local/bin"
|
|
];
|
|
};
|
|
}
|