You can define as many devShells as you want indeed.
Nix code example:
# This is a excerpt of a very basic flake.nix file, without using any Flake framework
devShells = {
x86_64-linux = {
python = pkgs.mkShell {
packages = [
pkgs.python3
];
};
php = pkgs.mkShell {
packages = [
pkgs.php
];
};
};
};