 Vanilo S is very much a new kind of operating system or rather distro linux distro and funnily enough Mirko who is the author I knew way before this project and in fact I even interviewed him has the author one of the authors of the battles app for you know using Windows apps in linux in an easy way you might have seen that video if not go check it out so when he published this new project obviously we talked about it and I was kind of interested into using it and it sent me like an image one month before one month ago and luckily I had time to test it but finally I have some times to you know actually talk about what vanilla OS is and how it works now a lot of props to Mirko to actually for actually explaining to me how all of this worked because I'm extremely ignorant but now I can actually explain to you what he told me also it was very funny to see how he explained that he has worked on this project for quite a while now has kind of a toy project and then he announced the open beta on his Twitter without expecting that much success and instead now there are multiple articles and people reaching out and hundreds of people on the discord and now he has to you know scale up and allow other people to help him and have a structure and everything so that was actually quite a big change but it also shows the fact that there is a clear interest in a project like this so how it works oh before that yes this won't be a video with a lot of screenshots and you know applications and GUI user interfaces because you know a lot of the things here are very technical and there's nothing to show but a lot of technical information to explain so yes I could show the fact that they have a beautiful wallpaper and it's indeed beautiful and they're receiving a dark variant but that's really not the point let's try to focus on the technical side of things so let's start with saying that vanilla os is an immutable operating system similarly to fedora kinoita for kde on or silver blue for gnome other examples could be like makeintosh chrome os but those not linux kind of linux for chrome os but never mind what this means is that the operating system cannot be touched by the user except for the user space that is your home folder with your files in it obviously but also things like adc which contains some config files and also cache for you know cache everything else in theory should not be touched as touched in a immutable system as an example you have the usr folder which contains some libraries and application that in theory should not be editable by the user now the only way to actually edit the operating system in these folders that are protected from the user is through safeways as an example let's say that you're installing a kernel module that should be something rather safe because maybe you're using a dedicated drive manager or package manager that supports immutable functions these kind of things then you're only allowed to edit the root system via these safeways this is the general theory how it's actually implemented varies depending on the operating system that you're looking at now let's make a couple of examples so we can actually understand better this concept before stepping to vanilla os let's start with fedora silver blue and kinoita so fedora silver blue and kinoita uses os3 which is kind of a versioning system a bit like git if you know that but of course the developers realize that you know people still need to install their application so how do that work so they build rpm os3 which is kind of similar to dnf except that when you install a new application it creates its own branch as i said it's like git it creates its own branch and the application is installed in that branch now when you boot again the system that branch acts a bit like as a layer and is mounted on top of the root so that the operating system thinks that those things are installed within the os whereas it's actually the files are actually somewhere else entirely if anything goes wrong in this process then again by when you boot you can select to revert to the previous branch in group micro os second example there's something similar it uses btrfs as its file system and this file system has a snapshot functionality which means that whenever you install an application or you know whenever you want you create a snapshot which of course is optimized to consume not that much disk space and such and then if anything goes wrong then you can revert to the previous snapshot which obviously as you're talking in the context of root is only of root and not of your personal files in this case so these are two kinds of implementation fedora with os3 and micro s with btrfs and in both cases if anything goes wrong you can always reboot and switch back to the back to the previous snapshot or revert to branch so which one does vanilla os use and neither manila has its actually own approach but before getting into details of how vanilla os handles the mutability let me actually thank the sponsor of this video which is internx thanks to internx for actually sponsoring the video they offer secure slot storage which is not only secure but also open source it is secure because it uses end-to-end ecriptions and modern zero-knowledge protocols to make sure that all of your files and folders are actually 100% private and secure and you can always check that because they actually have all of their code on their github so you can actually go there and read all of it so why are you actually using cloud storage at all well it is great for keeping all of your personal files and photos in one place and it's a much safer option compared to storing it in your personal computer which can break down or can be easily act and obviously with cloud storage you can actually access all of your files from your phone computer and all of the other devices that you have so if you're looking for something that is ethical open source private and secure they actually have three products which are drive photos and send and whilst drive and photos actually allow you to synchronize your files and photos while throughout your devices send actually allows you to send files that are up to five gigabytes big and of course send is also just as secure and private they do have a web interface but because they are committed to actually supporting free and open source software they also have a desktop application that does not only work on Windows and Macintosh but also on Linux and you can just install it right away as a Debian package in this case it is also present in the Arch Linux hour if you're more into that and finally as an app image file so if you're interested they actually offer up to 10 gigabytes out of the box and if that's not enough they have many plans which you can actually get discounted using code NICO25 so NICCO25 my name and 25 and that actually gives you a 25% discount on all annual plans so what can I say try it out a couple of things to wrap it up if you do want to use a free account or a discount there's a link in the video description and you should use that one again link in the video description and there's actually a new release just between me filming that part of the video and me filming this video now they have released the feature of being able to share files password protected I can say it so you can just give a link around with a password so it's safer so yeah check them out anyway vanilla I was talking about vanilla s vanilla s relies on the immutable attributes of files if you add the I attribute to a file which stands again for immutable then it cannot be longer edited by anyone regardless of whether you actually have writing permissions so you add I as a property you cannot change it when you take I off as a property then of course you can get back to changing that file and vanilla s just relies on that whenever you want to turn on or off immutability vanilla s under the hood just changes the I attribute of the root file so that you can no longer edit them even if you're root and this guarantees immutability and also allows for something that neither federal kinoita silver blue micro s could allow give you which is on demand immutability sometimes you do need to edit something within the system you just turn off immutability and then when you're sure that everything went well you can turn it on again as an example say that you need to install a driver for the linux kernel as an example the nvidia package on ubuntu this vanilla s is based on ubuntu that package is really meant to work and there's not much that could go wrong so you turn off immutability you install that package you turn it on again and that's it it's really meant mostly to install kernel modules there's also another way that it could make sense to use this feature which is very interesting and this I'll actually share an anecdote about this so just a few days ago my girlfriend who uses kedinion as I suggested her to and updated to the last version of kedinion and that update broke everything now she's not a nerd she has linux because I installed linux on her machine she asked kind of so her in italy not having a functioning computer anymore because kedinion broke on the update was I was here in sweden not being able to help her in any way except by a phone calls meant that we were there at 1 am just trying to debug what happened to kedinion during the update it was not funny so how do immutable systems help here on demand immutable system especially what I can do is take vanilla s install it turn off immutability set it up exactly how I know it's going to be used whilst I'm there and then I turn on immutability I can go off to sweden without ever ever ever worrying anything going wrong she can't mess this up even if she wanted to so it is in some way a functionality that allows you to set up a system for somebody else and make sure that you developer can turn off immutability and do whatever you know it's going to work to set up that system and then turn on immutability for your actual users and users my girlfriend in this case now immutable systems usually are tied up with two different concepts which are offline updates and atomic updates so what are offline updates firstly so whenever you install an update all the packages are downloaded and a transaction with the software manager is created however it is not applied until you actually reboot the system so that the actual update does not is not applied when you're using the system at the same time this is what windows does this is what making touch does this is what everybody does at this point because it's common sense that you should not change the version that you're using whilst you're using it and this actually has caused some headaches even in the kd world sometimes you update and then you find out that half of dolphin is not even working anymore because while during the update you're using an older version of dolphin which was already loaded into RAM but then another component just got loaded and that was an updated version and that you don't talk to each other anymore and that makes sense there are two different versions making sure that you reboot and you only apply the updates when you're about make sure that nothing like that could ever happen it's a safe it's a way to make sure that you don't mess it up so what are atomic updates then and okay so you installed updates but the update is only applied if it works that is the transaction with the package manager is created it is applied at the right moment when you reboot if everything goes well the system does a check if everything goes well then you boot into your system if anything goes wrong if anything even just a single package the whole update is discarded you switch back to whatever the files were like before doing the update and you prompt the user to retry to update at a later date this makes sure that you never do an update and then end up with a broken system when you should be using your system just like you know my girlfriend four days ago at 1 a.m just saying so these three things together immutability offline updates atomic updates make sure that your sister your system is just safer from anything that could go wrong and then there's even more stuff on top of it so they have apx which is apt with an axe at the end and here there's actually a collaboration to make this from the with the distro box maintainer creator which is luca demayo and basically what this does is whenever you install an application with apx this is not applied to your root system because you know what might happen right maybe you're thinking that you're downloading steam and then your whole system gets removed because of some dependency issues pop os right you know just to avoid any linux tech tips issue what happens is that there's a container that you initialize when you start using apx and then whenever you install something that something is actually installed via apt but inside of the container and then via magic and miracle actually explained this to me as magic so it is magic the files that the application that is installed in the container is exposed to the operating system so that it is the operating system thinks that it is actually installed here like it adds a service so you can see it in your application menu just as if it was installed in your os but it's in inside a container and all the user files such as if its team is the user library as an example still live in your home directory which means that if the containers for any reason dies or maybe you you restart it you reset it you still have all the files in your home directory in your user space and if you install steam again you don't lose any of them and if anything goes terribly terribly wrong like installing steam removes your operating system then that only happened in the container and you can kill off the container start it again as if it was new nothing went wrong now at this point my notes literally says it is safe in block maiusk it refer referring to vanilla s so i guess that's really a point what else well vanilla s does have a graphical tool to install the drivers which is pretty nice it's meant for gaming according to the website but i mean the idea is that that tool should set up your drivers without you having to think about that and it also has always the latest kernel linux kernel so that's also very nice if you need this kind of things there's also an installation process which is actually being ported to a nice gtk4 toolkit that actually asks you how you want your system to be as an example you can select whether you want to use flat packs snaps are up images and depending on your choices vanilla s just sets everything up as you ask for it so these are the nice thing is but the the main point was not this the main point was the whole thing before immutability updates apx that then there's also the nice things just to wrap it up of course the first question i asked to mirko was this is coming for kd plasma too right because currently vanilla s has gnom vanilla out of the box so gnom without anything changed which means no extra theming as ubuntu usually does but so just gnom so i mean of course they are going to do a version for kd plasma too right and luckily ians worked with something like oh sure you you're going to help right and i kind of disappeared no i'm just kidding so they do want to do something like that eventually it all depends of course on the workforce that they have and as far as actually maintaining it it should be feasible but as far as making the tools importing them to qt and qmail that's a whole another story it's actually something that if i have some free time i'll try to help with but no guarantees but it's it is something they would want ideally no guarantees but you know one day you can thanks everybody for following along and see you tomorrow with another video