So here are some specifics of what I did till this moment.
- First rebuilt all OpenBSD from source and reinstalled it on my machine to have a clean start
- prepare and change the installer script for the new tgz files that I want in (os source, xenocara source, ports tree, ports sources, settings .. so on)
- prepare installer binaries to change the default partition sizes so the machine to have space for the new packages and enough space so to rebuild itself.
- change defaults of the installer so it includes everything needed and fixed some errors in the original installers script if any (there was installer USB select error) in my case
- test and rebuild
- select apps to be included: all apps sources are fetched, rebuild locally and included sources and binary in the packages. This is the hard part. It includes:
- check the app for bloat dependencies and remove unwanted bloat from scripts (this include making patches) if possible. If not drop the app or consider alternative.
- patch and fix bugs in the app if any to make it fully functional. In my case for example there was thread lock preventing DeadBeef Mp3 player from running. So fix the c code if possible.
- Write and edit settings for the apps to make them integrated into one functional system and include these settings in the packages
- add some scripts and binaries as volume bar indicator and screenshot taker
- Rebuild everything to have OS installer images(this was made several times so issues to be cleaned till the process is smooth and without errors)
So here is the list of the main apps included in OnemanBSD. I consider gtk+4, wayland, rust, qt and all big useless libs as bloat. I decided to include gtk+2 and gtk+3 (cleared from bloat) as they were needed for some useful apps. Here is the list:
- JWM as window manager
- XFE as file browser and text editor
- Nedit as code editor
- Netsurf as web browser (built with limited JS)
- Xpdf
- Ted as word processor
- DeadBeaf mp3 player
- Gnome Mplayer as video player
- Audacity - audio editor
- app to support wallpaper
- Godot
- some simple games
- some useful terminal apps
I may forget something
For example if you take my work and continue modifying it in your direction according your needs then we will end with 2 different independent OS but yet they will be compatible with each other. That is what I like most about the idea!