a Soul for GNU

...for a more Personal Computer




Soul / Meta-profiler for GNU OS   
> ...for more Personal Computers
What is Soul?
Download it in ASCII Text > Here
Soul is a meta-profiler and customization tool invoked via command line
interface (CLI) or a Graphical User interface (GUI) that allows a user to easily
 deploy or extract and build a set of profiles (not only the settings) over a
GNU/Linux distribution. A fresh install of the stable release among the
supported as Debian, Ubuntu, Fedora, Arch and Gentoo.

The typical workflow will be, to get a pre-built and compiled meta profile which
 can be extracted and installed on a user-owned variant of the system at the
finish of its installation. The act performed is bidirectional with deployment
and acquisition of changes.

A meta-profiler here explained, is in the form of a standard compressed archive
(.7z) with subfolder structure. Taken as an input it contains all the
instructions to perform all the possible customizations such as:

differ the packages (uninstall and purge, reinstall, install new one, all with
customizations and custom settings if present) eg. add template documents to
Libreoffice or TeX or set a non general type of bookmarks and the start page to
Firefox, new filters in GIMP, new components, as demo scene and additional
documentation to Blender) so act at the install processlevel with scripts to
perform what specified, over traditional download and install from repositories
default one, or included in the meta-profile file. Perform scripts for system
level optimizations, eg. customize the system to run better over the available
resources(CPU, RAM, GPU, input or output devices), or confer a better security
if the machine have to be exposed on the internet to run some services.
Such deep level of customizations can be performed to match more the user

A meta-profile could include settings to select the right WM, lower or higher
the graphics effects of the Desktop GUI. Consequently, limited or extensive
changes, not only aesthetic ones, themes, their sub settings like windows
decorations, icons, speed of the mouse (if incremental or not in time) to touch
one setup, setup that often the user do not find ready or exactly matching
looking to alternative or minor distributions for general use and for a general

Considering our OS customizations as a tailoring dress, we have to consider the
body, if thin fat etc, the occasion to vest it, for ceremony, office use, sport,
 mountain, parachuting etc., the user preferences, not all like the same suit,
even if we have general aestetics rules of proportion, over colors, over quality
are there, all can be combined and be flexible or is possible to build up on the
same an harmonic setup.

Just imagine simplicity, is the most difficult thing to achieve,
 as none go around street with high fashion clothes or a few does. Is all about
a choice and availability, if all this is free we can save time and choose
something we like more or is more useful for us instead to open a tailoring
house for every dress to be done, and since is also important to exchange and do
 custom for every one, finally the tailoring house can be a single program, a
photographic machine that do a photo of your dress, and made available a copy of
 it to any one as well as a machine to deploy the same dress from the photo.

Imagine a small SBC x86, Nano ITX computer consuming a few watts, with an Atom
2GB or 4GB of RAM, 4 or 8 tiny logical cores, or an i9 64GB of RAM
16 Logical cores a super powerful 2080 GPU and, or a ryzen 5 1600 and a vega56
they are totally different in resources or even possible use canvas.

Can this SBC x86 here described be the next generation OLPC costing $40,00
and be ready to be connected to a standard HDMI TV and having also Kodi inside?
A Kodi that works??  
A computer a way similar in the class and usage to Commodore home computers
which were used a long time ago, not only supporting mame and retro-computing
toys, but to be more complete, useful for many other things at the start.

Where is the Home Computer Class of computers, to connect it to TV?
It simply disappeared. While is not disappeared a strong need of them,
to be for the first requirement essentially unexpensive as a toy.

So what we do with this toy? And how much this toy is important to build the
future generations?

Then there is much work in the making of a meta-profile, and the field of
application could be unlimited, with only a few cases here shown. The Goal to
generalize the way to build, extract, process, obtain and share a non-general
meta-profile, or a set of meta-profiles is at the mission of the Soul program
for GNU.

It could be helpful not only on desktops, but also on a wide category of
machines, ranging  from embedded SBC, to high class servers.
Servers have a message of the day, a terminal profile, a bash profile, fortune
cookies with different databases, a load of missing technical documentation to
have always to have on hand, additional documentation to man page, or why not
simplified man pages for novices that include example usage,
the ones novices go out on search engines to search for every typed string
of commands...

A server can be perfectly configured for specific tasks like HTTP services,
but not the one we are used to, supposed to be as complementary, so rich preset
including CMS software or various plugins and tools. For example a super server
optimized for Joomla or Drupal websites, with all what is free and of top
quality already available locally or what is common to be used already on place
instead of only a LAMP. Maybe we get only the lamp and we should go to the the
store to acquire the rest to let it operate.

All of you know the server distribuitions, they are stripped to the essential,
And what if instead of a lamp i need a furnace or connect to ham radio packet
or be a node of a freenet or connect with Space or Scan the spectrum as the Seti
Does? Why we cannot acquire a meta-profile from seti project workstations or
servers if they allow to share it? Adapt it if we like to a washing machine?
Or more low level instruments of the currently in use at seti?

All this is easy in the words, but the goal will be not easy.
As is not easy to reach in simplicity over the complexity without to sacrifice
nothing of the target to reach, so open the path to more persons
and let them opens it to more others.

One goal will be ensure the quality of what is published as a meta-profile.
So one way to make it sustainable or auto-sustainable is to request for a minimum
of adoption and that the first set of adopters verify themself the quality and
usability of the experimental profiles, to be declared stable, verified and
secure from much sources (adopters) as possible.

Build specific repositories (replicable also elsewhere as not official)
where the highest meta-profiles gain in likes, usability, visibility get a
category, as well as users review or stars indicating the quality or the
strength in security...

This is plausible- If I share a profile, I do it with intent to help someone, a
cathegory of peoples, to please my job diffusing my art or technical skill, or
make it useful for a specific purpose. And if that is not agreeable(outside than
 me) then can retry doing it better and search for more adoption over the
experimental upload category.

Meta-profiles Use Cases

Some obvious cases that need user experience adaptability are for the users who
by force of the things are different in learning or have difficulties to read,
listen or where the world where they feel at home (in terms of using a computer)
is not the one of a mature medium aged hacker.

For example children, they need the edutainment as well as a set of games, and
specific programming tools as long as the classic one. They may look for themes
that recall their superheroes, Neo of Matrix, a skateboard background or a doll,
 have the system more customized with pink colour or chocolate, or have other
interests where they could prefer a particular theme with other preset not
ending at the theme only.

Another important class who can differ is aged persons, the difficulty they have
 to read or listen is somehow normal and general with some exception only. So
different ages have different criteria to like font sizes not only system
fonts to read icons, the terminal or menus, but for browser, to read in the
browser, system alarms & sounds, the user interface can be optimized for them.
To let them feel more comfortable.
Having said that, I do not believe there is a need of distribution for the
kitchen or for a supermarket-shelf-helper that need to be set for sure, not as a
 conventional and flat install, and that of course anyone can perform its
changes, this is also playful and we do not want to kill this that is part of
the use of a machine, but only permit the sharing of the same changes.

There should be important use cases, for example a meta-profile for
info-biologist treating molecular machines for anti-cancer therapy. Where we
find precious links in their browser, free documentation, precious selection
of software tools or libraries (even rare or not sufficiently diffused).
This may be valid for all kind of scientists, building construction engineers,
shoe designers, artists, architects, sculptors, musician, video makers that will
require among the other things such as a large set of fonts, or special one for
video, or a real-time kernel to not experience choppy audio on heavy
machine load.

A meta-profile for computers used in the various governments activities or
municipalities, highly routine jobs causing stress, stress of the vision over
the fonts, over its contrast on screen, colors may calm the mind or the opposite.
Those machines typically are a large number. They consume more power and the
costs of energy certainly play a crucial part in the annual government or
municipal budget. Such machines need a special pre-set for low-power management,
even a little change unnoticed for the user may become a large number in the
balance of the expenses with thousands machines to be available for other... a
nice picture on the wall or office plants and flowers and a worker that care
them, better restrooms or a sofa near the coffee machine.

There are aspects related to safety and security that also are important to
state. A distribution accepts any password(even if password handler suggest it
is weak), including the same login name and/or the child born date or the
marriage date. It is nice to have it, remember to us often something important,
but can a government computer exposed on internet with various services be
treated as an home computer where we can be free to do so?

Finally, I would like to give special attention to the cases where users need to
 use a computer with various disabilities, small or substantial deficiencies or
why not the opposite of deficiencies, gains, gains in art, in math, in language,
in chemistry (space is over to mention all) sometime gains arrive with some
disorder, just a trait of autism or heavy one. We cannot request to the doctors
to hire a team of hackers and make the last distribution or a new separate one
for them, but we can ask them over a fresh install to customize a machine at the
best possible condition to extract a new meta-profile, helpful for that case.

This are some cases, but the list can be somehow endless as endless are the
peoples and class in this world, in the business, healthcare, educational,
personal, home, family, recreational (and all the not included fields).

So, we need Soul, since people are not all the same and may not like the same
music or sometimes doesn't enjoy all types of music without a preparation.

Therefore, an OS, defined as fixed even at the best general compromise in
customization need a helper to make easy with a file, within a system, even a
tsunami of changes (not impacting the core & its upgradability once deployed or
changed) over its initial setup coming from some well-integrated, supported and
maintained technologies as in the GNU System and its major distribuitions.
"we must always
be permitted to share our discoveries and innovations with others, in
order to make their computing and their lives easier and
better" [1]

"With Soul, We aim to make accessible an independently growing,
easily or not (fruit of a lot of research and labor)

set of user-contributed global or local profiles

to deploy in one step or some easy steps

 system optimizations, identity,
makeup and charm to every

 installed GNU OS
 running on top of:

low-cost SBC, home computers, personal computers,
workstations, servers and pico-servers."


Soul Developers:

Sergio Sorrenti (sergio at simplemachines dot it) - Concept & Analisys

Federico Briata (federico at simplemachines dot it) - soul.onipv4.org repo and portal

Andrew Blisset (andrew at simplemachines dot it) - Integration, Implementation

George Orais (george at simplemachines dot it) - Development, Testing


The early concepts was still for years till we decided to go for development.

-- The alpha release is planned for late 2024 --


Photo Credits:

The Photo with a street of South Africa is contributed from Dr. Sara Ambrogio*,

*Pre-Natal & First Aid Childhood Surgeon that started to use his first home computer a few years back.


[1] Richard M. Stallman (RMS) - Father of GNU Project 1983-2019 -- www.gnu.org