{ description = "C Flake"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; flake-utils.url = "github:numtide/flake-utils"; }; outputs = { self, flake-utils, nixpkgs }: flake-utils.lib.eachDefaultSystem (system: let pkgs = import nixpkgs { inherit system; config.allowUnfree = true; }; in { devShells.default = pkgs.mkShell { packages = with pkgs; [ #cmake gcc #gccStdenv gnumake # valgrind #astyle # CUDA https://nixos.wiki/wiki/CUDA#cudatoolkit.2C_cudnn.2C_and_related_packages # git gitRepo gnupg autoconf curl # procps gnumake util-linux m4 gperf unzip # cudatoolkit linuxPackages.nvidia_x11 # libGLU libGL # xorg.libXi xorg.libXmu freeglut # xorg.libXext xorg.libX11 xorg.libXv xorg.libXrandr zlib # xorg.libXinerama # ncurses5 stdenv.cc binutils # # glib # glibc # # intel-ocl # intel-compute-runtime # opencl-clhpp # opencl-clang # opencl-headers # ocl-icd # # pkgconf # waylandpp # xorg.libXcursor # You might want to use your own IDE. #(jetbrains.plugins.addPlugins jetbrains.clion [ "github-copilot" ]) #vscodium ]; shellHook = '' export CUDA_PATH=${pkgs.cudatoolkit} # export LD_LIBRARY_PATH=${pkgs.linuxPackages.nvidia_x11}/lib:${pkgs.ncurses5}/lib # export LD_LIBRARY_PATH="${pkgs.stdenv.cc.cc.lib}/lib" export LD_LIBRARY_PATH="${pkgs.libGL}/lib/:${pkgs.stdenv.cc.cc.lib}/lib/:${pkgs.glibc}/lib" export EXTRA_LDFLAGS="-L/lib -L${pkgs.linuxPackages.nvidia_x11}/lib" export EXTRA_CCFLAGS="-I/usr/include" ''; }; }); }