67 lines
1.7 KiB
Nix
67 lines
1.7 KiB
Nix
{
|
|
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"
|
|
'';
|
|
};
|
|
});
|
|
}
|