{ pkgs, lib, config, inputs, ... }: { # https://devenv.sh/basics/ env.GREET = "devenv"; # https://devenv.sh/packages/ packages = [ pkgs.git pkgs.nodejs_20 pkgs.nodePackages.typescript pkgs.nodePackages.ts-node pkgs.ripgrep ]; # https://devenv.sh/languages/ languages.go.enable = true; languages.python = { enable = true; package = pkgs.python311; venv.enable = true; venv.requirements = '' # Add Python requirements here ''; }; languages.rust.enable = true; languages.dotnet.enable = true; languages.typescript.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 ''; enterShell = '' hello echo "Available tools:" git --version go version python --version node --version tsc --version rustc --version dotnet --version rg --version ''; # 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}" go version python --version node --version rustc --version dotnet --version rg --version ''; # https://devenv.sh/git-hooks/ # git-hooks.hooks.shellcheck.enable = true; # See full reference at https://devenv.sh/reference/options/ }