Separate desktop and development environment is a good practice to maintain availability. Since we need most update to date packages (or the same version with different configuration), if we install these packages in desktop environment, that breaks a lot of things. Although, a VM can provides the same separation, what