NixOS Has One BIG Problem

Поделиться
HTML-код
  • Опубликовано: 8 июн 2024
  • Today I talk about my first week on NixOS. I have positive and negative things to say.
    👇 PULL IT DOWN FOR THE GOOD STUFF 👇
    Patreon - / thelinuxcast
    Paypal - paypal.me/thelinuxcast
    RUclips - / @thelinuxcast
    Ko-fi - ko-fi.com/thelinuxcast
    ===== Follow us 🐧🐧 ======
    MERCH - shop.thelinuxcast.org
    Discord - / discord
    Odysee - odysee.com/$/invite/@thelinux...
    TILvids(Peertube) - tilvids.com/c/thelinuxcast_ch...
    Mastodon- fosstodon.org/@thelinuxcast
    gitlab.com/thelinuxcast
    Matrix - matrix.to/#/#the-linux-cast:matrix.org
    The Website thelinuxcast.org
    Contact us email@thelinuxcast.org
    Amazon Wishlist - www.amazon.com/hz/wishlist/ls...
    Logo Courtesy of - pedropaulo.net
    Intro Courtesy of - www.fragcgi.com/?i=1
    Sign up for encrypted email with Tutanota - mail.tutanota.com/signup?ref=...
    ==== Special Thanks to Our Patrons! ====
    thelinuxcast.org/patrons/
    #ramble #nixos #thelinuxcast
  • НаукаНаука

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

  • @TheLinuxCast
    @TheLinuxCast  8 месяцев назад +10

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

  • @MichaelWilliams-lr4mb
    @MichaelWilliams-lr4mb 8 месяцев назад +251

    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 8 месяцев назад

      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 8 месяцев назад +21

      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 8 месяцев назад +11

      How can we help them with the documentation?

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

      ​@@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 8 месяцев назад

      yes@@alfinyusrinnaja7094

  • @Gaivs
    @Gaivs 8 месяцев назад +103

    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 8 месяцев назад +2

      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 8 месяцев назад +12

      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 8 месяцев назад +21

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

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

      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

  • @enkiimuto1041
    @enkiimuto1041 8 месяцев назад +271

    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 8 месяцев назад +28

      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 8 месяцев назад +2

      ​@@danieldover3745 Agreed

    • @SteinGauslaaStrindhaug
      @SteinGauslaaStrindhaug 8 месяцев назад +14

      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 8 месяцев назад +10

      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 8 месяцев назад +8

      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

  • @berndborte8214
    @berndborte8214 8 месяцев назад +60

    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 8 месяцев назад +5

      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 8 месяцев назад

      @@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 8 месяцев назад

      @@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 8 месяцев назад +3

      @@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.

  • @MichaelWilliams-lr4mb
    @MichaelWilliams-lr4mb 8 месяцев назад +50

    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  8 месяцев назад +10

      Yeah, found that out.

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

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

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

      Then your bash environment or normal shebang will work there after

    • @MichaelWilliams-lr4mb
      @MichaelWilliams-lr4mb 8 месяцев назад +3

      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 2 месяца назад +1

      ​@@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

  • @BeOnlyChaos
    @BeOnlyChaos 7 месяцев назад +27

    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.

  • @asdfghyter
    @asdfghyter 8 месяцев назад +21

    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 8 месяцев назад +10

    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.

  • @DaKingof
    @DaKingof 8 месяцев назад +12

    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 5 месяцев назад +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.

  • @SpaceEndeavour
    @SpaceEndeavour 8 месяцев назад +22

    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 8 месяцев назад +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 2 месяца назад +1

      how do you do that?

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

      ​@@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 2 месяца назад +1

      ​@@escapetherace1943flake inputs

  • @benjy288
    @benjy288 8 месяцев назад +5

    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.

  • @pauldufresne3650
    @pauldufresne3650 8 месяцев назад +9

    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.

  • @thingsiplay
    @thingsiplay 8 месяцев назад +11

    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 8 месяцев назад +3

      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 8 месяцев назад +8

      `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 8 месяцев назад +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 8 месяцев назад

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

  • @aldosierra8131
    @aldosierra8131 8 месяцев назад +6

    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 8 месяцев назад

      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.

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

    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.

  • @jeffrodrequez
    @jeffrodrequez 8 месяцев назад +6

    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 6 месяцев назад +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 6 месяцев назад

      @@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!

  • @anonymouscommentator
    @anonymouscommentator 8 месяцев назад +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 5 месяцев назад

      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 5 месяцев назад +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 3 месяца назад

      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.

  • @Saast
    @Saast 8 месяцев назад +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

  • @imperativeemarketing5546
    @imperativeemarketing5546 3 месяца назад +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 2 месяца назад +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".

  • @viniciusmelquiades
    @viniciusmelquiades 8 месяцев назад +2

    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 Месяц назад

      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.

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

    Where can I find that wallpaper? I like it!

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

      We need a link to that wallpaper.

  • @keylowmike85
    @keylowmike85 7 месяцев назад

    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.

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

    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 8 месяцев назад

      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 7 месяцев назад

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

  • @omidbarza
    @omidbarza 8 месяцев назад +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 8 месяцев назад +3

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

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

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

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

    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.

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

    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 8 месяцев назад

      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.

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

    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…

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

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

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

    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.

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

    Can you try GuixOS? I've been very curious because on paper the features and design seem better, especially since everything is in scheme, but adoption seems much lower.

  • @HECKAKYH-ADEKBATEH
    @HECKAKYH-ADEKBATEH 13 дней назад

    Task: make pizza
    Regular cook: takes bowl, adds flour, salt, water..
    Nixos cook: writes a nix expression, that modifies nix expression, then records his changes on paper and writes his flake - then rebuilds kitchen.

  • @angry.sparrow
    @angry.sparrow 8 месяцев назад

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

  • @eps-nx8zg
    @eps-nx8zg 8 месяцев назад +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.

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

    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.

  • @RedneckPythagorean-ms9ox
    @RedneckPythagorean-ms9ox 6 месяцев назад

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

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

    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 8 месяцев назад +1

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

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

      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 8 месяцев назад

      DEMONYONG KALBONG BUGOK ANG PAYO

  • @antonio.taverna
    @antonio.taverna 22 дня назад

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

    • @TheLinuxCast
      @TheLinuxCast  22 дня назад +1

      Tumbleweed

    • @antonio.taverna
      @antonio.taverna 22 дня назад

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

  • @abdulazizal-ansari3034
    @abdulazizal-ansari3034 8 месяцев назад +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 ...

  • @nonetrix3066
    @nonetrix3066 8 месяцев назад +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

  • @twb0109
    @twb0109 4 месяца назад +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.

  • @francisking708
    @francisking708 8 месяцев назад +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.

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

    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.

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

    is it the networking not working half of the time?

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

    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)

  • @MichaelWilliams-lr4mb
    @MichaelWilliams-lr4mb 8 месяцев назад +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.

  • @ivandimitrov4410
    @ivandimitrov4410 6 месяцев назад +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.

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

    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).

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

    can you share your configuration.nix file?

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

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

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

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

  • @a.lollipop
    @a.lollipop 8 месяцев назад

    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 :)

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

    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.

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

    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. 👍

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

    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 Месяц назад

      Where can I find documentation learb more about packaging?

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

      @@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.

  • @Jeffsa12
    @Jeffsa12 8 месяцев назад +6

    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 8 месяцев назад

      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 7 месяцев назад

      the mother of all skill issues

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

    Can you share ur wallpaper?

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

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

  • @xperience-evolution
    @xperience-evolution 8 месяцев назад

    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

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

    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.

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

    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,

  • @MrAndrewKeyboards
    @MrAndrewKeyboards 8 месяцев назад +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 8 месяцев назад +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 8 месяцев назад

      @@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 8 месяцев назад

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

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

    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.

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

    "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.

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

    I love your reviews, dude. Keep it up!

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

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

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

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

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

    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.

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

    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.

  • @ICopiedJohnOswald
    @ICopiedJohnOswald 8 месяцев назад +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 8 месяцев назад +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

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

    Are you planning a tutorial?

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

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

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

    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.

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

    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

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

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

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

    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

  • @just-in-tech
    @just-in-tech 8 месяцев назад

    I would love to learn it but I have not had time and I am I happy fedora user ever since you used fedora I have being running it for over a year now

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

    Hope you enjoy your stay on NixOS

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

    "Can we get Linux"
    "But we have Linux at home"
    Linux at home:

  • @cristinac.2367
    @cristinac.2367 8 месяцев назад

    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...

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

    Great video Nick!

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

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

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

    Always interesting info about Linux

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

    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  7 месяцев назад +1

      I eventually got there.

    • @OctaviusPelagius
      @OctaviusPelagius 7 месяцев назад

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

  • @frankysour
    @frankysour 8 месяцев назад +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 😂)

  • @swenic
    @swenic 7 месяцев назад

    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- 7 месяцев назад

      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

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

    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.

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

    I almost overdosed on the Nix Pills, it really took forever to really get derivations

  • @Joel11111
    @Joel11111 8 месяцев назад +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.

  • @mbee32k
    @mbee32k 8 месяцев назад +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 8 месяцев назад +2

      "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 8 месяцев назад +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 8 месяцев назад +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 8 месяцев назад +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 8 месяцев назад

      @@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?

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

    Make a video for how you're learning nixos

  • @vagrant1943
    @vagrant1943 7 месяцев назад

    You have to put in a little work up front but long term it’ll make your life WAY easier 🙂

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

    Matt tries Hyprland!! ITS HAPPENING!!

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

    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

  • @stefankyriacou7151
    @stefankyriacou7151 7 месяцев назад +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.

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

    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

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

    Any updates on this or has Matt nuked nixos away?

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

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

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

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

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

    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

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

    NixOS doesn't even get points for putting the name at the top of the exam, IMHO. NixOS is the only distro (and community) I have encountered where the mere concept of official documentation is looked upon with disapproval. I really want to like NixOS, but right now I simply can't.

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

    Hyprland! Let's gooooooo!

    • @TheSast
      @TheSast 8 месяцев назад +2

      Yes