 NeoFetch is a sure sign that you've been posting to Unix porn, or at least that's what I've kind of always thought about it. And the thing is is that a lot of people use NeoFetch. Most people don't really do anything with it. They just use the standard configuration file and go about their day. They don't think about their NeoFetch all that much. Now, if you are a Themer, you've probably thought about it more than most. And you have discovered that there is, in fact, a configuration file that you can do all sorts of things with. So today, what I wanted to do was take you through some of the stuff that NeoFetch can do inside of its configuration file and just kind of show you how extensible it really is. So let's go ahead and jump into that. But before we do, if you leave a thumbs up on this video, I'd really appreciate it. It really does help the channel. So NeoFetch looks like this. If you've ever seen a terminal on Unix porn, it probably has had NeoFetch inside it. Now, this is not the standard configuration of NeoFetch. This is my personal configuration that was created by someone on my Discord server. This is for whenever I'm doing a challenge, I can have the challenge kind of counting down inside of my terminal. It's really cool. And you can kind of see from this that it is quite extensible because the standard one looks like this. There's nothing wrong with the standard way that NeoFetch looks, but it is highly customizable. So if you are interested in changing the way that it looks, I'm going to show you some of the things that the configuration file can do. So the standard one has an ASCII art on the left-hand side and on the right-hand side, it has an output of some of your system information. So it has the operating system, the host, which is usually going to be your motherboard for some reason. And then it has the kernel, uptime packages, shell resolution, desktop environment, window manager, theme icons, terminal, CPU, GPU memory, things like that, right? And sometimes you'll find configuration files that have other things as well. So things like the currently playing song through MPD or NCMP CPP or something like that. Or things like the IP address. Now, if you're going to be using someone else's configuration file, you always want to kind of make sure that you've read the configuration file to make sure that it doesn't have information you don't want out there. So if you don't want your public IP out there, maybe you'd want to change that line. So the standard configuration file, once you've run NeoFetch for the first time, is located in .config slash NeoFetch, which is this path right here. Now, if I do an Alice here, you'll see that I actually have one called config.default. The standard configuration file is config.conf, but that is the one that I'm using for my regular NeoFetch, which looks like this, right? So I'm going to show you the default configuration file, which looks like this. Now this initial section, the print info section, is the section that determines the things that are outputted when you run NeoFetch. So each of these lines here correspond with a line in the print info section. So if you wanted to make it so that the host isn't displayed, you can delete that, or you can comment it out. So comments are with a hashtag, so just like that. If you wanted to make sure that the host wasn't displayed, you could comment it out or delete that line. Same thing if you wanted to have the window manager theme gone or the icons and themes and the terminal font, whatever. You can delete those, and it also gives you options for things that aren't there by default that you can enable. So for example, the disk section would display free space on your disk. The battery would show the free percentage or the charge percentage on your battery. The song will display the currently playing song when NeoFetch is run. It also has several other options as well. Now you can, if you wanted to, create your own items to display here, and I'll show you some of that later on once I show you my actual configuration file. But let's go ahead and jump into the rest of the config here. Each of these lines has a corresponding section below it. So for example, the kernel section right here gives you some options over how the kernel is displayed, whether it's displayed at all, whether it is shown regular or in shorthand, and things like that. Some sections are kind of light on options like the kernel, whereas things like the memory has several different options that you can configure. So how it's displayed in terms of percentage, whether you're displaying it in megabytes, kilobytes, or gigabytes, things like that. If you go to the CPU section, the CPU section has many different options for you to configure, things like how the actual CPU is displayed, whether it shows the brand, whether it shows the CPU speed, and so on and so forth. There's actually several different options here. They also allow you to show the temperature. So if you wanted to show the temperature of that particular CPU, it could do so. Same thing for the GPU. If you wanted to show the GPU information, you could do that. And there are several different options here for you to configure how that is displayed. Now what I wanted to do next was actually show you a couple of the sections that I considered the most customizable for me. Because honestly, what you're wanting to do probably is change the ASCII art. Now the ASCII art here by default is usually the logo of the distribution that you're using. And it doesn't have to be that way. So if you go down and search for back-end. Now this section here is dedicated to all the things, how it displays that image on the left-hand side. So the first part is the back-end. Now by default, it is set to ASCII. And if you are wanting to display your own custom ASCII art, you'll leave this as ASCII. But there are several other options for you to choose from. Most of them are going to be terminal specific or display ASCII art in certain different ways. The one that I'm going to show you today is going to be Kitty. But Kitty's going to work the same as W3M and Ubersug. Basically what this allows you to do is display your own image instead of an ASCII art. So I'm going to change this image back in here to Kitty. Because I'm using Kitty, it's the terminal that I'm using. If you're not using Kitty, you can use W3M which is going to do the same thing or Ubersug. Which you'd then have to install. Usually W3M is already installed. The Ubersug probably is not. There is a problem with that particular program in that it is abandoned. But there's one called Ubersug++ which is currently being developed and is available in quite a few repositories. I know it's in the OpenSUSE repositories. And you can download that. And it actually works drop-in replacement for Ubersug. So you could use that instead. So once you've changed the image back end, you go down here to Image Source. Now by default, it's set to Auto. And basically what Auto means is that it will pull in the ASCII art for the distribution that you're using. So for me, I'm going to actually change this to a path to an image. So I'm going to do like so images and then favicon.png. Like so. And now I'm going to open up a terminal. Now it still showed my own configuration file because that's what's default for me on my system. So if I wanted to run from this particular configuration file, I'll zoom in here so you can actually see, I'll run neo-fetch-config and then the path to the configuration file. So this is usual for if you want to have different configuration files for different things, right? If you have different setups for whatever, you can point neo-fetch to a specific configuration file. So in my case, it's going to be dot-config. If I can spell and config neo-fetch-config.default is the one that I wanted to show. And if you run that, you can see now that it uses my icon instead of the ASCII art. So that's how you actually go and use your own image instead of the default. And that's I think probably the customization that most people want to do. You can also have it so that if you wanted to change your own to your own ASCII art, you could do that. Like I said, you would leave the backend set to ASCII and then you would point the image source to a text file with that ASCII art inside of it. So you just create a text file, paste the ASCII art that you've created inside of it and then point image source to that particular path. And then it would show your own personal ASCII art instead of the default one. So I'm going to actually go here and I'm going to undo that and I'm going to undo that and then I'm going to show you the next thing. So by default, there are actually, I'm going to close this so that this looks a little bit better. There are actually some options for how that default ASCII art is displayed. So the probably the best example of this here is this section here. Now, by default, ASCII underscore distro is set to auto. Now, if you wanted to use some other distros ASCII art, you could do so. So if I wanted to say right now my open source is a tumbleweed, but I could change this to Ubuntu like so and then run that thing here and it would actually show the Ubuntu logo even though I'm on openSUSA. I could do that if I wanted to do that for some really weird reason. But really what this section is for is that in some cases distros have alternatives. So if you wanted to, for example, use the openSUSA small version. So by default, the ASCII art looks like this. If I change this to open SUSA, if I can spell which I can't underscore small and save this and then run this again, you can see that it actually changes to a different ASCII art. And all of these distributions right here have options for smaller versions of the ASCII art. So if you wanted to change to that small version, you'd come to this section here, do ASCII underscore distro, change it to the distro you want and then underscore small. Now obviously not all distributions have small versions, but you could create one and point it to your own file if you wanted to. The rest of the configuration file, or at least most of it, is going to be dedicated to colors. So by default, the NeoFetch will actually inherit your colors from your terminal and I find that that's usually the best way of doing things. But sometimes you want to get creative and create your own. Every single option that is displayed can be changed with the colors inside of this particular file. So you can change what the color is for the ASCII art. You can change the color for all the display output of your system. You can change the colors of the lines for the color palette as well. All of that stuff is configured right here inside of the configuration file. And then there are some options for if you are using an image. So if you are having problems where your custom image isn't showing, you can change it so that the terminal will constantly redraw it over and over again. You can also change it so that the thumbnail is in a different position, a different spot. You can change the crop mode. So this is where you change the size of the image that you put in there. And there are just a whole bunch of different options here in the configuration file. So I highly recommend if you are going to be interested in customizing your NeoFetches to hop into the default configuration file and just kind of play around. Because each section as you can see is very well commented. It tells you exactly what it does. It shows you all of the potential options that you can use for that particular option. And then a lot of times it will actually give you a link to more information if you need it. So if there's a lot more information to be had, you can click on the link and actually go get that information. If you are customizing this and you just kind of mess around, just know that if you make some changes, make backups of the configurations that you like. That way if you need to go back, you don't have to go kind of hunting for those particular options. Because the one thing that I will say about this is that the configuration file is long. Now granted, a good probably 50% of it is comments. So you could shorten that up by taking the comments out, but it's almost 900 lines long. So it does have some impediment to actually finding things if you don't know what you're looking for. So that's the default configuration file. Let me show you mine. So again, this was created by someone on my Discord server. And I'm just going to show you some of the things that NeoFetch is actually capable of beyond what's in the default configuration file. So you can set variables inside of NeoFetch. You can use let and diff to perform calculations and then display that output. So in this case, the configuration file that I'm using is displaying the time until my challenge ends and the number of days that I've been using this particular distro. So that does that. And then in the print info section, which is the same as the other one, it just displays all of that information but in a very stylized format. So it has all these lines and has the icon. So someone asked in one of my shorts is how do you put icons inside of the NeoFetch config? Well, this is how. All it does is it just uses the info, which is we saw before in the default configuration file, and then you just paste the icon that you want wherever you want it to be. So if you want it to be next to the OS, you just put the icon there. Same thing with the D window manager has an icon there, right? You can put as many icons as you want. You just go, you would put those right in this file. Now, if you wanted to find those icons, you would go to something like nerd fonts or awesome font awesome or something like that, get the icon there and paste them here. Now, your terminal does have to be using that font in order for those icons to show up. So if you're going to use a nerd font, you should use a nerd font inside of the terminal so that those icons will actually display. So another really cool thing that it can do is that if you wanted to, you can use other things like bash built-ins inside of the NeoFetch configuration file. So you can use Echo here. AUK is here, which is not a built-in. It's its own program, but you can use AUK. You can use print and all that stuff. And it just uses the variables that were set above to perform operations and display specific information. So if you wanted to use some bash script like operations, you can do so. You can even use if statements if you wanted to do such a thing. So the limitations on the NeoFetch configuration file are really up to your skill level. So if you wanted to do any of this stuff here, all this stuff was beyond me, someone else created this. But you can see that it allows you to basically do whatever you want, which is pretty cool. So the last thing that I wanted to show you was this particular project right here. It's called NeoCat. Now, NeoCat is a NeoFetch theme pack. And they have... I'm not actually sure how many that they have so far. It's like 30 or 40 different NeoFetch themes that you can choose from. So if you were to download this repository, which I have done, you can see that there are large themes and small themes. Now, basically what you want to do is before you even get into this, you want to go into your .config NeoFetch and back up your current NeoFetch configuration file. So I'm going to cpconfig.conf into config.mine so that I actually have that. Because if you run this script in the... So let's just go into the small themes here. So here are all the small themes that they have. So if you wanted to try these, you just do .slash start.sh. And it's going to ask you which one that you want. And you can just try these. So I'm going to try the, let's say, the giraffe one. So I'm going to try been 21. And then it's actually going to run that particular NeoFetch. And what it has done is it's copied that configuration file as you the output of a giraffe into the place where it goes. So in .config slash NeoFetch it copies that. So if I were to run that again and type in 13 for the truck, it would then run the thing and it will show you the truck, right? And it has, like I said, a couple dozen different configuration files. But you'll want to make sure you save your old one so that it doesn't get overwritten. Because it does not do a backup on its own. You're forced to do that backup on your own. NeoCat basically just gives you an option of some preconfigured NeoFetch configurations that you can use. So you don't have to do anything on your own. I've used this for quite a while. If you saw my videos a couple of weeks ago, I was using one with a little kitty cat. That one came from NeoCat as well. So you can use that. There are small ones. There's large ones. And there's quite a few options for you. So that is NeoFetch. And like I said, that was not a comprehensive line by line explanation over what the configuration file can do. But I've showed you some of the options that it can do. I hope that this video was interesting. If you liked it, make sure you leave a like on the video. I really do appreciate that. If you have comments on NeoFetch, you can leave those in the comment section below. I'd love to hear from you. You can follow me on Mastodon. Obviously, those links will be in the video description. You can support me on Patreon at patreon.com slash the Linuxcast. Links for PayPal and YouTube will be in the video description as well. If you want to support me there, thanks to everybody who does support me on Patreon and YouTube. You guys are all absolutely amazing. Without you, the channel just would not be anywhere near where it is right now. So I think it's a very, very much free of support. I truly do appreciate it. You guys are all absolutely awesome. Thank you so very much. Thanks everybody for watching. I'll see you next time.