Replacing global package manager
Each operating system needs a way to install, upgrade and remove programs. There are 3 major approaches to this:
- Running an installer downloaded from the internet, for example, Steam, Orbstack
- Using a graphical application store, for example, App Store, Windows Store
- Using a package manager with its associated repositories, for example, apt, brew
Software engineers are mostly concerned with the third option, since it enables the greatest degree of automation. Unfortunately, even using the same operating system as other engineers does not guarantee the same package manager and thus onboarding documentation for each operating system and package manager combination is needed.
Devbox can be used instead. It can manage software that does not belong to a single project and needs to be available to all of them by executing: devbox global <add|rm> <package>[@version]. Globally installed packages can even be shared over git, thus making developer onboarding as simple as devbox global pull <remote>.