76 lines
1.5 KiB
Nix
76 lines
1.5 KiB
Nix
{ pkgs, ... }:
|
|
|
|
{
|
|
|
|
packages = [
|
|
|
|
# dev tools
|
|
pkgs.samply # code profiler
|
|
|
|
# generate python classes from rust code (for AI training)
|
|
pkgs.maturin
|
|
# required to manually install generated python module in local venv
|
|
pkgs.python312Packages.pip
|
|
|
|
# required by python numpy (for AI training)
|
|
pkgs.libz
|
|
|
|
# for bevy
|
|
pkgs.alsaLib
|
|
pkgs.udev
|
|
|
|
# bevy fast compile
|
|
pkgs.clang
|
|
pkgs.lld
|
|
|
|
# copié de https://github.com/mmai/Hyperspeedcube/blob/develop/devenv.nix
|
|
# TODO : retirer ce qui est inutile
|
|
# pour erreur à l'exécution, selon https://github.com/emilk/egui/discussions/1587
|
|
pkgs.libxkbcommon
|
|
pkgs.libGL
|
|
|
|
# WINIT_UNIX_BACKEND=wayland
|
|
pkgs.wayland
|
|
|
|
# WINIT_UNIX_BACKEND=x11
|
|
pkgs.xorg.libXcursor
|
|
pkgs.xorg.libXrandr
|
|
pkgs.xorg.libXi
|
|
pkgs.xorg.libX11
|
|
|
|
pkgs.vulkan-headers
|
|
pkgs.vulkan-loader
|
|
# ------------ fin copie
|
|
|
|
];
|
|
|
|
enterShell = ''
|
|
PYTHONPATH=$PYTHONPATH:$PWD/.devenv/state/venv/lib/python3.12/site-packages
|
|
'';
|
|
|
|
# https://devenv.sh/languages/
|
|
languages.rust.enable = true;
|
|
|
|
|
|
# for AI training
|
|
languages.python = {
|
|
enable = true;
|
|
uv.enable = true;
|
|
venv.enable = true;
|
|
venv.requirements = "
|
|
gym
|
|
numpy
|
|
stable-baselines3
|
|
";
|
|
};
|
|
|
|
# https://devenv.sh/scripts/
|
|
# scripts.hello.exec = "echo hello from $GREET";
|
|
|
|
# https://devenv.sh/pre-commit-hooks/
|
|
# pre-commit.hooks.shellcheck.enable = true;
|
|
|
|
# https://devenv.sh/processes/
|
|
# processes.ping.exec = "ping example.com";
|
|
}
|