{ pkgs ? import{ # Enable the installation of unfree packages config = { allowUnfree = true; }; } }: pkgs.mkShell { buildInputs = with pkgs; [ gcc zsh tmux cudaPackages_12_2.cudatoolkit ]; shellHook = '' # Set the shell ================================================= export SHELL=${pkgs.zsh}/bin/zsh export TMPDIR=/var/tmp # to avoid python and pip oom errors: https://superuser.com/questions/1288308/why-am-i-getting-no-space-left-on-device-when-it-appears-that-theres-lots-of source $(poetry env info --path)/bin/activate # instead of poetry shell # Setup the environment ========================================= ## gcc export LD_LIBRARY_PATH=${pkgs.gcc}/lib64:${pkgs.stdenv.cc.cc.lib}/lib:$LD_LIBRARY_PATH ## cuda export CUDA_PATH=${pkgs.cudaPackages_12_2.cudatoolkit} export LD_LIBRARY_PATH=${pkgs.cudaPackages_12_2.cudatoolkit}/lib64:$LD_LIBRARY_PATH export LD_LIBRARY_PATH=/run/opengl-driver/lib:$LD_LIBRARY_PATH # Initialize tmux =============================================== # Prepare the tmux project layout ============================== # Get the name of the current directory to use as the tmux session name SESSION_NAME=$(basename "$(pwd)") if [ -z "$TMUX" ]; then # Window: Code editing tmux new-session -d -s "$SESSION_NAME" -n 'code' tmux send-keys -t "$SESSION_NAME:code" 'nvim .' C-m # Window: Shell with the env tmux new-window -t "$SESSION_NAME" -n 'shell' tmux send-keys -t "$SESSION_NAME:shell" 'make env' C-m # Window: Start server tmux new-window -t "$SESSION_NAME" -n 'server' tmux send-keys -t "$SESSION_NAME:server" 'make serve' C-m # Attach to code editing tmux select-window -t "$SESSION_NAME:code" tmux attach-session -t "$SESSION_NAME" fi exec ${pkgs.zsh}/bin/zsh ''; }
Next step
poetry add torch torchvision torchaudio
No comments:
Post a Comment