 Hi, today I want to show you how to set up your developer environment. So let's use KDE official documentation because it's so useful. Let's go to KDE.org and click on get involved. Then that we can search for development and then find out more about becoming a KDE developer. Which brings us to this page, which has this one time setup, your developer environment, which is what we need. So first of all, we need to install these little tools, which are Git, CMake and Dialog. So we do apt install git, CMake and Dialog. Git is the tool used for versioning, whereas CMake is for building the application. I'm not sure what Dialog is about, honestly. Then that you configure Git, just copy paste this command and then insert your real name, which is Nikola Venorandi in this case. Do not put your nickname in here, but your actual name or at least a name with, you know, first name and last name as much as possible. Because if you only put a nickname with a single word, it will raise an error. Then your email, which in this case is Nikola at Venorandi.com. And then we just need to create a new directory called KDE. And inside of KDE, another one called source. And then go into KDE source. We are going to install here a very useful tool called KDE source build. Just copy paste this command to get it. And what this tool does is just build all of project and its dependencies for us. So super useful. Then we enter the KDE search build directory. Let me zoom in and we just write this command, which is the initial setup for KDE build. It's going to install a bunch of packages that are needed for your system. If you want to update your bash RC, this is quite useful, go for yes. And then it is done. Then copy paste the source bash RC to update the new changes that are done to your system. Perfect. Let's go on. You can decide whether to build your QT or just leave the one installed in your system. If you are using as I'm doing KDE Neon developer version, you should not need twins to actually build QT5 every time. To change this behavior, however, go with edit this file and comment out this line. If you do want QT to be built by KDE source build uncommented for your pleasure, you should also uncomment these lines. However, I do not actually need to build QT, so I'll keep them commented. Then this is a useful suggestion that was not in the wiki last time I tried this. So let's actually go to search, which is baloo and add an exception for our KDE folder not to be indexed, otherwise it will try to index every file in this folder and it's going to be a lot to do. Of course, keep in mind that by doing this, you will not be able to actually search using baloo within the KDE directory. Then we should download the non-KDE dependencies. We can see in this page with this link how to do that and it is mostly by copy pasting this giant list of packages. So sudo apt install all of this stuff. Right now I'm using KDE Neon developer edition because it's made to help you develop KDE application and frameworks, but you can actually set up your development environment in whatever distro you prefer. I do suggest KDE Neon because it's quite easy and I'm doing this tutorial based on this and it never really broke up for me, so it's a good distro for developers. When it's done, close the page with open, let's get back to get involved and then we can actually start building the software. Now in order to do so, we can just say as an example KDE Search build and then Dolphin. This will build Dolphin and all of its dependencies. However, we can actually try to build only Dolphin, not including the dependencies by installing those. So let's go to sudo apt, let me see the help one second. Okay it should be sudo apt get build depth Dolphin and this one should install all of the necessary dependencies so then we can get back to the KDE folder and start KDE Search build Dolphin and no include the dependencies because we've just installed them with apt get. This command will clone the Dolphin source, update it, run CMake and then try to compile it. This will take a while so go fetch a cup of coffee while you're waiting. If you are also building all of the dependencies, let's say five or six cups of coffee should be the time that it will take to compile the whole thing. And as you can see, we managed to successfully build Dolphin. Now to try out our freshly built Dolphin, we go inside the build directory. We give a look to the directories because I don't know them by heart and we go to system Dolphin and we write source prefix.sh. When we've done that, we just go back to the KDE directory, I mean that's not necessary but we just write Dolphin. This is our build Dolphin which means that if we go to the source code of Dolphin which is SRC and system and then Dolphin and we change something in the source code, then we can go and build it again. So as an example, let's see if there's something easy to change. We can, well I don't know, there's not much easy to change. Let's do something like we're stupid. If you go to the context menu, we should be able to change just line. So as an example, let's duplicate this add action thing and let's say that we actually want to try out what happens when we do this. We go back to the build directory of Dolphin and then we run make which will, you see, find the file we've changed and build it again. So it will be updated and when it's done, we just write Dolphin again and this is Dolphin but with our change in it, which I mean is nothing that we can actually see. If we now would like to submit what we've just done, maybe as a merge request, we can see that what we've changed is this. So we can switch to a new branch which let's say should start with work, maybe put your name and then what you've changed like double, double trash action, then add the file you have changed. So SRC Dolphin context menu, commit. So duplicated the trash action, the trash action, so it should be, well it's only one, I don't know, it's probably, I'm not sure what I've just changed, it was something very random. Yeah, anyway, and when we've committed, we just say git push origin and then the name of the branch we've just done, so work Nicolove, double trash action, yes and well we need to insert our fingerprint. So actually let's do that, we need to go to invent.kid.org, let's login, you seriously need to create a KID identity username, sorry account if you don't have one already, mine is Nicolove and this is the password, yeah. And then in my preferences I should have SSH keys, let's go with JPG I think or maybe I don't remember what, yeah I usually use SSH keys. So we need to generate a new key for this computer, so let's see this generate one tutorial, so we go with this command, this file is fine, the first phrase, let's leave it empty and then this is my random marked image and we can see that this fingerprint can be copied here, test computer, xpar set, let's go with some random date and then we add the key, this doesn't look like public, I usually want to add it, I probably got the wrong one, let's check again, this one is the public one, let's copy paste it like this, let's try again and we've got our key, so let's try back, try again to push and we did it, to create a merge request, you just hold control and then click on the link which will open it up here and then it will create our merge request, in here you explain what you've done and the reasoning behind this, so this was done for absolutely no reason and possibly you should also take a screenshot of what you've just done, so maybe go open dolphin and then right click on a file and then the meta key, the shift key and the stamp key should make a screenshot but not, you can't make a screenshot while you have a context menu, so go for rectangle region with a couple of seconds, right click and then you select this area, nice and then you drag it here, so you can type, I'm not sure what this does but here is a random screenshot and then when you're done, you just go to the bottom and click on submit merge request which I'm not going to do because I would get made fun of, so let's close this, let's close this and this one and this is pretty much it, we can also go back to the key directory and say that if you want to build Plasma, you can write Plasma frameworks, sorry Plasma desktop and Plasma workspace, this will take a while, you can also build frameworks such as Kio and this should be, yes you can also build this bunch of stuff if you want to build Plasma but I mean the most important components are those three, you can also create a new session to be your developer environment with all of the master bit stuff according to these instructions, however I didn't quite manage to get it to work in myself, so I will not show it in this video and this is pretty much it, there are some testing your changes and so on, you can also run tests and submit merge requests, communicating on team, go to KDE deval or the mailing list and so on, so I hope that thanks to this tutorial you will be able to create your developer environment and hopefully start contributing to KDE, thank you. My name is Nicola Venerandi and if you want to contribute to my channel please use PayPal, Patreon or LiberPay, you can also subscribe to get more content about KDE development.