By default, Serenity OS only comes with a few dozen applications and games pre-installed. And there is no "package manager" or "software store" in the system.
So how, pray tell, are we supposed to get new software for use with Serenity?
Turns out there are a few hundred pieces of software that have been ported to this budding operating system. But, just as with the operating system itself, the applications must be compiled in order to be installed and run.
In short: There are no pre-built binaries or ready to go installers in the world of Serenity OS.
But, don't fret!
The good news is that the process of building and installing all of those applications is astoundingly simple once you have Serenity OS itself built and ready to run. Seriously. Like... just about as easy as using a standard package manager.
Step 1) Compile the software
On your host machine, inside your "serenity" directory (see this tutorial if you don't already have that), you will find a "Ports" directory. Therein contains, literally, hundreds of applications ready to be built.
The process of building these applications is incredibly simple.
- Change into the directory of the port you want to compile.
- Run "./package.sh".
Let's assume you want to build nano (the text editor). From the "serenity" directory you would type the following:
cd Ports
cd nano
./package.sh
That's it. Easy as pie. Might take a couple minutes... but it'll compile, then move the application into your pre-existing Serenity OS installation.
Step 2) Run Serenity OS
Now all you need to do is re-launch Serenity OS. Return to the "serenity" directory and run the following:
Meta/serenity.sh run
Boom. We now have nano in Serenity OS. Check it out:
You can repeat that exact command (./package) for every single "port" available.
To see all of the ports available, you can browse through the "Ports" directory yourself -- there are close to 300 there last I checked -- or you can go to Ports.SerenityOS.net to get a curated collection of a good number of ports available.
Including a quite a few games. Which is good. I like games.
In my testing, most of the available Ports seem to compile and run quite well. That said, several failed to build properly. Likely for a wide variety of reasons (such as missing build dependencies).
There is also a "build_all.sh" script right there in the Ports directory which, you guessed it, builds (and installs) every single, cotton-picking piece of software in the Serenity OS universe.
I am running that right now. In truth... I've been running that for the last 2 hours. How long will it take to build absolutely every port? Who knows.
But, gosh darn it, I'm gonna find out.