 When you get into things like window managers and the tools that go along with them things like Rofi and stuff like that or if you're getting into using the terminal or command line And you're starting using command line applications a lot of those applications and window managers come with things called dot files Now the reason why we call them dot files is because they usually reside in some place inside your home directory with a period at the beginning of the directory name and basically all that does is Allows your system to consider that folder hidden So when you do just a regular LS in a terminal all of your dot files are hidden away You don't actually see them even though they still exist So when you hear somebody call things dot files basically what they're talking about is the configuration files for their particular setup So for me personally, I manage my dot files in a very Manual way. It's not the most convenient or efficient way of managing dot files. However It works for me now what I thought I'd do today is to kind of walk you through how I manage my dot files And how it enables me to move from one distro to the next fairly easily So let's go ahead and jump in so all of my dot files reside in a single get repository on my computer called my repo Now everything that you see here isn't necessarily anything that I use anymore But a lot of the stuff I still do use and I like to keep the things that I use give especially if I've spent time Configuring them or ricing them or whatever So something like Xmoned I don't use it anymore But I've spent some time in it and I've done some custom work there So I've kept those dot files in case I ever decide I want to come back to it Same thing with like Herp's love WM or open box Those things are things that I don't really use anymore But I've kept the dot files and if I ever choose to return to them I still have that stuff available for me to use things like cute browser cute tile Ranger and stuff like that are things that I use all the time So basically what I can do is I can download my repository I think it's called my dots on git lab But I always rename it to my repo on my system and it gives me this directory full of all my dot files Now obviously by default these directories are fairly useless because The applications that they relate to don't actually know to look in this directory And I don't really want them to look in this directory anyways I don't need them to be configured in a way to look in this particular place I just want them to look in the default place the question then becomes how do I get say I3? To know that my configuration file resides in this directory and not in that config when I don't really want to move my I3 folder Into that config well the answer is sim links now if you've never used sim links before The idea basically is you use a command called Ellen something like this and what it will do is Create a shortcut in a particular directory. So so for example, let's just say I wanted to create a Shortcut or a sim link in this case for Herp's left WM I could do so by doing Ellen dash s and then slash home dr. M dub my repo Herp's left And then I would declare the place where I want the directory to be stored or in this case not directory But sim link and in this case I want to be till the slash.config so I Hit enter and that I'd be done now Here's what that looks like if I go into CD.config and do an Alice here You'll see now that there are some folders here that are colored a little bit differently now Your colors may be a little bit different because this just happens to match my theme But they're usually colored a little bit differently the blue ones in this case are all sim links And there's the Herp's left WM one that we just created so now I could go into Herp's left WM in my repo Like so and create a test file So just touch test dot txt like so and then if I go back over here to this one and CD into Herp's left you'd now see test dot txt right here Even though technically this directory does not reside in dot config. It's actually just a shortcut. So that's the main way I manage my dot files all of my Configuration files live in this repository right here. I make all of my changes tie three poly bar whatever right here in this directory and Those changes get passed on through to their respective shortcuts in dot config or wherever Those programs are supposed to look for their configuration files Now when I said earlier that this is the probably least efficient way of managing your your dot files that's because that's true there are several other ways that you can manage these and There are actually programs out there that will allow you to kind of automate the Management of your dot files things like yet. I'm in things like that. I don't really like those tools I like being able to have complete control over my dot files And how they're uploaded to get when they're uploaded to get how they're sent to different places and stuff like that So I want to have all that control and basically what that means is that managing them manually is the best way for me Now when I switch to another distro I can either download my repository and then do a sim link Manually one by one by one for each program that I'm going to use or I can write a script which I have done Let me show you that now this particular script is actually for arch Linux So I don't actually use this one. I'm using fedora, but when I was using arch This was a great way to get all of my setup in one place now this script is up on my Git lab. So if you want to download it, you can just know that it's not tested for anybody else This was just for me So basically all this does is it sets some variables It downloads all the stuff that I need so things like i3 gaps row fee came live things like that and then the Real part of this is that it actually downloads all of my dots changes the name just because I prefer my repo I don't know why I didn't name it my repo on git lab I just didn't and then what it does is will actually do all of those sim links for me one by one by one without me having to Do it at all, which is really nice, right? So I can just run this script. It'll download all the things that I need when I use arch It will download all my dot files It will create the sim links and then I'm pretty much set up and ready to go so that's how I manage my dot files and have a way for me to Quickly move my dot files from one distro to another. It's actually fairly simple It did require some setup on my part So I had to write that script even though I'm sure that it's not the most bash and Efficient script out there. It's just what I created and obviously the dot files themselves require some maintenance So every once in a while if I'm in a situation where I'm doing some rising which happens quite often I know you're shocked I'm creating a new theme for i3 or something like that I would do all the changes that I need to make or whatever and then I would upload all that stuff to git lab So that the next time I move to a different distro or I download a VM or whatever I have all of the most recent files that I need uploaded now. Like I said, that's a manual process That's something that I have to do and it's not going to be for everybody I know a lot of people prefer to have some of those programs that automatically do that kind of stuff for you I prefer to have the control of knowing when things are getting updated What some links are being created and so on and so forth. So this is my way of managing my dot files So I hope that kind of inspired you for your setup if that helps at all So if you have comments on this you can leave those in the comment section below You can follow me on Twitter at the Linux cast you can follow me on massive on our odyssey Those links will be in the video description You can support me on patreon at patreon.com slash the Linux cast just like all these fine people Thanks to everybody who does support me on page on YouTube. You guys are absolutely Amazing people and your support just blows me away. So thanks so very much for your support It just means the world well to the challenge would not be where it is today. So thanks so much. Thanks everybody for watching I'll see you next time