{ pkgs, lib, config, inputs, ... }: rec { # https://devenv.sh/basics/ env = { GREET = "devenv"; # Fixes failure to launch viewer due to missing OpenGL context PYOPENGL_PLATFORM = "glx"; # Fixes missing linux input headers (supplied by pkgs.linuxHeaders) C_INCLUDE_PATH = "${pkgs.linuxHeaders}/include"; }; # https://devenv.sh/packages/ packages = with pkgs; [ git # Graphics dependencies xorg.libX11 libGL xorg.libXrender xorg.libXrandr libglibutil glib glfw-wayland glew openblas zlib # Linux kernel headers, needed for input linuxHeaders ]; # https://devenv.sh/languages/ # languages.rust.enable = true; # https://devenv.sh/processes/ # processes.cargo-watch.exec = "cargo-watch"; # https://devenv.sh/services/ # services.postgres.enable = true; # https://devenv.sh/scripts/ scripts = { hello.exec = '' echo hello from $GREET ''; drone-sim.exec = '' echo "Running demo drone simulation..." python ./src/interactive_drone.py ''; }; enterShell = '' hello git --version ''; languages.python = { enable = true; venv.enable = true; }; # https://devenv.sh/tasks/ # tasks = { # "myproj:setup".exec = "mytool build"; # "devenv:enterShell".after = [ "myproj:setup" ]; # }; # https://devenv.sh/tests/ enterTest = '' echo "Running tests" git --version | grep --color=auto "${pkgs.git.version}" ''; # https://devenv.sh/pre-commit-hooks/ # pre-commit.hooks.shellcheck.enable = true; # See full reference at https://devenv.sh/reference/options/ }