Hi, I am relatively new to nixos. I want to setup a python environment where I can build and run gwe(Roberto Leinardi / GreenWithEnvy · GitLab).
This is my current shell.nix:
{ pkgs ? import <nixpkgs> {} }:
let
mach-nix = import (builtins.fetchGit {
url = "https://github.com/DavHau/mach-nix";
ref = "refs/tags/3.5.0";
}) {
mkPython = { # replace with mkPythonShell if shell is wanted
requirements = builtins.readFile ./requirements.txt;
};
};
in
pkgs.mkShell {
packages = with pkgs; [
(python3.withPackages (pypkgs: with pypkgs; [
injector
matplotlib
peewee
pynvml
pygobject3
xlib
pyxdg
requests
rx
gtk3
reactivex
py3nvml
]))
glib
libgee
#pantheon
# lib
wrapGAppsHook
pkg-config
meson
ninja
cmake
gobject-introspection
desktop-file-utils
gtk3
libdazzle
libnotify
linuxPackages.nvidia_x11
appstream-glib
];
nativeBuildInputs = [
pkgs.cudatoolkit_11
pkgs.cudaPackages.cudnn
];
shellHook = ''
# Fix missing site-packages like gi
site_packages=$(python3 -c "import site; print(site.getsitepackages()[0])")
export PYTHONPATH="$site_packages"
# shit I tried that doesn't work:!!!!!!!!!!!!!
# Set up NVIDIA environment variables
export PATH=${pkgs.linuxPackages.nvidia_x11}/bin:$PATH
export LD_LIBRARY_PATH=${pkgs.linuxPackages.nvidia_x11}/lib:$LD_LIBRARY_PATH
export LIBRARY_PATH=${pkgs.linuxPackages.nvidia_x11}/lib:$LIBRARY_PATH
export CPATH=${pkgs.linuxPackages.nvidia_x11}/include:$CPATH
# Ensure that the NVML library can be found
export LD_LIBRARY_PATH=${pkgs.linuxPackages.nvidia_x11}/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=${pkgs.libGL}/lib:${pkgs.libGLU}/lib:${pkgs.freeglut}/lib:${pkgs.xorg.libX11}/lib:${pkgs.stdenv.cc.cc.lib}/lib:${pkgs.cudatoolkit_11}/lib:${pkgs.cudaPackages.cudnn}/lib:${pkgs.cudatoolkit_11.lib}/lib:$LD_LIBRARY_PATH
'';
}
However I can’t get the nvml driver running within a nix-shell it seems.
How would I do that?
Or rather how can I setup a development environment where it works without a nix-shell?