{ pkgs, lib, config, inputs, ... }: { # https://devenv.sh/basics/ env.GREET = "devenv"; # https://devenv.sh/packages/ packages = with pkgs; [ nixfmt # needed for Nix IDE? git # rustc rustfmt cargo trunk cargo-generate # LLVM tools for WebAssembly compilation llvm lld ]; # https://devenv.sh/languages/ languages.rust.enable = true; languages.python = { enable = true; package = pkgs.python312; uv = { enable = true; sync = { enable = true; allExtras = 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 ''; scripts.versions.exec = '' git --version uv run --locked python --version rustc --version ''; enterShell = '' hello versions ''; # https://devenv.sh/tasks/ # tasks = { # "myproj:setup".exec = "mytool build"; # "devenv:enterShell".after = [ "myproj:setup" ]; # }; # https://devenv.sh/tests/ enterTest = '' echo "Running tests" versions ''; # https://devenv.sh/git-hooks/ # git-hooks.hooks.shellcheck.enable = true; # See full reference at https://devenv.sh/reference/options/ }