Created
May 20, 2024 18:03
-
-
Save tastycode/acf89a82692c1bdea622dbc300224995 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ pkgs, lib, ... }: | |
let | |
filteredPackages = ["pytest-httpserver" "werkzeug"]; | |
in { | |
packages = with pkgs; [ | |
git | |
zlib | |
stdenv.cc.cc.lib | |
]; | |
languages.python = { | |
enable = true; | |
package = pkgs.python311.override { | |
packageOverrides = self: super: { | |
buildPythonPackage = super.buildPythonPackage.overrideAttrs (oldAttrs: { | |
propagatedBuildInputs = (oldAttrs.propagatedBuildInputs or []).filter (pkg: !(lib.elem pkg.pname filteredPackages)); | |
doCheck = false; # Disable running tests globally | |
installCheckPhase = ":"; | |
pytestCheckPhase = null; | |
}); | |
pytest-httpserver = super.pytest-httpserver.overrideAttrs (oldAttrs: { | |
doInstallCheck = false; | |
doCheck = false; | |
src = null; # If you decide to modify the source or remove test directories | |
}); | |
responses = super.responses.overrideAttrs (oldAttrs: rec { | |
propagatedBuildInputs = oldAttrs.propagatedBuildInputs | |
.filter (pkg: !(lib.elem pkg.pname filteredPackages)); | |
}); | |
}; | |
}; | |
}; | |
# languages.python = { | |
# enable = true; | |
# package = let | |
# filteredPackages = ["pytest-httpserver" "werkzeug"]; | |
# in pkgs.python311.override { | |
# packageOverrides = self: super: { | |
# pytest-httpserver = super.pytest-httpserver.override { | |
# doCheck = false; | |
# }; | |
# buildPythonPackage = oldAttrs: super.buildPythonPackage ((pkgs.lib.debug.traceVal oldAttrs).overrideAttrs (oa: { | |
# doCheck = false; | |
# propagatedBuildInputs = (pkgs.lib.debug.traceVal oa).propagatedBuildInputs | |
# .filter (pkg: !(lib.elem pkg.pname filteredPackages)); | |
# buildInputs = oa.buildInputs | |
# .filter (pkg: !(lib.elem pkg.pname filteredPackages)); | |
# })); | |
# }; | |
# }; | |
# }; | |
env.LD_LIBRARY_PATH = let | |
pyPackages = import pkgs; | |
# pkgs.python311Packages.override { | |
# packageOverrides = self: super: { | |
# buildPythonPackage = super.buildPythonPackage.overrideAttrs (oldAttrs: { | |
# propagatedBuildInputs = (oldAttrs.propagatedBuildInputs or []).filter (pkg: !(lib.elem pkg.pname filteredPackages)); | |
# doCheck = false; # Disable running tests globally | |
# installCheckPhase = ":"; | |
# pytestCheckPhase = null; | |
# }); | |
# | |
# }; | |
# }; | |
in lib.mkIf pkgs.stdenv.isLinux ( | |
lib.makeLibraryPath (with pkgs; [ | |
gcc-unwrapped.lib | |
linuxPackages_latest.nvidia_x11 | |
zlib | |
cmake | |
cudaPackages.cudatoolkit | |
cudaPackages.cudnn | |
cudaPackages.libcublas | |
cudaPackages.libcurand | |
cudaPackages.libcufft | |
cudaPackages.libcusparse | |
cudaPackages.cuda_nvtx | |
cudaPackages.cuda_cupti | |
cudaPackages.cuda_nvrtc | |
cudaPackages.nccl | |
] ++ (with pkgs.python311Packages; [ | |
vllm | |
])) | |
); | |
env.CUDA_HOME = "${pkgs.cudaPackages.cudatoolkit}"; | |
env.CUDA_PATH = "${pkgs.cudaPackages.cudatoolkit}"; | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
inputs = { | |
nixpkgs.url = "github:cachix/devenv-nixpkgs/rolling"; | |
systems.url = "github:nix-systems/default"; | |
devenv.url = "github:cachix/devenv"; | |
devenv.inputs.nixpkgs.follows = "nixpkgs"; | |
}; | |
nixConfig = { | |
extra-trusted-public-keys = "devenv.cachix.org-1:w1cLUi8dv3hnoSPGAuibQv+f9TZLr6cv/Hm9XgU50cw="; | |
extra-substituters = "https://devenv.cachix.org"; | |
}; | |
outputs = { self, nixpkgs, devenv, systems, ... } @ inputs: | |
let | |
lib = nixpkgs.lib; | |
forEachSystem = nixpkgs.lib.genAttrs (import systems); | |
in { | |
devShells = forEachSystem (system: | |
let | |
pkgs = import nixpkgs { | |
inherit system; | |
config.allowUnfree = true; | |
config.allowBroken = true; | |
packageOverrides = pkgs: { | |
python311Packages = pkgs.python311Packages.override { | |
overrides = self: super: { | |
buildPythonPackage = super.buildPythonPackage.overrideAttrs (oldAttrs: rec { | |
propagatedBuildInputs = oldAttrs.propagatedBuildInputs | |
.filter (pkg: !(lib.elem pkg.pname ["pytest-httpserver"])); | |
doInstallCheck = false; | |
doCheck = false; | |
}); | |
responses = super.responses.overrideAttrs (oldAttrs: rec { | |
propagatedBuildInputs = oldAttrs.propagatedBuildInputs | |
.filter (pkg: !(lib.elem pkg.pname ["pytest-httpserver"])); | |
}); | |
elastic-transport = super.responses.overrideAttrs (oldAttrs: rec { | |
propagatedBuildInputs = oldAttrs.propagatedBuildInputs | |
.filter (pkg: !(lib.elem pkg.pname ["pytest-httpserver"])); | |
}); | |
# pytest-httpserver = throw "Package pytest-httpserver is disabled globally"; | |
pytest-httpserver = super.pytest-httpserver.overrideAttrs (oldAttrs: { | |
doInstallCheck = false; | |
doCheck = false; | |
src = null; # If you decide to modify the source or remove test directories | |
}); | |
werkzeug = throw "Package werkzeug is disabled globally"; | |
}; | |
}; | |
}; | |
}; | |
in { | |
default = devenv.lib.mkShell { | |
inherit inputs pkgs; | |
modules = [ | |
( import ./devenv.nix { inherit pkgs lib; }) | |
]; | |
}; | |
}); | |
}; | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
building '/nix/store/x2yn0v154liz5bs7gd2h7b7pwmynyxp6-python3.11-aioresponses-0.7.6.drv'... | |
copying path '/nix/store/av07i0w816zrjbqffv6nysdr9dcnx0z0-qtbase-6.6.3' from 'https://cache.nixos.org'... | |
error: builder for '/nix/store/kqzp6znrvfqaly97af8b1x2jhx33cncr-python3.11-pytest-httpserver-1.0.10.drv' failed with exit code 1; | |
last 25 log lines: | |
> if e.errno == errno.EADDRINUSE: | |
> print( | |
> f"Port {port} is in use by another program. Either identify and" | |
> " stop that program, or start the server with a different" | |
> " port.", | |
> file=sys.stderr, | |
> ) | |
> | |
> if sys.platform == "darwin" and port == 5000: | |
> print( | |
> "On macOS, try disabling the 'AirPlay Receiver' service" | |
> " from System Preferences -> General -> AirDrop & Handoff.", | |
> file=sys.stderr, | |
> ) | |
> | |
> > sys.exit(1) | |
> E SystemExit: 1 | |
> | |
> /nix/store/78z7q9pbyqmg7xsn0kpy8hzr281yhfy0-python3.11-werkzeug-3.0.1/lib/python3.11/site-packages/werkzeug/serving.py:769: SystemExit | |
> ---------------------------- Captured stderr setup ----------------------------- | |
> Cannot assign requested address | |
> =========================== short test summary info ============================ | |
> ERROR tests/test_ip_protocols.py::test_ipv6 - SystemExit: 1 | |
> ======= 86 passed, 8 skipped, 1 deselected, 1 xfailed, 1 error in 12.06s ======= | |
> /nix/store/v5lsd029lz5lfhamivbgqyp3zdv94ah2-stdenv-linux/setup: line 1578: pop_var_context: head of shell_variables not a function context | |
For full logs, run 'nix log /nix/store/kqzp6znrvfqaly97af8b1x2jhx33cncr-python3.11-pytest-httpserver-1.0.10.drv'. | |
error: 1 dependencies of derivation '/nix/store/ycmz89nlabkcqj2y7h2p16zaqa5fylxf-python3.11-elastic-transport-8.12.0.drv' failed to build |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment