NixOS Has One BIG Problem

Поделиться
HTML-код
  • Опубликовано: 23 дек 2024

Комментарии • 315

  • @TheLinuxCast
    @TheLinuxCast  Год назад +11

    Check out The Linux Cast Merch! shop.thelinuxcast.org

  • @MichaelWilliams-lr4mb
    @MichaelWilliams-lr4mb Год назад +313

    As a NixOS user, I agree on the documentation.
    I've found videos people have made on RUclips about NixOS more useful than the official documentation. Also, I've run into good stuff on Reddit that has helped. I think most, if not all, NixOS users will agree the documentation needs a lot of improvement.

    • @chloe-sunshine7
      @chloe-sunshine7 Год назад

      I ended up finding a repository full of people's configuration.nix files. Then I read through a few of those until I found out how to set it up properly. Not sure if that'll help anyone, but it worked for a couple of my issues.

    • @CrazyMineCuber
      @CrazyMineCuber Год назад +20

      They are also actively working on it. They have created an official documentation team, but it will take a few years to get the documentation in a good state unfortunately.

    • @alfinyusrinnaja7094
      @alfinyusrinnaja7094 Год назад +12

      How can we help them with the documentation?

    • @YvanDaSilva
      @YvanDaSilva Год назад

      ​@@CrazyMineCuber The problem with this is the past as things change.
      We have many changing parts.
      nix doesn't encourage clean interfaces, so today you have do bla.hyperland = enabled and tomorrow it's going to be foo.des.hyperland.ui = enable or something alike.
      deprecation notices are good though, so we know we should update nix based on those notices.
      nixos is also weird, in the sense that it doesn't use flakes by default. Means if you have discovered nix through nix develop for some projects you will find nixos very weird.
      TLDR: we have a lot to work on in regards to UX,

    • @A_G420
      @A_G420 Год назад

      yes@@alfinyusrinnaja7094

  • @enkiimuto1041
    @enkiimuto1041 Год назад +354

    Nix config might be a "eh it is okay" for regular desktop usage but for IT managing desktops or any dev work with multiple servers is just magic.

    • @danieldover3745
      @danieldover3745 Год назад +39

      Yeah, everything I see about NixOS says it's a weird choice as a daily driver for personal desktops. It seems like a great enterprise OS

    • @cry0xen
      @cry0xen Год назад +3

      ​@@danieldover3745 Agreed

    • @SteinGauslaaStrindhaug
      @SteinGauslaaStrindhaug Год назад +21

      I only have it on my old work laptop to play with (using Mac for work because it's mandatory at the new job) so I haven't played around more than maybe 40 hours in total), but it already feels like it's a great fit for developers like me: I have very particular preferences about how my system works, and I enjoy a little tinkering; but once I have a setup I like I would like it to stay working and be easily replicated on a new machine and I absolutely hate when system updates break my tinkering which will never be a permanent problem with NixOS.
      On my main machine I've now tweaked MacOS as much as possible to approximate Qtile (slow as heck and very limited but it almost works) but I know it probably will break again on the next Mac update...

    • @ibm450
      @ibm450 Год назад +13

      I use it as a daily driver and the reproducibility aspect of it is not entirely true as each machine definitely has different hardware configurations. U can dissect the configuration and that possibly become reproducible but other then that no... I have it set up on 4 different laptops and what works on one fails on the other. 2 work well under x11 and the other 2 fail to become responsive after a rebuild unless I switch to wayland even though the configs are identical. Perhaps different chipsets work better under x11 opposed to wayland.

    • @lunlunnnnn
      @lunlunnnnn Год назад +11

      I like it as my desktop OS, but yeah, servers are one of the places where it really shines. For example, on my jellyfin server, I have a plugin that requires a patched webui. On other distros, you need to jankily replace the webui files, but on nixos, you can just change the jellyfin-web package to apply the patch to the source code. And it just handles building the package automatically, no need to do anything manually

  • @Gaivs
    @Gaivs Год назад +157

    I love when the documentation is: "For more options, look at the nix file" and then you need a PhD in functional programming languages to understand the nix file. Don't get me wrong, I love using NixOS, and I'm at a level where I can write basic nix files, flakes etc., but man do you get a lot of boilerplate in some of these files that make it a mess to understand.

    • @hopelessdecoy
      @hopelessdecoy Год назад +3

      We need a good wrapper API for nix config, you could call it Panix lol
      Then just have a basic config file to get Panix installed and then that reads an easy to make Json file to install everything else.

    • @DaKingof
      @DaKingof Год назад +15

      As a NixOS user you are pretty much expceted to have a basic understanding of programming. They will even say it in the official Element chat.

    • @sharkuel
      @sharkuel Год назад +31

      @@DaKingof that shouldn't excuse the lacklustre documentation. I am with Matt and Gaivs on this one.

    • @toastielad4760
      @toastielad4760 9 месяцев назад

      I think once you get the idea of sets, everything else works pretty great. At a base level it is very similar to JSON syntax with some bonuses from what I’ve understood. Love using NixOS as my daily driver. Imo, if the Nix syntax is really difficult even after some time, it’s probably not for you

    • @Rama-q6c2g
      @Rama-q6c2g 2 месяца назад

      @sharkuel Yeh, the official documentation feels a bit rough, since there are different ways to do things depending on if you are using home manager and/or flakes. I'm just learning now and enjoying it quite a lot, but I do wish there was a more standard file system hierarchy/structure to follow that cleared everything up. I get that it's meant to be super customisable, and that's great, but an officially condoned starting point for a desktop user with home manager and flakes would be great, along with examples of how to add stuff etc. That said, there are youtube videos and dotfiles you can look at that do that.

  • @MichaelWilliams-lr4mb
    @MichaelWilliams-lr4mb Год назад +74

    The paths are different because everything you install is isolated.
    Oh, if you do any bash scripting, make sure you use the shebang
    #!/usr/bin/env bash
    because bash doesn't exist at /bin/bash
    Anyway, kudos to you for looking at this. Yes, the process will take a while. I'm still learning NixOS myself.

    • @TheLinuxCast
      @TheLinuxCast  Год назад +12

      Yeah, found that out.

    • @ibm450
      @ibm450 Год назад +8

      You forgot to add services = {
      envfs = {
      enable = true;
      };
      };

    • @ibm450
      @ibm450 Год назад +5

      Then your bash environment or normal shebang will work there after

    • @MichaelWilliams-lr4mb
      @MichaelWilliams-lr4mb Год назад +4

      Ok, I posted a link to a tutorial but it was flagged as spam. It was about using nix-shell in the shebang rather than bash, and then declaring the dependencies.
      You're script can then download the dependencies in an isolated environment for your script.
      And it doesn't just work with bash scripting but other languages, too.

    • @felixjohnson3874
      @felixjohnson3874 8 месяцев назад +3

      ​@@ibm450I'm really interested in Nix and keen on learning it, but god I wish there was somewhere to find these sorta tricks other than random 2nd layer youtube comments

  • @berndborte8214
    @berndborte8214 Год назад +75

    I totally get the "NixOS does everything different" criticism. It drastically increases the learning curve and the spotty documentation really doesn't help. But the approach of allowing for declarative reproducibility kinda requires this. It's a really unique distribution with unique takes and solutions for unique problems. For me, this was a game changer, even though I still have some work ahead to fully reap the benefits. It's also the first distro where I'll gladly just auto-update.

    • @orbatos
      @orbatos Год назад +6

      This is true, but what it really means is there needs to be a distribution of nixos with sane defaults. Doing all of this by hand is fun for kids, but unreasonable for nearly everyone else due to time constraints alone.

    • @berndborte8214
      @berndborte8214 Год назад

      @@orbatos I'm unsure about that. NixOS already comes with pretty sane defaults for almost everything. You can get pretty far with the automatically generated hardware-config, enabling some services and isntalling some packages.
      Git is also already great way to share NixOS-configs. More defaults aren't addressing the actual issue.
      I'd argue, that starting with a large pre-configured configuration-file makes it harder to learn, because you have to consume more information at once.
      But that's also fine. Nix doesn't have to be useful for everyone.

    • @davidak_de
      @davidak_de Год назад

      @@orbatosthere is Snowflake OS. The sane default is having GNOME desktop and GUI for configuration management and package management. But it's not ready and developed by one guy. You can achieve the same on NixOS. NixOS is not a distro for you if you don't have the time to learn how to use it. I guess get a Mac then. Every other distro is even more complicated because you have to edit random configuration files in many different formats.

    • @orbatos
      @orbatos Год назад +5

      @@davidak_de No, most supported distros haver been easy to use for a very long time, what in some ways easier than Windows. OSX isn't developed for business use, and in enterprise environments it's horrible to manage.

  • @asdfghyter
    @asdfghyter Год назад +22

    7:25 yeah, in general, if you want to install anything that would typically require configuration it’s worth searching the config options docs for the thing and see if there’s an option for it. it’s often easier than the traditional way to do it, since it’s usually just a single line
    `whatever.thing.enable = true;`
    and that will both install and set all the necessary config for you. but yes, it can be annoying to not be able to do things in the way you’re used to

  • @blarghblargh
    @blarghblargh Год назад +11

    I really appreciate that you spend time to actually fully investigate something and let it take as long as it's going to take, instead of taking a fixed amount of time and calling it done, with the expectation that others are only going to spend that long.

  • @benjy288
    @benjy288 Год назад +8

    I agree the biggest problem with nixos is the lack of documentation, it took me ages to figure out how to make a custom xsession for lxqt that didn't install openbox, it took a bunch of googling and experimentation, but on the plus side is if you screw up then you can just reboot into the previous working system, just keep a back up of your working config file, you can even save config files for certain setups, like a config file for lxqt, or kde, or a specific window manager, I also installed it on my mothers laptop because I know I can upgrade it without fear of a breakage resulting in trouble shooting or a reinstall, plus you don't need to use btrfs to have that feature.

  • @SpaceEndeavour
    @SpaceEndeavour Год назад +26

    The unstable branch of NixOS is a rolling release like Arch Linux and receives packages first and has a greater potential to break. The stable release has releases with security updates every 6 months, kinda like the interim releases of Ubuntu. If you want, you can set up your system to pull specific packages from unstable. I personally have my system pull most packages from stable while having a few select packages, like Hyprland, from unstable.

    • @viniciusmelquiades
      @viniciusmelquiades Год назад +1

      One of the things I plan to do is build my system from the stable channel, but pull some packages like vscode, node, Flutter, etc, from the unstable branch. No idea if that will work

    • @escapetherace1943
      @escapetherace1943 9 месяцев назад +2

      how do you do that?

    • @nguyennguyenkhang5800
      @nguyennguyenkhang5800 9 месяцев назад

      ​@@escapetherace1943 You just do it I think you can try to have add an overlay though then choose specific packages. Don't ask much about how I do it it because I also on journey learning Nix for 2 month 😂

    • @C4CH3S
      @C4CH3S 9 месяцев назад +2

      ​@@escapetherace1943flake inputs

  • @magnusphilosophus506
    @magnusphilosophus506 8 месяцев назад +4

    While I like declarative approach NixOS has applied, its challenging to understand what options do I even have, I've been stuck in this modify configuration, rebuild, reboot loop for a week already and I plan to switch to it completely (I use arch btw)

  • @viniciusmelquiades
    @viniciusmelquiades Год назад +6

    I'm a new user of NixOS, and I agree with you on a lot of things.
    Documentation is terrible, but I had friends and other YT videos teach me the basics. I'm also a noob with Linux in general, and don't understand most config files, which is what I think made NixOS much better for me, since I only needed to learn one config language, but it also forced me to understand how some things work for me to set it up the way I want to. And I kind of learned to use the search website to find the config I want.
    For the fonts, I don't know what to tell you, they seem to work for me (Fira code with nerd fonts, if I'm not mistaken). I can take a look at my config if you want to.
    I'm looking forward for your review (even though this is the first video I saw from you), and I hope I get to learn something

    • @nguyennguyenkhang5800
      @nguyennguyenkhang5800 8 месяцев назад

      I like nix but it seem like I have in love-hate relationship with it. The barrier seem to appear to me more when I want to do more than just doing daily driver like package my own packages, try to understand how to write module or a lot of things. I really want to give up a lot but seriously somehow I manage to daily driver it. I really hate NixOS but somehow like the idea of it.
      You know nixos community is friendly but it is just they don't always will help you everytime and people will just care about whatever caught their attention. And most of my questions are always ignore and I tend to solve it alone by myself.

  • @aldosierra8131
    @aldosierra8131 Год назад +7

    Check in the font cheat sheet if the icon you're trying to use is still there, because nerd font remove a lot of icons

    • @angeldude101
      @angeldude101 Год назад

      I thought they just moved them since they were using codepoints that weren't in the Private User Areas, so they ended up conflicting with official codepoints when they got officially allocated by Unicode.

  • @thingsiplay
    @thingsiplay Год назад +14

    One of the things I would love to do is using the Nix config file from my main machine, to create a Virtual Machine and experiment stuff with it. This could be cool for developers. Also the ability to have different config files with different desktop environments is very nice too. I'm intrigued by the Nix concept and will dive into it in the future.

    • @affieuk
      @affieuk Год назад +4

      I have only recently installed NixOS, currently haven’t put aside time to learn it yet.
      However there is a tool or utility, sorry can’t remember what exactly, where it will instantly create a VM based on your configuration and it simply mounts the nix store on your machine. Meaning it creates a vm in seconds that is exactly what your actual machine is.

    • @angeldude101
      @angeldude101 Год назад +9

      `nixos-rebuild build-vm` and `nixos-rebuild build-vm-with-bootloader`
      Uses QEMU and even provides an executable script to instantly start the VM.

    • @viniciusmelquiades
      @viniciusmelquiades Год назад +3

      I knew you could build docker images from your own NixOS derivation/package, or build an iso with your configuration, but I never know you could build a ready to use VM. I shouldn't be surprised though

    • @affieuk
      @affieuk Год назад

      @@angeldude101 Thank you, this is what I was referring to.

  • @jeffrodrequez
    @jeffrodrequez Год назад +7

    Arch+Hyprland (mostly) user for the last 5 months or so, but I've been considering diving into NixOS. Life has been a bit too busy and I knew going in that I would need to allocate a LOT of time to figure it all out, though and this just kind of confirmed that for me. Be interesting to watch your journey. Thank you for sharing!

    • @dj_e8
      @dj_e8 Год назад +2

      Exactly same situation and I think I'll switch tomorrow. Seems like One Configuration File to rule them all would be perfect for base installation. Then just virtualize other needed OS like windows10 with GPU passthrough so one can use Touchdesigner and Traktor dj software.

    • @jeffrodrequez
      @jeffrodrequez Год назад

      @@dj_e8 I did give it a go but it didn't work out for me. There were too many applications that I use daily that I couldn't find in the nixos os software "store" and couldn't figure out how to go outside of that to find what I needed. Bottom line is I missed the AUR - I'm sure there was a way to find what I needed but that led to the other issue which was trying to find answers to specific things like that. Just couldn't do it. Spend about two days messing with it before for frustrated and bailed back to Arch. May try it again at some point but for now at least I scratcythat itch and am good. Good luck to you!

    • @Nyksan
      @Nyksan 5 месяцев назад

      Are you still on arch or nixos

  • @83RhalataShera
    @83RhalataShera Год назад +3

    I completely agree on the documentation point. If the distro wants to be taken seriously it can't rely on people hunting down RUclips videos for documentation.

  • @anonymouscommentator
    @anonymouscommentator Год назад +6

    this was interesting to see, thank you very much! ) agree that you have to re-learn a lot of habits when switching to NixOS, but I think we often forget that people coming from windows to even a beginner linux distro will probably have a way harder learning curve. We are quick to say that the transition to linux is easy while we ourselves find us somewhat struggeling when switching to exotic distros like NixOS.

    • @RichardFeynman2282
      @RichardFeynman2282 Год назад +1

      As someone who switched from windows to arch without any linux experience, I do feel like people overexaggerate the learning curve of it. The documentation of arch is really well written, so as long as you're willing to troubleshoot some stuff it's not a big learning curve, just a shift in thinking.

    • @anonymouscommentator
      @anonymouscommentator Год назад +1

      @@RichardFeynman2282 news flash but the average person does not want to spend their time reading the manual and playing tech support for their computer

    • @toastielad4760
      @toastielad4760 9 месяцев назад

      Its true! This system is so different but does wonders in another way. I have found the documentation is only difficult for the people here because they don’t normally work with a product like this. It seems bad because you aren’t the intended audience imo.

  • @JAXi9321
    @JAXi9321 2 месяца назад

    I really fw ur style. I'm so glad I found ur channel. Been brainstorming NixOS for a couple of weeks now toying around with flakes n multiple systems. Getting that same kinda "kid like" joy/happiness out of it as I did with Arch when I first started using it ages ago.
    Not sure if I'll stay with Nix. I haven't distro hopped since 2014-2015ish. Arch just has everything. NixOS on the other hand, has some things while has a lot of drawbacks being NixOS. I just fw the impermanency stuff n the idea of local pkg store / linking.

  • @DaKingof
    @DaKingof Год назад +14

    nix-shell is just a temp environment that has acess to the rest of your system. Programmers use it to create an environment where they can have all of their goodies set up that the system itself is not aware of. This means you can have all of your dependencies and PATHs set up in a specific way for that specific directory you are working in. It's a dream for re-creating programming environments on multiple machines or to share between friends/colleagues. You can also install programs inside of it for testing. Once the shell is closed the program disapears like it was never installed in the first place.

    • @zweitekonto9654
      @zweitekonto9654 11 месяцев назад +1

      Thats the thing about nixos which gets me turned on everytime. Unfortunately i just don't have the time right now to dive into nixos. Maybe sometime in future.

  • @imperativeemarketing5546
    @imperativeemarketing5546 10 месяцев назад +1

    For some reason I've watched your videos before. I think they were about LMDE 6 or Debian 12 and they were interesting enough for me to watch the whole thing. I've been hearing and watched vids about NixOS and you'rs popped up in the sidebar, so I watched the whole thing because I found it interesting so I liked your video. I don't have a lot of time to learn NixOS, but I'm wanting to. I see it's good to have probly more than 100GB for the "/" root partition, so I'll probly want to purchase another NVME M.2 drive for my desktop so I can play with NixOS. Thanks for the video. Great Job. You answered some of my prevalent questions. I'll be looking for your NixOS 6 month review, and I'll probly toss you a few bones of Patreon. Thanks

    • @ReaKtionary
      @ReaKtionary 9 месяцев назад +1

      For what it's worth, I'm running NixOS on a TB nvme desktop, sure. But also off a 64 gb sd card for portable personal stuff and disk recovery tools for work. And _ALSO_ on an old Acer Chromebook with 2 gigs of RAM and a 16gb emmc. With Firefox, Thunderbird, lxqt, and some small editors like vim and Kate to still get things done. Works fine for RUclips, too. So you don't _need_ a lot of space to play around with it. It actually uses less disk space than the arch it replaced. (But that was a few years old and got a little funky when I removed too many "orphans".

  • @keilmillerjr9701
    @keilmillerjr9701 Год назад +2

    Excellent video. Thank you. Im an arch linux user. I like the concept of a configuration file for packages and settings. However, I am not thrilled about the isolation of packages & dependancies. Nix does not use the Heiarchy Filesystem Standard. That blows my mind. Would the application i created be able to install via a normal makefile? I will have to try it in a vm. I expect it being different will yield to fustration.

  • @MrDowntemp0
    @MrDowntemp0 Год назад +5

    Where can I find that wallpaper? I like it!

    • @telliott
      @telliott Год назад +1

      We need a link to that wallpaper.

  • @omidbarza
    @omidbarza Год назад +7

    I belive it's
    fonts.fonts = with pkgs; [
    nerdfonts
    ];
    The 'pkgs' is your source namespace so you dont need to repeat it when define 'with pkgs;' as entry argument.
    Or if you wanna define source for each package independently it would be like this:
    fonts.fonts = [
    pkgs.nerdfonts
    ];
    Note: as of Nixos unstable > 23.05 it changed to 'fonts.packages = ...'

    • @DaKingof
      @DaKingof Год назад +3

      The same goes for his system apps configuration. All of those ```pkgs.``` don't need to be there.

  • @Saast
    @Saast Год назад +3

    I've started linux with arch and switched after 2-3 weeks to nixos. I love its and my OCD is loving it :D
    Im a Noob but ive learning so much with nixos and if u just play till u get a nice flake config, in my opinion u cant say noob to your self anymore xDD

  • @Jeffsa12
    @Jeffsa12 Год назад +11

    I tried Nix and found myself not liking it at all. It feels like a Linux distro put together by someone who has never used Linux, but knows programming, then they don't share the documentation that is absolutely mandatory because it's just so unusual. I gave up within a few hours, so good on you for sticking with it for a week. I've literally installed every CLI distro out there, and they are all similar except Nix. I just couldn't justify the departure from normal. If I wanted to learn a new programming language to use a Linux distro, I'd focus on C and stay on Arch....

    • @angeldude101
      @angeldude101 Год назад +4

      For me, all the other distros being similar is what makes them feel redundant. So many distros just feel like the same distro with different coats of paint and different people deciding what gets to be included. NixOS being the only one that actually feels different makes it the only one that feels worth my attention.

    • @atagen2186
      @atagen2186 Год назад +2

      the mother of all skill issues

  • @AliAlmahdi
    @AliAlmahdi Год назад +4

    Nix doesn't follow FHS like all other distros, if you would like to have conversation and discuss how to do things, I'll be happy to discuss it with you. I've been using NixOS as my daily driver for quite few years now.

  • @Nightrapture
    @Nightrapture 4 месяца назад

    I totally agree with you. I loved using Nixos but atm I'm still using an arch distro, because the documentation of Nixos doesn't get me where I need in any decently "quick" and comprehensive way. There are more cases where I can't find any way to do some things. But i see in the last year the distro went up a lot in popularity and now there are far more video tutorials and documentations about some in depth things, flakes and so on. Probably in a couple of years this distro will become one of the mainstream distros for some applications. To me for example I see I would use it more on a laptop use case, than a desktop, even to reproduce the setup in newer laptops over the years.

  • @yramagicman675
    @yramagicman675 Год назад +3

    Your hypothesis about `$PATH` is correct! Most of the binaries are strange directories off of (slash) run
    Skip flakes. They're on the edge of what's documented and most of the examples are from people who have very mature flakes, and thus are very opaque and nearly inscrutable.
    Home manager is also mostly optional. It does really cool things and allows you to install software without being root. It also will create and/or symlink your dotfiles for you, but it does so in a different way, and if you're not prepared, it really throws you off.

    • @nguyennguyenkhang5800
      @nguyennguyenkhang5800 8 месяцев назад +1

      Where can I find documentation learb more about packaging?

    • @yramagicman675
      @yramagicman675 8 месяцев назад

      @@nguyennguyenkhang5800 I'd ask the nixos subreddit. The documentation for that I know of for part of nixos makes some generous assumptions about what knowledge you already have regarding the nix language.

  • @yrochniak
    @yrochniak Месяц назад

    What wallpaper do you use in this video?

  • @novadeathstar9961
    @novadeathstar9961 5 месяцев назад

    I wanted to start with NixOS, which I know is a bad idea, but I loved how the package manager worked, got stuck trying to understand the default.nix file and couldn't find documentation that put it easily, only finding it after I switch to a new distro. All that stopping me from switching to it is the documentation.

  • @Ryan-ff2db
    @Ryan-ff2db 11 месяцев назад

    "It's not that it's necessarily difficult, it's just that it's different" - You hit the nail on the head, I think that's probably the best summary of NIXOS.

  • @cebruthius
    @cebruthius 10 месяцев назад

    3:18 You can DRY the pkgs repetition with the "with" keyword in nix lang

  • @alenasenie6928
    @alenasenie6928 5 месяцев назад

    Before seeing the video, documentation and recently updates in the unstable version that are not reflected in the documentation

  • @twb0109
    @twb0109 10 месяцев назад +1

    fonts.fonts = with pkgs; []; is the old way to add fonts, they updated the name of the option to fonts.packages on unstable, that's why it's fonts.packages on unstable and fonts.fonts on older releases, it's just matter of changing the name of the options.

  • @BeOnlyChaos
    @BeOnlyChaos Год назад +1

    It's important to understand what nixos is trying to achieve, then it makes a lot more sense why they do things different.
    The reason they don't usually the standard paths (aka FHS) is that nix packages should not interfere with each other and use only the dependencies they require. If they did use the standard location, some package could come along and install a different version of a library there and then boom, we've broken something else.
    NixOs just never breaks due to the way it does dependencies. I used Arch Linux for years and got used to the fact that once in a while, you might have to spend a few hours figuring out why your system broke.
    Even if NixOS did break, I could simply reboot to the previous generation and have a perfectly working system again.
    As a dev, the nicest feature for me, is the ability to have all the dependencies for my project specified in the project. If I need a certain python version and packages for one project, I can have that. A different project can specify a totally different version and they don't interfere with each other.
    Nix certainly has a step learning curve, but in most cases it's worth it.

    • @JanSteen7870
      @JanSteen7870 10 месяцев назад

      What is the difference with timeshift or snaps?
      On Tumbleweed is its break just pick a working snapshot.....

  • @MrAndrewKeyboards
    @MrAndrewKeyboards Год назад +6

    I never expected to say “Matt” and “Wayland” in the same sentence! But Matt talking about how good is Wayland in NixOS was totally unexpected!
    In another order of ideas, you’re totally on point with all that you said regarding NixOS: it’s not for new Linux users. And even when the distro is advertised as “immutable”, it’s very easy to make a mess with configs… And the documentation will NOT help you at all… Main configs, flakes… 😵‍💫
    Even up to today, Idk what flakes are for. And I moved to a Void Linux long term review anyway.

    • @MichaelWilliams-lr4mb
      @MichaelWilliams-lr4mb Год назад +1

      It is easy to make a mess of the configs. But at least it normally won't break the system. A messed up config will normally mean the new system won't build.
      Granted, there are ways to break the system, though it's not that easy to do. But rollback is very easy if you do somehow break it.

    • @MrAndrewKeyboards
      @MrAndrewKeyboards Год назад

      @@MichaelWilliams-lr4mb my concept of NixOS is more like “semi-immutable” distro. Nevertheless, you’re correct. It is incredibly complicated to break your system, but not impossible.
      And those blessed rollbacks are lifesavers.

    • @MichaelWilliams-lr4mb
      @MichaelWilliams-lr4mb Год назад

      @@MrAndrewKeyboards Yes. Semi-immutable seems to be a pretty accurate way to describe it.

  • @SJ-ds8lp
    @SJ-ds8lp 3 месяца назад

    What is your configuration. Is that polybar or something?

  • @abdulazizal-ansari3034
    @abdulazizal-ansari3034 Год назад +1

    I think your font issue might be related to nerd-fonts and not nixos. it seems that some icon fonts were removed in newer versions. had the same issue not too long ago, reverted to an older version and everything is fine, but I'm not on nixos ...

  • @ivandimitrov4410
    @ivandimitrov4410 Год назад +1

    As a dev I went into nixos after reading a bunch of docs beforehand so I knew what to expect and I was still surprised. I think that to really stick to nix you gotta actually understand what your use case is instead of just test-driving it. My use case was that I wanted a reproducible system for my laptop and servers. Now instead of reading tutorials online or keeping track of some links of forums written 15 years ago on how to configure a mailserver I got a single config file that I keep in git and it just works. I guess that if you want to just run some linux you're better off on arch or debian.

  • @MichaelWilliams-lr4mb
    @MichaelWilliams-lr4mb Год назад +3

    Ah, one last comment. Don't mean to spam you.
    Copying the configuration.nix is one great example of the reproducability. But it's not just about the reproducability of the system itself.
    In development, we often times have this problem where someone has a problem with software and we look at it and say "it works fine on my machine". Well, when using the Nix package manager, you have the same exact versions of dependencies with a package. Multiple versions can exist harmoniously. And when you run whatever you're developing, it either just works or just doesn't among ALL computers that have the package installed. So reproducability of errors/bugs is a big thing too. But that's more of the developer side as well as people reporting bugs.

  • @pauldufresne3650
    @pauldufresne3650 Год назад +10

    You do more configuration than most people I think... and so I believe you already have come to as much stuff than I did in 2 or 3 years of sparingly using NixOS.

  • @apexcodes
    @apexcodes 9 месяцев назад

    I couldn't even get NixOS to the "boot from installer media" stage. I followed all of their instructions to flash a USB drive so I could install it on my really extremely standard PC and the live disk won't get past boot stage 1. I really wish I could try it.

    • @Disturbed_face
      @Disturbed_face 3 месяца назад

      @@apexcodes did you disabled secure boot?

  • @philipcollier7805
    @philipcollier7805 9 месяцев назад +1

    It was said that, with Linux, "everything is a file," except that on NixOS, "everything is a line in the config file."

  • @nonetrix3066
    @nonetrix3066 Год назад +1

    Nerd fonts recently changed where their unicode code points are located since some of them where not free for use or whatever, you just need to update them. It's nothing to do with NixOS, it's nerd fonts themselves

  • @OctaviusPelagius
    @OctaviusPelagius Год назад +2

    You don't need to prepend `pkgs` for all your packages. You have an example there for `wget` and that's why you have `with pkgs; [` there at the beginning of the packages statement, my dude.

    • @TheLinuxCast
      @TheLinuxCast  Год назад +1

      I eventually got there.

    • @OctaviusPelagius
      @OctaviusPelagius Год назад

      @@TheLinuxCast glad you figured it out. Happy endeavors!

    • @Disturbed_face
      @Disturbed_face 3 месяца назад

      Man i really hate that you need to understand what does with pkgs; means to actually understand what's going on, i read a long handbook about nix to understand the basics and the json like syntax

  • @vonelfensenf8151
    @vonelfensenf8151 11 месяцев назад

    I just switched to NixOS a few weeks ago when I received my new work laptop and I must say: in most of your points I couldn't agree more!
    Currently, the whole "learn NixOS" path is just a mess. Not just that stable and unstable are sometimes different, also it's very different if you use flakes (what lots of people recommend these days) or you don't. I wanted to use plasma-manager which can manage KDE plasma settings in a declarative way. Guess what, the docs just say "we expect that you are using flakes for managing your system". Kind of sad that you're unable to use some features unless you make use of some EXPERIMENTAL feature.
    I wonder if this will get better after a while or if a special trained AI will be able to answer nix related questions soon.

  • @Flackon
    @Flackon Год назад

    The Nerdfonts issue may be that the nixos package is newer than your config, and uses the new fixed glyphs? They had to deprecate a lot of material design glyphs so you need a tool like nerdfix to update them to the new ones…

  • @JustinVoldenCM
    @JustinVoldenCM Год назад

    For the fonts, the main reason i have come across this is, useing older or not updated charactors . There was a change made to the code for them that breaks them, compare them on the nerd font cheatsheet/list and replace the olde Material icons with the new ones.

    • @SpaceEndeavour
      @SpaceEndeavour Год назад +1

      That was my issue too. I just went through all my icons and replaced em

    • @iamghezali
      @iamghezali Год назад

      i came across this font issue even on debian when using the waybar, it uses both font awsome and nerd fonts, if you have both installed it will work just fine

    • @Blank-es9cg
      @Blank-es9cg Год назад

      DEMONYONG KALBONG BUGOK ANG PAYO

  • @auntiecarol
    @auntiecarol 11 месяцев назад

    Hey, Matt... have you tried GNU Guix yet? Would be interested in your take on that.

  • @frankhuurman3955
    @frankhuurman3955 6 месяцев назад

    I wish the NixOS docs had a few quickstart config layouts ready for those wanting to mess with a functioning system and go from there, like a config file that replicates the current Ubuntu GNOME or Fedora KDE Plasma releases and then a couple of "try these steps to install Steam" / "try these steps to remove Steam" / "rebuild nixos and reboot your system, you will see this and that" manuals.

  • @htx80nerd
    @htx80nerd 10 месяцев назад

    Really like your vidoes man thanks for sharing. Just installed NixOS myself last night.

  • @mushroomcrepes
    @mushroomcrepes 10 месяцев назад

    One negative thing I stumbled upon were old projects/repos that used nix files to build their projects, the majority of them just gave me a bunch of errors and I had to spend a while just fixing them in order to try them out. Not to mention that some errors that gets thrown are very hard to decipher for a noob.

  • @keylowmike85
    @keylowmike85 Год назад

    Great review! i've never used nixos and I don't know if i really want to considering everyone's testimonies about the documentation or the lack thereof.

  • @antonio.taverna
    @antonio.taverna 7 месяцев назад

    are you ising opneSuse Leap or Tumbleweed or immutable one? thanks

    • @TheLinuxCast
      @TheLinuxCast  7 месяцев назад +1

      Tumbleweed

    • @antonio.taverna
      @antonio.taverna 7 месяцев назад

      @@TheLinuxCast i think that it's a good choice. openSUSE in undervaluated 😁

  • @francisking708
    @francisking708 Год назад +1

    Missing /usr files. The files are kept in the store, write-protected. Only the absolute minimum of files are kept in the traditional places.

  • @Finalitik
    @Finalitik Год назад

    I have tried NixOS and I had the same experience.
    The documentation is bad, it contains commands in examples which don't work, like 'nix search wget'. It's hard to set up NixOS for hardware, you can't pass configuration file to /etc, I need someone who already written service for it. nix-env can't manage packages installed with configuration.nix, but both of them stored in the same directory, it's confusing.
    So I decided to stay on Fedora + Ansible, and on Debian stable + Ansible + nix as package manager, which is not perfect too.

  • @RedneckPythagorean-ms9ox
    @RedneckPythagorean-ms9ox Год назад

    Thanks for sharing your knowledge. You're a hero. Merry Christmas

  • @sawyerbristol7122
    @sawyerbristol7122 Год назад

    nix shells only temporory simlink a package into your bin folder. this way if your just testing a program its only temporarily installed

  • @Joel11111
    @Joel11111 Год назад +2

    6:10 Yeah this is pretty true and it matters not only for the learning curve that the user needs to face, but also in terms of software support. Case in point: You cannot (easily) use conda environments for python because conda expects certain directories to be present that are present in pretty much every other Linux distro but are not present in NixOS. The recommended thing to do seems to be to use nix environments instead.
    I think NixOS is great for tinkering and trying out new features because you can do it with the config file and don't need to worry about screwing up your system. It's cool and neat, but not really game changing.

  • @Robin_Goodfellow
    @Robin_Goodfellow 9 месяцев назад

    I agree with all of your points. The result can be beautiful, but the learning curve is a bit rough, and the docs are messy. Still, I'm loving the pain so far. The stability and reusability of Nix configuration makes me feel like I'm building something worthwhile.

  • @blarghblargh
    @blarghblargh Год назад

    I have only used nixos a bit. Isn't most of it just the wiki? In which case, yeah, it's gonna be spotty as hell. Which isn't ideal. Unless they have some team actually going through with a strategy to solve it.
    I basically resolved to look at the packages themselves and which parameters they exposed in cases when the wiki wasn't covering it.
    I, too, have not looked at flakes at all. It does seem Nix OS is a convergence of a few different projects and approaches. And that is a bit confusing for someone who isn't immersed in it.

  • @zenmaster24
    @zenmaster24 Год назад +1

    can you share your configuration.nix file?

  • @akhil8795
    @akhil8795 11 месяцев назад

    Can you share ur wallpaper?

  • @eps-nx8zg
    @eps-nx8zg Год назад +1

    I tried nix yet again and could not get my dev environment to work. So I went to arch because I needed the latest nvidia driver for cs2 to run XD.

    • @Disturbed_face
      @Disturbed_face 3 месяца назад

      There is (yeah i didnt believe it either but it exists) a page in the nixos wiki that explains how to install nvidia drivers, and it was a fast 5 min copy pasting that worked right away after rebooting

  • @ShaqarudenGames
    @ShaqarudenGames 11 месяцев назад

    One thing I like about Nix OS is most of it not everything you would ever want to change or configure can be done in configuration.nix. Yea there is still the “how?” but at least down the road if I want to change how something is done I don’t need to remember where in the system that is. I know for a fact it is going to be in that file. 👍

  • @AGAU1022
    @AGAU1022 Год назад

    So is Hyprland much easier to set up on NixOS compared to Arch or have you not tried setting it up on Arch for a long time/ever?

    • @hopelessdecoy
      @hopelessdecoy Год назад

      Well with NixOS you only have to really accomplish it once and then guard that setup/config file then you're done. Plus it has a KDE iso so that would just come with Wayland.

    • @AGAU1022
      @AGAU1022 Год назад

      Sorry I meant Hyprland. Arch and NixOS were the only distros with official Hyprland support last I checked. @@hopelessdecoy

  • @mbee32k
    @mbee32k Год назад +1

    I’m not a NixOS user, but to me it seems that most of your concerns are related to their philosophy. Since Nix wants to put everything in one config file it follows that you shouldn’t use the ordinary config files but keep to the one given. I can see the usefulness of NixOS if you manage a fleet of 1000s of Linux desktops. You can test on a small set and then push the config to the rest. However, that’s what Ansible and such tools do as well. And you also need a mechanism to actually push the update. Ansible/Chef/Puppet/Git to the rescue.

    • @_TeaMaster
      @_TeaMaster Год назад +4

      "Everything in one config file" isn't really a Nix philosophy. I genuenly have no idea where that even came from. Nix is about declarative, deterministic and replicable builds. It was never supposed to be configured with a single file as it's makes modularity much harder. If anything, as flakes become more and more prevalent, it becomes "everything is a project in a git repository" philosophy. Where Nix is responsible for determinism and replicability and git is responsible for sharing and version control. For example, I have one repository for my Nix configurations which has different outputs. One for my NixOS PC, one for my laptop where I use NixOS in WSL and one with home manager configuration I can use on any Linux or MacOS system. All configurations are just a set of modules that can be shared or used independently. For example, I have a module that defines dev environments which is used by all outputs, so if I, for example add some new library or change my Neovim configuration on my NixOS PC, I would have the exact same change available on any other system as long as I do git pull and run rebuild.

    • @mbee32k
      @mbee32k Год назад +1

      ⁠@@_TeaMasterGood info! Like I said, I don’t (yet, at least) use NixOS so my info mainly comes from YT channels like this. Still its declarative nature sounds interesting to an old Haskell programmer like me. 😊 I’ll have to take a look at it when I have some time over. Just seems the guy hasn’t really understood that Nix is different and not just a work-over of Ubuntu or Fedora like many other distributions. That’s why NixOS sounds interesting to me.

    • @angeldude101
      @angeldude101 Год назад +1

      NixOS has its own mechanism to push the update, though most users I think just use Git. The Nix-native solution is NixOps, though only have 2 machines (only one of which uses NixOS, I'm not too familiar with how it works or how it differs from the other options.

    • @angeldude101
      @angeldude101 Год назад +1

      @@mbee32k I sometimes like to describe the Nix language as "the bastard child of Haskell and JSON." If you can forgive the lack of static-typing or operator overloading, you'd probably feel right at home as a Haskell programmer, with only a few small syntactic differences. On the other hand, the lack of static-typing makes it surprisingly fun to write untyped Lambda Calculus with.
      num = rec {
      zero = succ: zero: zero;
      succ = n: succ: zero: succ (n succ zero);
      add = m: n: n succ m;
      };

    • @mbee32k
      @mbee32k Год назад

      @@birdstrikes Well I do see the use-case! I own several Linux workstations, and I try to keep them sort of similar. Where I work we DO have thousands of Linux workstations. But I gather you are a NixOS user, so if fleet management isn’t a possible use case, then please enlighten us of little knowledge; what IS the NixOS use-case?

  • @bcglinux
    @bcglinux 10 месяцев назад

    Thanks, brother, I have not visited your channel for a while, but you seem spot-on for this one. I bought into the hype, and though not a pro, I am comfortable in the Linux space. That said, after installing NixOS I have been completely lost and just don't have the time to figure it out. I may reconsider later, but for now, I will move on to something else. Thanks again and God bless,

  • @IVaruos
    @IVaruos Год назад

    is there any way to execute binary files directly in Nix os? I want to install albion online in Nixos without using steam or flatpak. But i can't execute the installer file.

    • @angeldude101
      @angeldude101 Год назад

      Binary distributed applications are very hard to use on NixOS due to the non-standard filesystem. For some binaries, there's `patchelf`, which is a big of a hack. A more heavy-weight solution is steam-run, which runs a given executable in a chroot with a more traditional filesystem. You can probably guess what specific application motivated its creation.

  • @swenic
    @swenic Год назад

    SAT is scored on a scale of 400-1600. Presumably one gets 400 if they manage to get everything wrong.
    Maybe look up intermittent fasting and keto.

    • @-aexc-
      @-aexc- Год назад

      the sat scoring system that you're talking about is the new one. I'm not sure exactly when it changed but it was around 2016ish iirc

  • @cristinac.2367
    @cristinac.2367 Год назад

    All the themes (icons, gtk, qt, kvantum, fonts) in NixOS go configure by home-manager - this is a part of the system you have to learn...

  • @angry.sparrow
    @angry.sparrow Год назад

    Nice video. Thanks for sharing. Please give updates from your experience ,just like this, before the long term review! Cheers

  • @TheSast
    @TheSast Год назад +3

    Hope you enjoy your stay on NixOS

  • @tenj00
    @tenj00 9 месяцев назад

    The documentation is what makes all the difference.
    Arch got to where it is now by its great documentation. And because it is easy to understand.
    NixOs has neither now, but that can change i think.
    NixOs should really think about simplifying many things.

  • @0McLoL0
    @0McLoL0 Год назад +1

    For me, I nerdy 'I want to use Linux but Windows has been easy for years'-guy NixOS is great for generating system that's stable and pre-configured for my needs every time I want Linux on another system. I don't have to perform any special magic for new setups, just once for the config and that's it :D

  • @cejannuzi
    @cejannuzi Год назад

    Thanks for getting into the nuts and bolts of this distro and telling us about it.

  • @HasanainAlarady
    @HasanainAlarady 6 месяцев назад

    Awesome review, Great content

  • @anurag9385
    @anurag9385 Год назад +1

    Are you planning a tutorial?

    • @TheLinuxCast
      @TheLinuxCast  Год назад +4

      I'd have to know what I was doing before I do, but maybe. We'll see.

  • @TuvaluHODL
    @TuvaluHODL Год назад

    I like a challenge, it's what Linux used to be like; battling to get my soundblaster emu10k01 driver insmodded in the red hat cartman days.

  • @TechnologyGeek862
    @TechnologyGeek862 Год назад

    I have nixos on my laptop as a secondary os that I use when not doing school or work stuff only leisure. I find my self using the secondary os very rarely so I value when upgrading the system every once in a while it not breaking. Been using nixos on that laptop for 2,5Months now and it has been rock solid even when running unstable. I very much agree that the documentation is quite horrible and there is no explanation how to use some things. Some stuff I've gotten to work by watching some RUclips videos and some with the help is chatgpt (even though it's not perfect it sometimes gets me where I wanted to go).

  • @ICopiedJohnOswald
    @ICopiedJohnOswald Год назад +5

    I think using the nix build tool to manage dependencies for a project is a much better way to introduce yourself to Nix then starting with Nixos

    • @viniciusmelquiades
      @viniciusmelquiades Год назад +2

      I started with home-manager because I wanted to sync my config files between two machines.
      Im just dealing with a few minor issues before I use NixOS for work too

  • @a.lollipop
    @a.lollipop Год назад

    Never thought I'd see the day where matt uses wayland!!!
    Jokes aside, even though you just started using it, it has been very interesting and informative to see your experience with nixos. Thank you for the great content :)

  • @stefankyriacou7151
    @stefankyriacou7151 Год назад +1

    NixOS is awesome if you're a software engineer, there are many teams that use the Nix package manager for configuring development environments, and sometimes also production environments; though I agree their documentation is garbage.

  • @XxZeldaxXXxLinkxX
    @XxZeldaxXXxLinkxX 11 месяцев назад

    The documentation isn't *garbage* per se, just sparse for the most part. Sparse both in content and mainly location. It's like having your the pages of a manual torn out and scattered through your house lol. The community is pretty good at helping each other though

  • @frankysour
    @frankysour Год назад +2

    Nice informative video thanks!
    One comment about the difficulty, though... leaving out the really Linux savvy people that will be able to make everything run, I think the opinion is biased from being a Linux noob, as you modestly define yourself... for a complete noob there will be no difference in reference to what they already know of Linux since they know supposedly nothing about Linux... hence my take is NixOs is not good for Linux fairly introduced people, but it could be good for complete noobs that start from scratch and learn from the ground up.
    Completely agree on the documentation, though, but if they improve that... starting from zero with NixOs would be same as starting from zero with any more traditional Linux systems (if the concept of traditional Linux even exists 😂)

  • @cenewton3221
    @cenewton3221 Год назад +1

    IMO, among all the Linux distros that have "OS" at the end of it, NixOS is the only one that truly deserves to be called it's own OS. Yes it still uses the Linux kernel and many of the fundamentals, conventions, etc. but it isn't just a different package management philosophy/implementation. To me, it's about as different from traditional Linux distros as is BSD. Not quite, but what Matt says here is true; that so many things are done completely differently... it really is like learning a whole new operating system because everything you have learned about or come to know/expect with Linux is tossed out the proverbial window with NixOS - well, after basic kernel/systemd stuff is done at least. I like learning new things and enjoyed messing around with Nix for a bit but it's unlikely to ever be my daily driver.

  • @toastielad4760
    @toastielad4760 9 месяцев назад

    Gonna be honest, the documentation is super detailed and fantastic from my experience in the programming world. The documentation isn’t bad, the OS just probably isn’t meant for you imo.

  • @ShakaVegapunk
    @ShakaVegapunk Год назад

    I love your reviews, dude. Keep it up!

  • @rajughorai7483
    @rajughorai7483 Год назад +1

    I'm using nix on mac i find it really helpful

  • @wyfyj
    @wyfyj Год назад

    This was me a while ago. You probably saw my gripes on Mastodon.

  • @hopelessdecoy
    @hopelessdecoy Год назад

    I think the concept of NixOS is awesome, I looked into using it and I just didn't think it was worth my time unless I wanted a career maintaining a businesses Nix installs. I develop apps for Linux/Windows but not Linux the OS itself. Maybe someday I will put in the time but for now it's back to LMDE.

  • @helioscat4231
    @helioscat4231 Год назад

    So we can consider NixOS as meta-dtistribution? So we hope it will be someone who make appropriate face for this distro? We have enough examples

  • @superdownwards
    @superdownwards Год назад

    Great video Nick!

  • @oglothenerd
    @oglothenerd Год назад +3

    Hyprland! Let's gooooooo!

  • @zakariakov1707
    @zakariakov1707 Год назад

    I agree with you everything I mentioned is true
    I am still not until now I did not understand the way to make Nix OS, not even with the intention of its files, so that I do not consider it as a Linux system

  • @profetik777
    @profetik777 Год назад

    I will never get over a system that has to be a config first way of management via txt files...and learning almost a programming language to manage....my brain just can't get over it

  • @Cenot4ph
    @Cenot4ph 8 месяцев назад

    Nix is a different paradigm. It is declarative like Terraform for infra. This is for operating systems and applications

  • @xperience-evolution
    @xperience-evolution Год назад

    Would love to see a Video about Clear Linux OS
    I am not using it but in my opinion it should get more attention - just like openSUSE shoudl get more attention. But Clear Linux OS gets even less but it is pretty unique, independent and damn fast and always on the latest Kernel on DE

  • @orbatos
    @orbatos Год назад

    In any normal distro Wayland works fine with most things, all you are describing is a sane default configuration. Manual configuration has been screwing you over.

  • @ibm450
    @ibm450 11 месяцев назад

    Any updates on this or has Matt nuked nixos away?

    • @TheLinuxCast
      @TheLinuxCast  11 месяцев назад

      Long Term Review coming in March. We also did a podcast on it today, will be posted on Monday evening.

    • @ibm450
      @ibm450 11 месяцев назад

      @@TheLinuxCast awesome, thanks for the update, also, im not getting any updates on yourpodcasts on my phone, im using pod cast addict