I just had this crazy idea.
Currently, we can create multiple profiles at user-level. What if we
could bring the 'guix profiles' concept to system-level?
At user-level, user can choose which profile to work on. Like that it
would be cool to select which profile to boot.
Thoughts?
For clarification, I meant these multiple system-profiles to be
different from generations.
Currently, there can be only one system-profile, under which there can
be many generations. In my idea, each multiple system-profile, will have
their own generations.
For Example,
```
System 1 (Desktop installation for generic/casual use):
Generation 1
Generation 2
...
System 2 (Minimal installation for development use):
Generation 1
Generation 2
...
System 3 (Base installation for home-server use):
Generation 1
Generation 2
...
```
If a user wants to casually watch multimedia or browse the web or edit
some documents, the user can choose the system-profile 'System 1'. There
will be desktop-environment and system-services for generic/casual use.
If a user wants to do development work, the user can choose the
system-profile 'System 2'. There will be minimal window-managers and
system-services for development use.
If a user is going to travel and want to run the machine as home-server,
so that it can be accessed/used remotely, the user can choose the
system-profile 'System 3'. There will be base packages and specific
system-services like SSH, NFS etc.
Another Example,
```
System 1 (GNU/Linux-Libre):
Generation 1
Generation 2
...
System 2 (GNU/Hurd):
Generation 1
Generation 2
...
System 3 (GNU/HyperbolaBSD):
Generation 1
Generation 2
...
```