 So about a week ago, I made a video talking about my next long-term review, which is NixOS. Now, don't worry, this is not my long-term review, but I wanted today to talk about a little bit of my experience with it after a week, simply because there are some thoughts that I have that I need to get out there, both good and bad. So this is not going to be an all, like, oh my god, Matt hates NixOS, so of course everything is negative type of thing. I have some positive things to say, I have some negative things to say, and some of these things I reserve the right to change my mind on as I learn more and as I do my long-term review and talk about it at the end, you know, a few months or whatever. So I will reserve the right to change my mind, but as of right now, I have some thoughts and I wanted to share them with you today. So before we jump into that, if you'd leave a thumbs up on this video, I'd really appreciate it, it really does help the channel. So first, I have installed NixOS on my main machine, which is where I'm recording this now, and on the laptop that is sitting prettily behind me, and I've been using it every single day, but not as my daily driver. I'm still on open sues as my daily driver where I get most of my work done, but I, when I dedicate myself to a long-term review, I try to use the thing that I'm reviewing every single day, mostly on the laptop when I'm out and about. So I've been using it for a while, I've been using it for six or seven days, and one thing I will say for sure that is really, really nice is being able to take the configuration file on here on my main machine where I set it up the first time and put it on that laptop, run one command, and it just brings over everything that I want all ready to go. That is super cool. Now, I don't know how useful that is overall simply because how often do I need to do that, but for this one time, when I was installing the same distro on two machines, being able to transfer that configuration file from one place to another was really, really nice and pretty slick. It was just a matter of one command after transferring the configuration file over and it was done. Another thing that I will say about NixOS, and I'm actually going to show you this time, is that the Wayland support on NixOS is really, really good. So I'm using Hyperland right now. Now I know what you guys are thinking, Matt, you are not a Hyperland person. You're not a Wayland person. You're, in fact, you're the opposite of a Wayland person. You talk all the time about how Wayland sucks and Wayland blows and nobody should use Wayland if they're doing XNXNX and whatever. I understand that I'm very, as much as Brody is pro Wayland, I'm anti-Wayland. Wayland, right? But I will say this for NixOS, installing Hyperland, getting it up and running was astonishingly simple. In fact, if I show you this, my configuration file, you'll actually be able to see that there's like two lines that you have to put in here. So if I can find it, so there's this line right here. And actually I believe that that's basically other than, no, there's one other one. I forgot, she also have to do the portal. So you put those two lines in there and it does Hyperland for you. That's literally all there is to it. And the really neat thing is, is as you can tell, once you install OBS through this way of installing packages, it also works for OBS. There was no environment variables to set. There was nothing strange to set. And on top of that, I still have my XFC session that I can switch back over to immediately and it just works. Now, I will say this, that I did have to change from LightDM, which is what came with the XFC version of NixOS. I had to switch to SDDM in order to actually get this to work. So there was one extra step, that's not a NixOS problem. That's just display managers being uttered garbage across the board. So that's another positive thing that I can say is that the Wayland support seems to be really, really good. Now, you have to remember I'm on an all AMD system. So AMD is like the premier partner of Wayland. I can't speak to how this works on NVIDIA. That's going to be your mileage, my various sort of things. So for me personally, the Wayland support was really good and very simple to set up. So those are the two positive things that I have to say. Now, I'm sure there is one other positive thing that I'll say is that I've had a lot of fun doing this. Now, I've been frustrated many times over the course of the last six days setting things up, figuring things out. But because I'm a nerd, I super enjoyed even those frustrating parts because I was learning new things, I was figuring things out. I was talking to friends who use NixOS and they were helping me out and I was able to get from point A to point B, even though there was some frustration there, but I had fun doing so. But I'm a nerd. And really where all this goes into a negative sphere or where I should transition to the negative stuff is that, and it's not even really negative. First, let's start off with like a middle ground here. NixOS and normally I save this opinion for the long-term review, but I'm going to say this now and I don't think my opinion is going to change, but NixOS is not for new users. And when I say new users, I'm not talking about new to Linux users because everybody knows that NixOS is not for new to Linux users. NixOS isn't even for new Linux users. People who have used Linux for quite a while but can still consider themselves noobs like me. I've been using Linux since 2017. I still consider myself a noob. You guys know if you've watched any of my videos, I'm still very much a noob and that's just kind of who I am. I would not consider out of the box NixOS to be noob friendly, no matter what your level of experience with Linux actually is. And the reason why I say that is because NixOS is, I should say NixOS has a very, very steep learning curve. And I'm talking about very steep and it's not necessarily that things are done in such a way that they're hard. It's that they're done in such a way that they're different. Like everything that you expect to do in a certain way is done differently, vast majority of things. Maybe not everything, but vast majority of things. So the example that's on my brain right now is being able to create a desktop file for an X session. So for example, when I wanted to install Qtile, I installed Qtile in the NixOS fashion. I installed packages.qtile or whatever. I installed the extras and made sure I had everything that I needed to have Qtile up and running. And then I did the NixOS rebuild switch or whatever the commands you have to do to rebuild the configuration so that it takes effect. And Qtile was installed. It did a perfectly fine install, but then I went and logged out and tried to log back into the Qtile session and it wasn't there. Well, I'm familiar with that situation. Normally when your X session isn't in the dropdown in your login manager, you have to go create the X session file in user slash share slash X sessions. Well, that file does not exist on NixOS. It doesn't exist. They do it in a different way. So you don't create an X sessions file, instead you use the configuration file to enable your newly installed window manager. So there's a line in the configuration file where you can enable the Qtile or BSPWM or whatever you want. And that allows there to be an entry inside of your display manager instead of creating an X session file. And there are many little things like this where they just do things in a completely different fashion than what you're probably used to. And that's why I say that the learning curve is really, really steep because they do so many things, not necessarily in a harder way, but in a different way. If you're used to doing things in the traditional Linuxy fashion, going to NixOS, you're gonna have some problems. And the biggest issue I have, the most negative thing I have to say about NixOS is that the documentation is utter garbage. Like it is so astonishingly bad. Now it's not necessarily the worst documentation I've ever seen. It exists. So it's like, you get a certain amount of points on the SAT by putting your name at the top or whatever. I don't even know if that's like a real thing. I didn't take the SAT, I took the ACT but that's beside the point. But that's what they say is that you get a certain amount of points on the test for putting your name on the top. NixOS gets some points for having documentation where there are a lot of projects that just don't bother with documentation at all. But beyond that, the documentation is just not good. And I think part of the problem is that there are so many different ways of doing things that there's no way that they could document them all. So that's one issue that they've come across. Also, the tone of the documentation that they do have is definitely not geared towards people who have no idea what they're doing. And some of that is that they assume prior knowledge of certain things, but also they don't give a lot of detail in every section that you'd want detail in. So for example, they have a whole section on fonts and because it's NixOS, they do fonts in a different way. You can do them in the traditional way. At least I think you can. Although I'm still having some, like I'm having some confusion when it comes to fonts because I want to put them in just the dot fonts file and then run FC cache. It seems that that works, although some of my icons still aren't showing up. So if I actually show you this, you can see I still have icons up here that are just aren't there. And I'm not sure why because I have the fonts installed. I actually have the fonts installed in both ways. So I have installed the traditional way in the dot fonts and I also have this fonts dot fonts thing here in the configuration file where it's supposed to install in their fonts and it says that it did, but still have icons that aren't showing up and I'm not sure exactly why. So they do fonts in a different way, right? And the documentation has this way of doing things, but it also has another way of doing things in which one you use is going to depend on whether or not you're on the stable branch of NixOS or on the unstable branch of NixOS. Why they're different? Nobody knows. I mean, I'm sure somebody knows and I'm sure that there are some NixOS fanboys in the comment section right now. Well, this is the reason why they're different. From a new user to Nix, I don't know why they're different. I don't care why they're different. All I know is that they are different and that was confusing AF. And I think mainly because it doesn't feel like there is a reason why it needs to be different. Like it doesn't feel that way. I'm not exactly, like I said, it was confusing. And also the fact that it still doesn't seem to be working, right? I still have icons here that aren't showing up the way that I want them to. So that's the thing. The documentation is by far, like it's my number one gripe with NixOS right now is that it's not good. It's not in depth. It feels like there's a lot of missing holes. And while it gets you from point A to point B, kind of, I found that I would have been, if I had just followed the documentation, I would have, there'd been so many areas where I just didn't know what to do. For example, the thing with the X Sessions file, right? I didn't learn that from the documentation. I learned that from a friend on Discord. They walked me through that. And I'm grateful for the help I got in Discord because if not, I wouldn't have been able to do any of that stuff because the disorganized nature of the documentation, while that stuff may be there, I didn't find it right away. And I wouldn't even have known to search for that particular problem or that particular solution to the problem, right? So it's one of the things that I can plan about on Q-Tile, like you guys know that my favorite window manager is Q-Tile, one of the things that I can plan about is that the documentation is written in a technical manner. And while that's not necessarily always a bad thing, one of the reasons why it is a bad thing for new users is that they don't necessarily know the terms you need in order to search out the solutions to their problems because the terms are technical. And if they don't know those technical terms to search for, you can't find the solution. NixOS is kind of the same way from the brief amount of time that I've used it. I'm assuming that a lot of the stuff that I need to know is kind of there, but you have to know what to search for. And if you don't know what you're doing, you have no idea what to search for. So the documentation is by far the worst thing that NixOS has going for it. Now, the last thing I want to talk about in this video real quickly is the immutability of NixOS. Now, if you ask certain people, they'll tell you that NixOS is not an immutable distro. The NixOS guys will tell you that it is an immutable distro. One thing that I will say, I don't have a bone in that fight, what I will say is that it's different, if it is an immutable distro, it's different than every other immutable distro that you ever are gonna try. And when I say that is that for one thing, there are a lot of files in the root file system that just don't exist, that exist on other immutable and even non-immutable distros. So the user share accession is just another one. In fact, if you go to the user file in root, there's only one directory in it and it's been. If you go on a traditional Linux distro, whether it's immutable or not, and you go to the slash USR directory, you're gonna find loads of stuff in there. You know, you're gonna find the path in there, you're gonna find a share file, you're gonna find some library files. None of that stuff is accessible at least on NixOS. Maybe it exists somewhere else and I just don't know yet, but in the traditional places where it's supposed to be, it's not there. So that's one big area where the NixOS differs from regular Linux distributions. And if you're accustomed to tinkering with those files, don't be, you know, don't go into NixOS expecting to be able to do that because those directories just don't exist and probably for a good reason. That's just because that's NixOS doesn't either use them or stores them somewhere else. My hypothesis right now, given the fact that I've used the Nix package manager on other distros is that NixOS does paths differently than every other Linux distribution. And when I say paths, I mean, the capital P-A-T-A-H, right, not just path small case, but like the actual path of Linux where you can have things that aren't executable or whatever, if NixOS is anything like the package manager on other distros, it changes the path to certain things. And that's the reason why some of those directories probably don't exist is because they're just in different places than what you traditionally see them. But that's just a hypothesis right now. I don't know if that's actually true. So just kind of to wrap this up real quick. My overall feeling on NixOS so far is not as negative now as it was say six days ago or even, you know, three days ago. As I use NixOS more, I like it more. I will say that I'm still mightily confused on some things and I have a long way to go. Like I haven't even gotten into Flakes. I haven't gotten into Home Manager or whatever it's called. There's certain, there's ways of creating different environments inside of a Nix shell that you can use. What I'm assuming is something like DistroBox, but I'm not sure if those are the same thing or different things or what even Nix shell or those environment inside of Nix shell are actually, I just know that they exist. I still have to look into those. So I have a long way to go to know anything about NixOS. I'm still very much scratching surface, but I wanted to make a video on it after a week simply because I had these thoughts about it. So I will no doubt talk about some of these issues later on when I do the long-term review, which will probably be sometime in 2024 at this point. I'm guessing that this is going to be quite a long-term review. I have a lot of stuff to learn. I have a lot of stuff that I need to get down and I'm taking a lot of notes and stuff. And I've already started taking B-roll and stuff. So I have some thoughts and I'm assuming that the process is going to take quite a while. So be prepared, make sure you subscribe to the channel if you are interested in watching that long-term review so that you don't miss it. If you would be so kind as to leave a thumbs up on this video, I'd really appreciate it. You can follow me on Massive Honor Odyssey. Those links will be in the video description. You can support me on Patreon at patreon.com slash Linuxcast. You can also support me by heading on over to the merch shop, which is at shop.thelinuxcast.org. There you'll find t-shirts and mugs and desks mats and sweatshirts and all sorts of stuff. If you wanna support the channel and get something really neat in return, you can head on over there and check that stuff out. So thank you so very much for doing that. Thanks everybody for watching and thanks to everybody who does support me on Patreon and YouTube, you guys are all absolutely amazing. Thank you so much for your support. I truly do appreciate it. You guys are awesome. Without you, the challenges would not be anywhere near where it is right now. So thank you so very, very much for your support. Thanks everybody for watching. I'll see ya next time.