The system was originally 32-bit only, since that's what Andreas was most familiar with when starting out. Nowadays, there is a 64-bit port as well (Intel/AMD x86\_64)
The SerenityOS project tries to maximize hackability, accountability, and fun(!) by implementing everything ourselves.
## Does SerenityOS have a package manager?
No, SerenityOS does not have a package manager. The project uses a monorepo approach, meaning that all software is built in the same style and using the same tools. There is no reason to have something like a package manager because of this.
*However* there are ports which can be found in the [Ports directory](../Ports). A port is a piece of software that can optionally be installed, might not have been built by us, but supports running on SerenityOS. They act quite similarly to packages, each coming with their own install script.
Currently when running the system in a virtual machine, ports need to be cross compiled on the host, and added to the file system image before booting. Then it's also possible to configure the build system to [in- or exclude components](./AdvancedBuildInstructions.md#component-configuration) from a build.