NixOS: Everything Everywhere All At Once

Поділитися
Вставка
  • Опубліковано 24 лют 2024
  • Alternate Title: NixOS: Stability on the Bleeding-Edge
    One day, as happens now and then with a bleeding-edge rolling release distro, a systemd update reversed my mouse buttons.
    The great thing about rolling-release and cutting-edge distributions like Arch Linux, is that you get to be a beta tester, whether you like it or not!
    I thought this was the way it had to be on Linux: Stability or cutting-edge features, not both.
    But that wasn't right at all, with NixOS you can have everything, everywhere all at once!
    ❤️ If you would like to support what I do, I have set up a Patreon here: / noboilerplate - Thank you!
    📄 All my videos are built in compile-checked markdown, transcript source code available here github.com/0atman/noboilerplate this is also where you'll find links to everything mentioned.
    🖊️ Corrections are in the pinned ERRATA comment.
    🦀 Start your Rust journey here: • How to Learn Rust
    👕 Bad shirts available here www.teepublic.com/user/no-boi...
    🖼️ The Phosphene Catalogue is here: • The Phosphene Catalogu...
    🛰️ Lost Terminal is here: • Lost Terminal Episode ...
    🌕 Modem Prometheus is here: • Modem Prometheus 1 - #...
    🎵 My published albums are on spotify, itunes, etc, but I have a lot more unpublished work over at / namtao
    🙏🏻 CREDITS & PROMO
    My name is Tris Oaten and I produce fast, technical videos.
    Follow me here tech.lgbt/deck/@noboilerplate
    Website for the show: noboilerplate.org
    Come chat to me on my discord server: / discord
    If you like sci-fi, I also produce a hopepunk podcast narrated by a little AI, videos written in Rust! www.lostterminal.com
    If urban fantasy is more your thing, I also produce a podcast of wonderful modern folktales www.modemprometheus.com
    I've got a new fiction Podcast out called The Phosphene Catalogue, if you like mysteries and art, check it out!
    👏🏻 Special thanks to my patreon sponsors:
    - JC Andrever-Wright
    - Miah Beach
    - Taylor Dolezal
    - Thomas Picard
    - David Senk
    And to all my patrons!

КОМЕНТАРІ • 896

  • @NoBoilerplate
    @NoBoilerplate  2 місяці тому +335

    ERRATA
    - @Vimjoyer's video is here: ua-cam.com/video/a67Sv4Mbxmc/v-deo.html
    - 0:18 Misspelled "LINUX" in the title, classic me!
    - Asahi USED to be arch-based, now fedora-based. Same problem, different flavour!
    - The TOML examples shouldn't have semicolons at the end

    • @pcfreak1992
      @pcfreak1992 2 місяці тому +9

      Lynx or Linux? 0:38 😅

    • @SumriseHD
      @SumriseHD 2 місяці тому +6

      I am literally installing Arch Linux, btw, after using Fedora for a while and now you upload this. 😂

    • @jh-devv
      @jh-devv 2 місяці тому +8

      @@SumriseHD yeah, it happens, though Arch has it's upsides: at least you get to know your system!
      I used it before NixOS, learned tons of stuff from it (e.g. drivers, package management, bleeding edge etc.)

    • @vildis.
      @vildis. 2 місяці тому +2

      Missing ] at 4:46 on line 1?

    • @Teo-js1jk
      @Teo-js1jk 2 місяці тому

      In the descriptions there are "alternate video titles" but are referring to rust pure functions

  • @SmartassEyebrows
    @SmartassEyebrows 2 місяці тому +1006

    Taking the Cloud world's "configuration as code" philosophy and applying it to an OS in this particular way is honestly brilliant.

    • @NoBoilerplate
      @NoBoilerplate  2 місяці тому +255

      What's wild is that Nix came FIRST! It's 20 years old!

    • @Schmogel92
      @Schmogel92 2 місяці тому +20

      @@NoBoilerplate what is the reason for it becoming popular only recently?

    • @akkesm
      @akkesm 2 місяці тому +80

      @@Schmogel92I'm guessing the learning curve is so high that nobody ever got to the good part. NixOS didn't even have a GUI installer until last year. I've been using it for 3/4 years and I have no intention of leaving. It's the best distro for software development by far.

    • @akkesm
      @akkesm 2 місяці тому

      On the flip side, NixOS is so hard to learn that, by the time you are able to use it, you can contribute to it. It's easy, it's all text files in a git repo. As a result, NixOS has a higher percentage of contributors compared to other distros.

    • @matthewcroughan
      @matthewcroughan 2 місяці тому +13

      If anything, the cloud world took that from Nix, given that Nix was created in 2003

  • @vimjoyer
    @vimjoyer 2 місяці тому +727

    Thanks for the shoutout! I've been watching your channel for a long time, and I never thought I'd hear you recommend my video. Feels very surreal.

    • @user-nq9vh7mv7k
      @user-nq9vh7mv7k 2 місяці тому +40

      well deserved. your videos carry every nix newbie.

    • @samuelwaller4924
      @samuelwaller4924 2 місяці тому +16

      Moments like this make the internet great. Thank you both for helping the community like you do, I hope you feel the impact you make

    • @NoBoilerplate
      @NoBoilerplate  2 місяці тому +95

      My dude! Thank you for your nice words, and your incredible videos! You've got a great style, email me, let's chat 😀

    • @luisliz
      @luisliz 2 місяці тому +12

      @vimjoyer If it wasn’t for you I would’ve never dared. You make it approachable.

    • @vaisakhkm783
      @vaisakhkm783 2 місяці тому +5

      @@luisliz ikr.. he is only the reason i got started and still loving it..

  • @DeerDesigner
    @DeerDesigner 2 місяці тому +186

    Small correction - Asahi USED to be arch-based, nowadays the official, blessed asahi distro is fedora-based

  • @blehbleh9283
    @blehbleh9283 2 місяці тому +166

    NixOS was a bit too limited for packages back when I first saw it in mid 2010s, but I think that graph and the annoyance of updating/keeping up with news for Arch might've just convinced me to switch

    • @NoBoilerplate
      @NoBoilerplate  2 місяці тому +54

      Right! I had the same impression, it's WILD, everything is here, including all my weird music plugins and streaming stuff!

    • @blehbleh9283
      @blehbleh9283 2 місяці тому +15

      Hahaha. I just got the config table 12:26
      This is so much better. So much brain space was wasted on which config where and what to edit.
      Thanks for the videos! Love the channel

    • @asdfghyter
      @asdfghyter 2 місяці тому

      i probably wouldn’t recommend NixOS to most linux users, especially because of the learning curve, but i would certainly recommend that every single arch user tries it out

  • @twenty-fifth420
    @twenty-fifth420 2 місяці тому +200

    0:35 Linx OS is a Linux distro that purrs when you pet the start button and roars mightly when you install a package 😂.
    We have fun here at no boilerplate.

  • @FreshSmog
    @FreshSmog 2 місяці тому +177

    I think you forgot to mention another important part. Nix can be installed as just a package manager on any other distro and gets you much of the benefits of nixos on user packages. For average home users who don't configure systemd or manage user groups, the package manager might be all they need.
    It's also why people use home-manager, it installs and configures home packages and works on both nixos and nix package manager.

    • @NoBoilerplate
      @NoBoilerplate  2 місяці тому +75

      That's a useful part, but having all your software, kernel to userspace configured in one system is the life-changing part I'm excited about.

    • @jeffrey1298
      @jeffrey1298 2 місяці тому +5

      there's also another project called system-manager which allows nixos modules on non-nixos distros. i've never tried it and have no idea how well it works, but it exists!

    • @MrMrCraftmine
      @MrMrCraftmine Місяць тому

      yeah well, i tried using nix and home-manager on my Pop_OS!, however it completely broke my system beyond repair and I had to reinstall...

  • @andylees8939
    @andylees8939 2 місяці тому +44

    FYI, arch based distros using btrfs for the root FS allow rollback to a previous state. This has saved my bacon on a few (important) occasions. Garuda is worthwhile checking out.

    • @0LoneTech
      @0LoneTech 2 місяці тому +2

      Also possible, but takes some setting up, on Debian using snapper, some subvolumes and hooks. It covers the rollback function, but not so much the background building with atomic live switching.

    • @antonliakhovitch8306
      @antonliakhovitch8306 2 місяці тому +2

      Before I switched to NixOS, I used OpenSUSE specifically for this. Snapper is great and I still use it on my user files

    • @NeftisIsHere
      @NeftisIsHere 2 місяці тому

      snapper my beloved

  • @0thLaw
    @0thLaw 2 місяці тому +57

    Video suggestion: rapid prototyping in Rust. I love rust and colleagues comment all the time the amount of effort it requires to build even a proof of concept. Granted, rust forces you to do you due diligence before you can even try to run it. However, I would very much like to learn tips and techniques to easily do rapid development, cut some corners to get it going.
    Some ideas: disallow optimized builds when corners are still cut, use todo!(), initially build everything with just traits and automocks and gradually implement them (feels like tdd without the tests, but still designed to be loosely coupled).

    • @Rudxain
      @Rudxain 2 місяці тому +3

      Another tip is to avoid the borrow-checker by simply `clone`ing everything. `rustc` can sometimes optimize `clone`s into borrows

    • @user-anony1337
      @user-anony1337 2 місяці тому +1

      Try using Copy traits everywhere. It might go against the Rust philosophy but if you want fast prototyping it's definitely make it faster.

  • @cid-chan-2
    @cid-chan-2 2 місяці тому +36

    Some nitpicks
    - nixos-unstable has automated tests. In fact these tests cause nixos-unstable to lag behind master by up to one week if there are critical test failures, like rendering the system in an unbootable state, or similar problems. NixOS-stable works by freezing versions of critical system components, only selectively porting back versions where neccessary.
    - Addendum: even the package definitions are tracked by git. There is also the nixos master branch. You dont want to use that branch ever directly. This one is the branch with 0 tests applied (except: is it valid nix code?)
    - you can also configure your system using json.

    • @NoBoilerplate
      @NoBoilerplate  2 місяці тому +14

      Interesting! Thanks for those details, I don't think you're contradicting anything I've said, just providing more information?
      And yes, I know about configuring nix in json. That is not an improvement from my point of view lol

    • @emdivine
      @emdivine Місяць тому +1

      @@NoBoilerplate could you sell me on how toml would be a better alternate config format than json? If you're going to pick a non-recommended format anway

  • @Nicfallenangel
    @Nicfallenangel 2 місяці тому +27

    12:53 "I'm sharing this just between you, and me, and 200,000 of my closest friends." 😂 That was gold. And I've never thought of using TOML, YAML, or any other ML to generate config. That's an interesting approach to get around learning the syntax at first.

  • @DavidConnerCodeaholic
    @DavidConnerCodeaholic 2 місяці тому +16

    As someone who’s basically only ever written a single RPM… writing pkgs in Nix and Guix is so unbelievably efficient in comparison. Linux would have to be ludicrous not to gravitate towards these solutions.

  • @jeiang
    @jeiang 2 місяці тому +195

    I've been using NixOS for about 6 months now, and I love it. My favorite"feature" is impermanence, so my system rebuilds itself from fresh on every boot.

    • @NoBoilerplate
      @NoBoilerplate  2 місяці тому +66

      Ooh, that's cool, Vimjoyer talks about that feature.

    • @jeiang
      @jeiang 2 місяці тому +27

      @@NoBoilerplate yea it's useful, like for backups because all my files not managed by my config (my system state) are in one place (under /persist), so I just need to back up that

    • @angeldude101
      @angeldude101 2 місяці тому +28

      Mounting root on a tmpfs for a daily driver feels like it should be insanity, and yet NixOS lets you get away with so much that it's somehow become completely normalized. It's kind of amazing.

    • @Schmogel92
      @Schmogel92 2 місяці тому +5

      What are your boot times like?

    • @jeiang
      @jeiang 2 місяці тому +17

      @@Schmogel92 pretty quick, I also have disk encryption, but I think it’s around 20 - 30 secs

  • @sharperguy
    @sharperguy 2 місяці тому +11

    One of the best things about NixOS is that when something requires a tutorial on Ubuntu on Arch, on nixos it just requires adding some lines to your config. In the tutorial case it can be really easy to lose track of what you did, whereas on nixos the changes sit right alongside everything else on your system. The downside is that since it's a little niche there isn't always any good explanation for how to get something working on nixos in the first place. But at least when you DO figure it out, it's extremely easy to share it with others.

  • @idkwtpaah
    @idkwtpaah 2 місяці тому +57

    You know that something is amazing when No Boilerplate covers it
    NixOS rocks!

    • @NoBoilerplate
      @NoBoilerplate  2 місяці тому +1

      I'm so late to the party lol

    • @bew
      @bew 2 місяці тому

      But you came, welcome o/

  • @xard64
    @xard64 2 місяці тому +69

    What makes the NixOS way of working interesting is that it seems to be a perfect fit for a corporate deployment.
    While I haven't still tested using NixOS it seems like that with it you could easily create static configurations and then deploy them number of machines and easily update them using a single base configuration file. The base configuration in turn could be layered to multiple custom variants featuring legacy tweaks for the corner case installations without interfering the updates.

    • @NoBoilerplate
      @NoBoilerplate  2 місяці тому +36

      EXACTLY, but also that's cool for home use, I was able to put my desktop's config file on my laptop, run a rebuild, and 15 minutes later had a copy of my deskop. it was a MOMENT, for me!

    • @SolarLiner
      @SolarLiner 2 місяці тому +18

      As a matter of fact, you *can* manage NixOS configurations from remotely. With flakes it's even more powerful as you can have multiple archetype configurations for an entire fleet of servers and desktops and have them rebuild all from a single "command center" machine. I almost want to become a sysadmin just to be able to feel that powerful.

    • @IogaMaster
      @IogaMaster 2 місяці тому +2

      I run a few servers in my home for various tasks. Running a deployment and all servers update is magical.

  • @Synthetica9
    @Synthetica9 2 місяці тому +11

    1:26 the inflection point was earlier: old NixOS releases receive basically no support, so old packages go "stale" (no longer the latest version, simply due to time passing since the last commit to those releases)

  • @Synthetica9
    @Synthetica9 2 місяці тому +74

    I've been running nixos as my main os since 2017, and I still have this original install 1000+ generations later.

    • @ToyKeeper
      @ToyKeeper 2 місяці тому +19

      I've been running Debian as my main OS since 1997, and despite upgrading, replacing, and diversifying the hardware a bunch of times, I still have basically the same original install 27 years later. It is a little weird though, seeing the 1990s in a "ls -alt ~". :D

    • @sachinchaudhary1310
      @sachinchaudhary1310 20 днів тому

      @@ToyKeeper bro what ? are u sure wtf bro.. i mean amazing bro...

    • @ToyKeeper
      @ToyKeeper 20 днів тому

      @@sachinchaudhary1310 Not a bro.

    • @sachinchaudhary1310
      @sachinchaudhary1310 20 днів тому

      @@ToyKeeper really women's are amazing

    • @arden6725
      @arden6725 7 днів тому +1

      @@ToyKeeper never thought i’d see the same toykeeper that made the firmware my flashlight runs in a youtube comment section!

  • @scottmuc2112
    @scottmuc2112 2 місяці тому +15

    This was a really good overview! I'm nix-curious and am often confused on what exactly nix is... now I understand it's more than just 1 tool. The super-updated package repo has me sold. I used to think nix-folks just loved having everything locked down to a known good version and letting it stay that way. Now I understand that nix is a toolkit to help you never leave your packages, config, and dependencies stale.

  • @robinkneepkens4970
    @robinkneepkens4970 2 місяці тому +106

    oh yess, the perfect channel to cover nix/nixos. I've been getting into them recently as well and they feel like such powerful tools to have as a software developer (or anyone who does anything with programming)

    • @Anonymous4045
      @Anonymous4045 2 місяці тому

      Which aspects specifically do you find the most helpful in software development?

    • @fabiandrinksmilk6205
      @fabiandrinksmilk6205 2 місяці тому

      ​@@Anonymous4045Nix Shell, you can setup a development environment easily without affecting the rest of your system. You specify what packages or environment variables you want and Nix creates a new shell with those available to you, when you're done you exit the shell and those packages are gone.

  • @awabqureshi814
    @awabqureshi814 2 місяці тому +3

    I was just looking into this yesterday, and decided I would wait until someone else made a video on it. I am very happy to see this. You read my mind!

  • @draakisback
    @draakisback Місяць тому

    It's been a joy to watch your videos as a content creator and as a software engineer. You're given me some good ideas for building my tutorials without having to sift through an hour long live code session. If I use markdown like you do, I can do most of what I want and then add animations and audio in editing.

  • @ejiek
    @ejiek 2 місяці тому +9

    nvd - Nix/NixOS package version diff tool
    This tool helps to see what actually changes within an update. After updating flake.lock or any other tempering with my config I run: ‘nixos-rebuild build --flake 'flake-path#' && nvd diff /run/current-system result’. It shows it all. Version changes, package and dependency changes.

  • @luisliz
    @luisliz 2 місяці тому +3

    I’ve been working on nix this week and you bring out this video. Love it

  • @samskyset
    @samskyset 2 місяці тому +7

    i haven't been genuinely excited by linux content like this before. i wrote off nix without really looking into it, but this is unironically exactly what i've been looking for--after a journey spanning mint to arch bahaha, thank you for this lovely introduction :)

  • @shawnmiguel
    @shawnmiguel 2 місяці тому +19

    I was just watching some past videos and wishing that you would make something covering Nix. Thanks man, your videos help me a lot.

  • @codetothemoon
    @codetothemoon 2 місяці тому +6

    Very nice! Love the NixOS approach to things. Gave it a try recently but probably gave up too quickly. You’ve inspired me (and undoubtedly many others) to give it another go!

  • @RenderingUser
    @RenderingUser 2 місяці тому +11

    NO WAY. I could have never expected this. I've taken a lot of interest in nix recently. Can't believe you covered it

  • @jh-devv
    @jh-devv 2 місяці тому +80

    Awesome to see you cover NixOS! 🎉

    • @NoBoilerplate
      @NoBoilerplate  2 місяці тому +19

      I couldn't not, I AM FINALLY POWERFUL ENOUGH!

    • @vaisakhkm783
      @vaisakhkm783 2 місяці тому +1

      @@NoBoilerplate it's too powerful.. especially when you love functional... :D

  • @Tanja42
    @Tanja42 2 місяці тому +2

    It really was a matter of time til you made this video 😸
    Nice to see it; jumped on the NixOS train myself about two months ago ❄

  • @blurryface1427
    @blurryface1427 2 місяці тому +41

    I knew you had to eventually drop a nix video

    • @NoBoilerplate
      @NoBoilerplate  2 місяці тому +7

      I've been fighting it for so long lol

  • @panosangel2883
    @panosangel2883 2 місяці тому

    Your content, no matter the topic, is a breeze! I'm glad I found your channel, it literally has revolutionized my way of thinking...and acting!

  • @DeuxisWasTaken
    @DeuxisWasTaken Місяць тому

    Thanks for making this video! I learned about Nix about 2 years ago when searching for an heavily customizeable bleeding edge OS that doesn't have as annoying quirks as Arch or Gentoo, and I'm still mad I only then learned it exists. It's by far the best thing to happen to Linux distros since the invention of package managers.

  • @AlexW5354
    @AlexW5354 Місяць тому +1

    I love how important openness and equity is so important to you. Not only do you espouse that but you also lead by example

  • @TechnologyGeek862
    @TechnologyGeek862 2 місяці тому

    Thanks for the video. Got couple new things to add to my config 😄

  • @loupax
    @loupax 2 місяці тому +2

    You won me at 3:40
    I always wanted to have all my package definitions in a single file, and always wondered why no distro does that. I use arch btw and I still have no idea which packages I installed to use only once and then forget about it. Time to distrohop I guess.

  • @asdfzxcv12345
    @asdfzxcv12345 Місяць тому

    This is the most beautiful thing I have ever seen. Been struggling for weeks with this EXACT problem for a project.

  • @jamespae7019
    @jamespae7019 2 місяці тому +22

    Huh, wondering when/if you'd touch on Nix.
    Half a year ago I decided to learn NixOS (ie. use it as my main partition and just suffer until i figured it out) and simply being able to go back to an older generation when I inevitably screwed something up was extremely pleasant. It's also made cooking up a development environment just that much easier.
    Keep up the good videos!

  • @sweetbabyalaska
    @sweetbabyalaska 2 місяці тому +3

    I just started learning Nix and I'm pretty excited to get up and running

  • @skyguy4164
    @skyguy4164 2 місяці тому

    So excited you did a video on this!

  • @Rostgnom
    @Rostgnom 2 місяці тому +1

    You really deserve this like and subscribe! Great video, I had no idea Linux could be this enjoyable from a dev's perspective!

  • @edwolt
    @edwolt 2 місяці тому +5

    I started to use NixOS some months ago. And it's really nice that most of the state of my system can be easily read from a file, for example, I was not able to know what packages come with the distro and which I intalled when I was using Manjaro.
    Also the reproducibility rocks. I could easily setup another computer just by running the rebuild.
    Also it's really good that I can choose what packages is bleeding edge, which proprietary softwares I accept in my system and have to explicitly allow what insecure/end of life packages I want to install. I wish there were a simple way to disallow some packages to be installed, like not allowing Electron or somethung like that.

  • @BryanChance
    @BryanChance 2 місяці тому

    I like your presentation style. Quite effective, too. LOL I've seen about 5 videos about NixOS in the last 6 months or so. Your video got me downloading NixOS now.. ;-) Thanks mate!
    EDIT: Nix language is very cool! I had no idea it existed, until i saw this video.

  • @syedahkam7164
    @syedahkam7164 Місяць тому

    Tris, You're awesome and you got me converted to Nix. Loving it so far!

  • @conrad586
    @conrad586 2 місяці тому +1

    I love you making a nixos video. I've been using it since half a year but cant get over the steep beginner learning curve, which is alright for using only on my laptop for simpler things like notes and browsing but I'd love to get away from windows in the future.

  • @IsawU
    @IsawU 2 місяці тому +1

    I love the idea of NixOS and I'll probably get into it, but from my gentle QEMU attempts, I had a very hard time even getting the correct desktop to run. Sometimes I'd get to the greeter, but after logging in the screen would just flash and throw me back to the greeter. Sometimes I didn't even get to the greeter. Using it in the terminal was terrific.

  • @eightheve
    @eightheve Місяць тому

    This video is so straight-to-the-point and well made that it may have just convinced me to reinstall my OS. insanely good video for what seems like a perfect OS

  • @pengie_
    @pengie_ 2 місяці тому +2

    Havent watched the full video yet but as a NixOS user im so happy you made this video, always love seeing nix get more exposure

  • @yungabilify
    @yungabilify 2 місяці тому +1

    NixOS is such a neat concept for an operating system, I like the idea of it for servers especially. This is appealing to me because I have in the past made post-install scripts for Arch just to have that type of automation. Might have to give this OS another shot

  • @broikem121
    @broikem121 2 місяці тому +1

    Gracias por hacernos llegar este nuevo tipo de sistema operativo, dado mi escaso tiempo libre diario, no me habría sido posible conocer este contenido sin tu ayuda.
    Gracias

  • @JasonJack365
    @JasonJack365 2 місяці тому

    Brilliant! Exactly what I was looking for. Thanks!

    • @JasonJack365
      @JasonJack365 2 місяці тому

      Got it working! Bloody lovely! Using Parallels on Mac (M3). Everything works well - VScode (yeah, I know), dotnet (yeah, I know), 1Password, gui loveliness, multi screen, etcetera. My dev system is under 20GB. My Windows VM is 280GB. Not. Even. Close. Finally! A Linux distro I can trust to use 'at work'. Thanks again!

  • @hiibolt
    @hiibolt 2 місяці тому +5

    I’ve daily’d NixOS for over 2 years now, and the rollback menu is so, incredibly, amazingly powerful.
    I use a non-Qwerty layout, and broke my operating system multiple times getting native drivers to work. On any other distro, it would not have worked. Now, with a functional version, have the setup in its own Nixfile, permanently hosted on GitHub.
    Write once, fix never. It’s the Rust of operating systems.

    • @NoBoilerplate
      @NoBoilerplate  2 місяці тому +4

      IT'S THE RUST OF OPERATING SYSTEMS!

  • @siddharthbisht8522
    @siddharthbisht8522 2 місяці тому +3

    That does it, I started learning and using rust last year because of you. I was thinking of trying nix and now I think the stars have alligned

  • @biscotty6669
    @biscotty6669 13 днів тому

    Great to see yet more vids on NixOS. For those wanting to try, I strongly suggest installing Nix on your current distro and/or NixOS in a VM. It will be way less frustrating. You can take advantage of many features of Nix without running NixOS itself. Ideally set up a system configured as you like with all you need in a VM, and use the configs to build your configured system right away when you do the real install. You won't have to redo anything, so no wasted time but a "safe" learning environment.

  • @onrir
    @onrir 2 місяці тому +256

    "or whatever it is python is using by the time you are watching this" 😅

    • @fizipcfx
      @fizipcfx 2 місяці тому

      pip poetry conda pyproject.toml...., i think he is right 😂😂😂

    • @Anonymous4045
      @Anonymous4045 2 місяці тому +34

      pip, poetry, anaconda, pipenv, pdm, apt, virtualenv, take your pick 😂

    • @marro7120
      @marro7120 2 місяці тому +4

      he said also npm, and its not for python 😅

    • @roze_sha
      @roze_sha 2 місяці тому

      Rye

    • @geeshta
      @geeshta 2 місяці тому

      hatch

  • @colemickens
    @colemickens 2 місяці тому +1

    Wow! Excellent content, amazing voice. It's almost intimidating exciting how many new users NixOS is getting lately!

    • @i.8530
      @i.8530 Місяць тому +1

      Just wanted to say thank you for your contributions to nixpkgs! I recognized your name from PRs lol

  • @pouet4608
    @pouet4608 2 місяці тому

    yeah ! so much joy when you publish something! it is each time very enlightening!

  • @KastanDay
    @KastanDay 2 місяці тому

    You're a hero for putting so much effort into this video. Thank you!

  • @Muaahaa
    @Muaahaa 2 місяці тому +2

    Good to have you aboard. Really excited about what 2024 might bring to the NixOS community :D

  • @sadboisibit
    @sadboisibit 2 місяці тому +1

    I've been putting off converting my desktop computer from Windows 10 to Linux for the last several months. Watching this (and finally canceling my Adobe subscription) was the push I needed to finally convert.

  • @neoney
    @neoney 2 місяці тому +1

    9:05 the thing I recommend to do to also have a rollback of your configurations, is putting the files in your /etc using environment.etc."config/configuration.nix".source = ./config.nix;
    etc.
    this means the files are copied to the nix store on build time, and then in /etc/config, you always have the currently-booted config, even if you didn't commit it

  • @CWGminer
    @CWGminer 2 місяці тому

    Excellent video, very concise. As a baby Linux user (only used Debian based distros so far but will try Arch soon), the thing stopping me from trying NixOS right now is the documentation. It’s not quite there yet. While I believe you that learning the Nix language is a time investment worth making, it’s a really rough experience until you get familiar with it. The documentation treats you like you already know the language, so it’s not friendly for people new to Nix or especially Linux in general. It’s not even as if I’m a fresh install, I’ve been using Linux for several years and started daily driving it this year.

  • @Tobiky
    @Tobiky 2 місяці тому +13

    Thank you, I similarly tried NixOS a while back and the whole nix-env scared me off. This is exactly what I wanted out of nix!

  • @MisraPreetiman
    @MisraPreetiman 2 місяці тому +1

    Never thought I’d see one of my favourite channels shout out another one of my favourites! So cool to see the recognition Nix and NixOS has been getting as of late thanks to people like Vimjoyer! Love from India ❤

  • @user-gf8no4es6m
    @user-gf8no4es6m 2 місяці тому

    You made me want to try daily driving Linux again, after years of working in MacOS and pushing Linux everywhere I can only in my job or home IoT stuff. Thanks 🏄🌊

  • @TobiasFrei
    @TobiasFrei 2 місяці тому +1

    Thanks a lot for your inspiring ideas here. And yes, in January I switched all my machines (except for one development workstation on Arch Linux) to NixOS -- using Flakes, using Home Manager.
    And then this language 🥰 , e.g.
    # Make use of recursive attribute set
    rec {
    # Fibonacci seqence, naive recursive:
    fib = n:
    if n < 2 then
    n
    else fib (n - 1) + fib (n - 2)
    ;
    # powers, recursive with nested functions for currying:
    pow = b: e: if e == 0 then 1 else pow b (e - 1) * b;
    }

  • @fuzzy-02
    @fuzzy-02 2 місяці тому +1

    I love this video, and was about to convert my old laptop from Ubuntu (was windows 8.1 but too slow, linux revived it) to NixOs but I got lost from around half part of the video.
    Guess I need to find some free day to sit down and research first

    • @NoBoilerplate
      @NoBoilerplate  2 місяці тому

      vimjoyer's video I linked is SO good

  • @GS12478
    @GS12478 2 місяці тому

    I daily drive nixos for over a month and it is awesome!
    Before i was saving my configurations and packages with Ansible, but i always felt like it's not the way Ansible wants to be used..
    With NixOS i can configure everything in a single space, without having to worry, i am missing something, when i setup a new machine!

  • @borazan
    @borazan 2 місяці тому

    I switched to NixOS after watching this and vimjoyer's ultimate guide and I couldn't be happier. Thank you for this.

  • @Sestaak
    @Sestaak 2 місяці тому +2

    I love how much attention Nix and NixOS have been getting recently. Thanks for putting out the good word!

  • @borisoid
    @borisoid 2 місяці тому +1

    So glad NixOS is getting attention it deserves.
    I played with in in a VM , read a lot about it and I loved it. I'm using kubuntu with nix home-manager (flake) and I really want to just install NixOS.
    The only problem I see (apart from being lazy to move my work related stuff to a new system) is that if your team doesn't use Nix - you are screwed. You will need to set up a dev-container or a full VM to develop projects that were set up and configured on and for an FHS system.

    • @NoBoilerplate
      @NoBoilerplate  2 місяці тому +2

      I found the python developer! (joking! this problem happens with many languages)
      The real solution to your problems is to encourage your team to move to container-based development, that way it'll work across linux/osx/windows AND your nixos machine. "install a bunch of these random dependencies" is not how we should develop software :-D

    • @borisoid
      @borisoid 2 місяці тому

      Wow, you nailed it, I am a python dev 😄
      Containers are awesome in 2 ways:
      - You can be very precise about your app's environment. It works on my machine - it will work on any machine
      - You don't pollute your system/home with some packages, npm/python global installs, python venvs, configs, caches, etc. I don't understand why I *NEVER* heard anyone having concerns about this. The first time was when I learned this: "Nix exposes to your userspace only the packages you explicitly installed". Nix doesn't save you from all trash files though... Containers do

    • @TheSuperComputer0
      @TheSuperComputer0 2 місяці тому

      @borisoid I think you'll want to check out nix-shell for your dev environments. Wasn't covered in this video, but it's an excellent alternative to docker containers, fully integrated with your OS. There's also direnv, which can automatically switch to these nix shell environments based on directories. They are relatively small files, any other nixos devs on the team will see you as a Chad, and maybe you'll convert other curious devs.

    • @doctorbobstone
      @doctorbobstone 2 місяці тому

      @@NoBoilerplate I'm curious. When you recommend container-based development, are you imagining web development or other systems where you almost entirely interact with your application through the network or through another program like a web server or similar? I'm an embedded developer and I also do a lot of system programming. When I'm not developing something which uses hardware, I'm probably writing something that I intend to call from the command line, so having binaries which only work inside one special container (or which I have to build multiple times) just never seems to make sense to me.
      That being said, having containers for CI or so you *can* debug build problems separate from your idiosyncratic system and so on? That's great. I just want portability so that things work inside and out so you can be flexible and use the tools most suited to your situation.
      So, my curiosity: I'm curious how what I've described jibes with your recommendation to move towards container-based development. Are you trying to get more benefits than I've outlined? Or solving different problems? Or do you basically agree (or disagree) with my position?

  • @B1adeLegend
    @B1adeLegend 2 місяці тому

    Your Linux proverbs always resonate with me - from a general user standpoint, the true power of a Linux distro is the package manager! Everything else is personal.

  • @puddlepep
    @puddlepep 2 місяці тому +1

    good shit, been thinking about trying nix for a while but i keep putting it off. ive been an arch gal since i started using linux, always just kind of enjoyed how it worked over other distros. might throw this on my laptop some time soon n give it a good run. good video 👍👍🐌

    • @puddlepep
      @puddlepep 2 місяці тому +1

      fuck it tryin it out right now

    • @NoBoilerplate
      @NoBoilerplate  2 місяці тому +1

      YES! And the genius thing is, once you've proved everything works for you, you now have a config that you can put on any other machines you own and get them up to the same state in like 15 minutes!

  • @NahrAlma
    @NahrAlma 2 дні тому

    FIIIINE. I will give it another try. Thankfully I was smart enough to save my nix config file from back then. I now feel very smart indeed.

  • @nakretkacisnienie
    @nakretkacisnienie 2 місяці тому +59

    i use arch btw

  • @Terraspark4941
    @Terraspark4941 Місяць тому +1

    You sound like if Tom Scott took a lighter coffee today and decided to talk about Linux distros instead of weird places around the globe; and I love it ❄
    I wonder how long it may take for NixOS to overtake Arch, with such a large difference in safety and simplicity? Great video, overall!

  • @watson-disambiguation
    @watson-disambiguation 15 днів тому

    This video got me to use Nixos, and boy have I been enjoying it. Things occasionally get stuck but mostly just work! It's great, and so much better to work with than my previous experience with Linux and definitely better than with windows.

  • @bash0985
    @bash0985 2 місяці тому

    This is very interesting. I've been planning to do a fresh desktop OS install that isn't Ubuntu and this might just be it. So far have loved all the other tech you've recommended before so I'm sure this will be no different!

  • @seinodernichtsein8710
    @seinodernichtsein8710 2 місяці тому +1

    Perfekt timing. Was planning on switching to Linux soon

    • @NoBoilerplate
      @NoBoilerplate  2 місяці тому

      Nice! I usually recommend Ubuntu to newbies, it's super friendly and universally supported - but do what makes you excited!

  • @eksno
    @eksno 2 місяці тому +7

    I'm always surprised about how likeminded we are in terms of systems in life. You've gotten me on polyphasic, obsidian (switched to vim + github repo but fundamentally same), and also make videos on stuff I'm already using like Linux, Rust, and now surprisingly NixOS which I've been using as my main distro for 5 months now! Nice to have someone where I know every video will be based on the same fundamental ideals I have. (looking at your videos I see you also, like me, have adhd and autism so there's that lol)

    • @angeldude101
      @angeldude101 2 місяці тому +4

      This channel did have a video on ADHD, and I think Rust and NixOS both appeal to me in similar ways that are partly a result of my AutDHD. My autism liked it when things are consistent and predictable anyways, but my ADHD can result in both a desire to move fast and break things, and a poor memory making it hard to remember what I've already done.
      Neither Nix nor Rust fully allows for moving fast and breaking things, but they do allow me to try ridiculous things when I get the urge to, and will proof read my work to make sure it won't break things too badly, and NixOS in particular let's me just pretend that what I did to break the system never actually happened. And then regarding the memory aspect, both Rust and NixOS are great for collaborating with other people, but that also makes them great for collaborating with yourself across time if you've forgotten enough in the meantime to effectively count as a different person when coming back to a project. (And the OS is certainly a project you won't completely forget about and will keep coming back to.)

    • @eksno
      @eksno 2 місяці тому +2

      @@angeldude101
      > (And the OS is certainly a project you won't completely forget about and will keep coming back to.)
      This is one of the exact reasons I got into nixos and actually commited. Where every change I make will be persisted through my life moving forward, the knowledge that, over time, if I use it as my main distro, I'll become as innately familiar with it and know every in-and-out. I can say though I'm not even close to knowing everything about nixos though haha! Just recently discovered the wonder of nix-shell 4 months in so I could remove all my project based dependencies from my main config, and share the reproducable dev environment with my 0 co-workers who also use nixos lol.

    • @NoBoilerplate
      @NoBoilerplate  2 місяці тому +1

      My autism video is coming next month! :-D

    • @NoBoilerplate
      @NoBoilerplate  2 місяці тому +1

      My autism video is coming next month! :-D

  • @fakecrafter7448
    @fakecrafter7448 2 місяці тому +1

    using nixos since a few month and struggled with the dynamic library thing in nim just a few days ago and instead used other libraries, so this was actually helpful to my specific situation. And it was also the only reason i ever doubted nixos

    • @NoBoilerplate
      @NoBoilerplate  2 місяці тому

      it means I never have to package up stuff manually just to get a plugin working.

  • @JustDeeevin
    @JustDeeevin 2 місяці тому +2

    I had heard about nix a while ago but felt like it was kind of needlessly different.
    You've changed my mind

    • @NoBoilerplate
      @NoBoilerplate  2 місяці тому +1

      RIGHT! It's quite simple when explained simply. I don't really know or care about all the complexities, I just edit my config, run the reload, and keep on trucking :-D

  • @user-hz2fl3mg6j
    @user-hz2fl3mg6j 2 місяці тому

    absolutely beautiful

  • @norude
    @norude 2 місяці тому

    I now have ubuntu as my main and only OS
    I have installed nixos and now will use it alongside ubuntu, just as i did with ubuntu and windows, when I was first switching to linux

  • @fluffy-kalashnikov
    @fluffy-kalashnikov 2 місяці тому

    I really like playing games and primarily use home-manager to install non-commandline applications. What sold me is the fact that you aren't rebuilding the system, so you don't have to recompile Vulkan shaders every time you install/uninstall an application 😂
    Baldur's Gate does indeed work great c:

  • @tobiasjennerjahn8659
    @tobiasjennerjahn8659 2 місяці тому

    I don't know how you do it, but you often cover a topic I'm interested in at the exact time that I become interested in it.
    Unfortunately in this case you've convinced me to finally give nixos a shot. I was very happy with my current setup. It's snappy, it's reliable and I know how everything works. But now you come along with your incredibly well presented arguments on why my system is actually unusable trash and I need to switch it for something even shinier immediately. Oh well, it's not like I have stuff do /s
    I'm joking of course, you're not forcing me to do anything. But Nix's sales pitch really is compelling. Never fearing to break something again at an incredibly inconvenient time and never dealing with clashing dependencies again (without having to resort to docker dev environments or some other annoying workflow) all sound amazing. It's infrastructure as code, but for my personal system... Now I'm even starting to talk myself into it, what's happening?!
    As always, fantastic video. Thanks for the concise introduction.

  • @lukeh990
    @lukeh990 2 місяці тому +1

    What I see this being really good for, is usage in enterprise environments. Like digital signage or POS. Maybe in employee workstation if any company is daring enough to not use Windows.

  • @okk2094
    @okk2094 2 місяці тому

    Not being sold on home-manager surprised me. For me they go hand in hand as home-manager naturally expands Nix's ability to configure even more things. 😄

  • @maxpursian
    @maxpursian 2 місяці тому +1

    I've just set up Arch lmao But this looks tempting. I might try it out and possibly set up my pc from scratch again

  • @dooshbagism
    @dooshbagism Місяць тому

    I know basically nothing about coding and I didn’t understand a word of this video, but I still watched the whole 15min of this shabang of an engaging saga that it was. It’s been a while since I’ve felt so dumb. Thank you for the reality check.

  • @pandavova
    @pandavova 2 місяці тому +2

    Never knew about this, man this is pretty cool! Won't switch to Linux as a primary OS, but I'll keep NixOS in mind.

    • @NoBoilerplate
      @NoBoilerplate  2 місяці тому +1

      Dual boot! The nixos installer sets it all up for you :D

    • @pandavova
      @pandavova 2 місяці тому

      @@NoBoilerplate ... maybe? I had bad experiences with Linux Dual Boot and Windows years ago, so I never did it again.
      Not really in need of Dual Booting into Linux... If anything needs Linux, I try it on a PartedMagic USB stick and that is working out for me.
      I'm trying to think for what reason I could justify Dual Boot, but I can't find one currently.
      (I'm also planning to finally reinstall Windows and do Win 10 LTSC instead of normal Win 10. I wonder when I'll get to that...)

    • @laundmo
      @laundmo 2 місяці тому +1

      @@pandavovaIf you're a Rust dev like many people who watch this channel: compile times. ITS SO MUCH FASTER! like, i was surprised switching from windows to linux for compiling rust projects would be that much faster.

    • @pandavova
      @pandavova 2 місяці тому

      @@laundmo I'm not dev at all so... Yeah...

  • @kelvincesar_
    @kelvincesar_ 2 місяці тому

    I've tried it for one week and got amazed by being able to configure everything in one file. But I had uninstalled it when try to compile some Rust's packages, it was delaying me so much to achieve simple things because I had to also understand about the nix syntax. I think I'll give it another try in the future with more patience

  • @AugustoGuerrero__Main__
    @AugustoGuerrero__Main__ 2 місяці тому

    this Is awesome! im going to run nixos on rpi5

  • @purewaterruler
    @purewaterruler 2 місяці тому +1

    For anyone wondering, the reason a lot of binaries might not work is because of dynamic libraries.
    Nix doesn't put anything where programs expect them, and doing things like dynamic libraries working out of the box will usually break reproducability, which is one of the main goals of nix.

    • @NoBoilerplate
      @NoBoilerplate  2 місяці тому

      the main reason I did this was to effortlessly get all my apps that background-download arbitrary binaries to just work.
      Solved a thousand tiny problems in one go, and it's still reproducible enough for me, because the apps THEMSELVES (vscode, nvim) have a config I control, I just don't care what THEY are doing behind the scenes to make themselves work.
      It's a concession to practicality, and one that most people will want.

    • @purewaterruler
      @purewaterruler 2 місяці тому +1

      @NoBoilerplate yeah! I think it's not enabled by default because it breaks one of the design goals of nix in the first place. If you want have a hole in reproducability, that's a conscious decision you have to make first.

    • @NoBoilerplate
      @NoBoilerplate  2 місяці тому

      Reproducibility is imperfect anyway, even in nixos, I prefer to make some small concessions in reproducibility to gain enormous practicality! :-)

  • @ThePowerRanger
    @ThePowerRanger 2 місяці тому +1

    Will give it a try.

  • @rust2985
    @rust2985 Місяць тому

    fantastic video on nix... i may have commit to switching. maybe next time arch gives me trouble ill do it for good.

  • @mechanicalmonk2020
    @mechanicalmonk2020 2 місяці тому +1

    I discovered Nix half a year ago when I needed to reinstall Linux on my work laptop and I'm hooked.

  • @sleepy-monax
    @sleepy-monax 2 місяці тому +3

    The more package than the AUR point is really debatable since the two distribution count packages differently

  • @GungaLaGunga
    @GungaLaGunga 24 дні тому

    wow thank you!! I will try it. Looking for new daily driver distro.

  • @eduardabramovich1216
    @eduardabramovich1216 2 місяці тому

    Hopefully you will create more content on NixOS, specially on how to manage it in a professional IT env.