I'm here to present already E. Just as a small outline. Since I'm not the main
already developer but just a contributor. I'm just going to detail why I chose already as a daily driver
and I'll present already and I'll have with builds upon the new geeks and talk a bit about
this future. As probably many of you have also done, I switched from Windows to a new boot to
base distribution some 10 years ago. I learned some valuable lessons that first is great.
Minimism and efficiency is great. Removing proprietary reuse is possible. And so when I started
a few years ago to do some series of to our development, I also learned some other valuable lessons
about the unique philosophy, how it works, how basically programs interact with each other.
Also, I learned that's quite crafting your systems and optimizing them. It's quite a fun task.
Also, I learned that it can be take use. So I had some struggles. I had to change computers like
three times in two years and I just learned that each time we change, you have to do things
over and over again. So at some point I saw the flows of these lessons. The unique philosophy
is great but it also forgets a lot about transaction costs which you have between the different
apps you use and you have to like your problem. When you have to optimize everything,
you do a lot of work, just making apps talking properly to each other. As I said, life and loss happens.
And it is still used but it doesn't have to be like I had some examples in the
Inactical system that should be that configuring your system doesn't have to be that hard.
And so that's why I choose new weeks and then I already need to as a daily driver as a
system because new guy helps for translation costs. Basically, you have one language to extend
everything and then you become more and more familiar with the language and better and there.
So life and loss happens. My answer was I need reproducibility. That's why I chose skis.
And for the complexity of managing your configuration, that's where I chose already as a framework,
as a distribution. Just about RDE itself, maybe I just have to point some things about
geeks before to be able to present properly already. So it's a developer and power user friendly
geeks. Sorry, the next distribution is building upon geeks and it's tools. So the guy,
LAPI, the demon geeks system and geeks home. Maybe just to know how I have to present geeks.
How much of you do you know geeks as a package manager? Geeks has system, geeks system and geeks home.
So just geeks system itself is basically what allows you to configure your system
reproducibly and declaratively in a configuration file.
And so it's basically all configuration you would have done as a route in a non-functional
Linux distribution and geeks home is the same thing but for the users for the management of the
dot files and basically all services you would use as the user.
RDE itself can be compared to what space maps or do in x are to in x but to do in Linux.
Space, space maps uses layers and do in x use models to basically have a handy way to configure
a system. RDE uses features for that. So features are blocks of configuration that provides
certain functionality for a user such as setting up your in-magn, dpg, etc.
And the tooling we rely on are doing from green geeks just like space maps uses use package and
do in x are uses stray.pl. The distribution itself has a few principles
that can be summarized as mini-magnist and same. One of them is it has to be ergonomics.
So we have safety, you can buy the things, you can contrast reasonable fonts by default. It has to
be lightweight so battery efficiency we use first in native way name apps. It has to work offline
to enable most workflows to work without an network. It has to be attention friendly so we
have minimal use of modifications and in terms it has also to be to comply with standards.
So we have a policy to aggressively comply with the xdg based there's specification
when it's possible for the applications we provide as features. That gives us a
based on this principle a few tools. It will not go over each one of them but basically
has a package manager and service manager it will build tools of geeks so you can use your
per living units. For the window manager it's way the terminal it's either adequate
of food to both are well supported by RDE and most of the things you would do in daily life
as a daily driver are from e-mags. How does it looks? It's quite minimalistic as you can see.
It's not a thing you would put on a unique spawn and have a lot of sugar and very pretty things
but it's actually quite useful so it has a good contrast and everything. So as a daily driver
I can confirm that it works well. Another very important principle is that we have to be reproducible
and as the place as possible. So we are building a new geeks or any setup or configuration
can be easily replicated because we use the rollback tools that new geeks provide.
And so if you break any configuration you can roll back to the back in time if you want
and that's a huge guarantee for further system crafting if you want to be more minimal if you want to
explore the limits of your system for the reproducibility and rollback is perfect. We have tools to make
state so the director is explicit and simple or temporary. We're still working on it but there are
already useful tools for that. Basically the logic is to help yourself avoid losing your data
if you choose that has this goal that has this goal or he itself tries to be very
likable. We use new geeks and these APIs. We do not have any information on extensibility so it's easy
to throw out modify or extend any part of the setup you want. It is opinionated but as
based in existence as doony mixes you can't provide very simple way for you to configure your
system and not be opinionated but it is composable and flexible enough to allow various language
development, science, etc. So basically most of what you can think about and feel as long as
it stays in the first steps where LDE is able to have a compressed feature around that. Now just to
enter a bit in order to just explain a bit how it works. The user provides a list of feature or
features that have options. So it's a very simple list maybe I can try to show you very quickly.
Well I will when you question the right. So basically the user provides a list of features
and the goal of the configuration the goal of RE is to be able to provide a proper profile for
each system and for geeks own and then to have a lifting of the reproducibility the profiles and everything
is done by geeks system and by geeks own. The configuration itself does a few things.
The features will calculate values, will provide values that are able to use by other features
and that's why we can do very easy course configuration between the features because
one feature can say to other features page I'm here. You can conditionally depend on me
for some blocks of configuration and that's very convenient. Based on that you just see that
a feature itself is actually quite easy to understand what we will put in it. So basically we have to
take the features and their options we do some type checking on the options. In the end we return
values, values themselves are used in a geeks system, services system geter and in a home system
geter and then based on that RE they both to provide both to profiles and everything works well
and based on this once you understand this it's actually quite easy to write your own features
and this is not an exhaustive list of features. I do not have the time to go through them
directly but we have a very neat email features also when those management features programming
features and everything about the next two. Just I said press configuration is very
is a value added to me above geeks that already provide. So basically enable us to understand
to answer to this question very simply what if I want a piece of config in software error if and
only if software be is present to me but maybe that's not true. It's very difficult to do this
kind of in new bits and it's very simple to do that in RDE. Another value added is to have
serializers to define services more easily. So we have some serializers to
basically you define your config in a new guide then the serializers pass it to CSS or JSON or
list depending on the on what the configuration of the app expect and based on that we can
we can define this or own system services in a more flexible way than what is done in weeks
today. Just a word about all these future it's quite major and it has been usable for years
there are a lot of work in progress not to go around all that but it has a good dynamic
along with the whole guide ecosystem actually friendly community and liking geeks every user
benefit from contributions from other contributors. If you want to support the project there is
an open collective page and as I said it's a small but very welcoming community we will be happy
with Andrew to also help you get along with the system if you're interested so don't hesitate to get
in touch and I'm done. I'm happy to take questions.
Thank you it's a geeks world right? Yeah and the project leader is the amazing and
re-troping. Yes. And if you have please have questions the day if you can set up if you want
and then also it's going to be a messy because we're back to back but please try to squeeze in
go ahead. How easy is it to set up a party in a family environment like a VR more like a
a family or shell or something just try it out? There is a make script in the main repo that
she has a VM or VM something object and based on that you can actually just
try it yourself. It does it with a minimal configuration but it is enough to just try it.
Sorry.
Any more questions? Any more questions?
How have to do changes in the geeks break? Are you going to take care of your questions?
The question was how often does changes in geeks break already? Not that often I would say
something like one every two months something like that but it's usually quickly fixed because
I have the geeks often and all year often and once it's once it breaks I fix it basically.
Other questions?
Yeah. So, already was actually was actually originally the home of geeks home
of the geeks home project and as I presented the difficulty with upstreaming already it
to geeks is that it is updated and it makes choices that I think would be hard to merge in
geeks upstream. So, as I said we have friendly relation we probably contribute to geeks
or Andrew like me but I'm not sure it's doable. I think the part where we
upstream the most most of what was doable was when geeks were merged in geeks.
Thank you Niklas.