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!

ความคิดเห็น • 907

  • @NoBoilerplate
    @NoBoilerplate  2 หลายเดือนก่อน +344

    ERRATA
    - @Vimjoyer's video is here: th-cam.com/video/a67Sv4Mbxmc/w-d-xo.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 หลายเดือนก่อน +1038

    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 หลายเดือนก่อน +262

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

    • @Schmogel92
      @Schmogel92 2 หลายเดือนก่อน +24

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

    • @akkesm
      @akkesm 2 หลายเดือนก่อน +84

      @@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 หลายเดือนก่อน +14

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

  • @vimjoyer
    @vimjoyer 2 หลายเดือนก่อน +744

    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 หลายเดือนก่อน +42

      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 หลายเดือนก่อน +96

      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 หลายเดือนก่อน +13

      @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 หลายเดือนก่อน +194

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

    • @CipherOne
      @CipherOne 2 หลายเดือนก่อน +5

      🤮

  • @blehbleh9283
    @blehbleh9283 2 หลายเดือนก่อน +173

    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 หลายเดือนก่อน +16

      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

  • @FreshSmog
    @FreshSmog 2 หลายเดือนก่อน +182

    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 หลายเดือนก่อน +76

      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 หลายเดือนก่อน +6

      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 2 หลายเดือนก่อน

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

  • @jeiang
    @jeiang 2 หลายเดือนก่อน +201

    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 หลายเดือนก่อน +67

      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 หลายเดือนก่อน +29

      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 หลายเดือนก่อน +18

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

  • @cid-chan-2
    @cid-chan-2 2 หลายเดือนก่อน +43

    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 2 หลายเดือนก่อน +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

    • @NatoBoram
      @NatoBoram 15 วันที่ผ่านมา +1

      YAML and Toml are easier to read and write than JSON for humans as you don't have to be concerned about escaping quotes in the middle of a string

  • @andylees8939
    @andylees8939 2 หลายเดือนก่อน +45

    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

  • @twenty-fifth420
    @twenty-fifth420 2 หลายเดือนก่อน +208

    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.

    • @NoBoilerplate
      @NoBoilerplate  2 หลายเดือนก่อน +30

      woops! added to the errata :-D

  • @0thLaw
    @0thLaw 2 หลายเดือนก่อน +59

    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.

  • @idkwtpaah
    @idkwtpaah 2 หลายเดือนก่อน +61

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

    • @NoBoilerplate
      @NoBoilerplate  2 หลายเดือนก่อน +2

      I'm so late to the party lol

    • @bew
      @bew 2 หลายเดือนก่อน +1

      But you came, welcome o/

  • @DavidConnerCodeaholic
    @DavidConnerCodeaholic 2 หลายเดือนก่อน +19

    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.

  • @Nicfallenangel
    @Nicfallenangel 2 หลายเดือนก่อน +28

    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.

  • @sharperguy
    @sharperguy 2 หลายเดือนก่อน +13

    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.

  • @Synthetica9
    @Synthetica9 2 หลายเดือนก่อน +77

    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 หลายเดือนก่อน +1

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

    • @ToyKeeper
      @ToyKeeper หลายเดือนก่อน

      @@sachinchaudhary1310 Not a bro.

    • @sachinchaudhary1310
      @sachinchaudhary1310 หลายเดือนก่อน

      @@ToyKeeper really women's are amazing

    • @arden6725
      @arden6725 23 วันที่ผ่านมา +1

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

  • @robinkneepkens4970
    @robinkneepkens4970 2 หลายเดือนก่อน +107

    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.

  • @xard64
    @xard64 2 หลายเดือนก่อน +70

    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.

  • @scottmuc2112
    @scottmuc2112 2 หลายเดือนก่อน +17

    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.

  • @jh-devv
    @jh-devv 2 หลายเดือนก่อน +81

    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

  • @ejiek
    @ejiek 2 หลายเดือนก่อน +10

    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.

    • @NoBoilerplate
      @NoBoilerplate  2 หลายเดือนก่อน +3

      cool! thank you

  • @__shaun__
    @__shaun__ 2 หลายเดือนก่อน +6

    JIMMY CARR USES NIX?!

  • @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)

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

  • @blurryface1427
    @blurryface1427 2 หลายเดือนก่อน +43

    I knew you had to eventually drop a nix video

    • @NoBoilerplate
      @NoBoilerplate  2 หลายเดือนก่อน +8

      I've been fighting it for so long lol

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

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

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

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

  • @luisliz
    @luisliz 2 หลายเดือนก่อน +3

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

  • @draakisback
    @draakisback 2 หลายเดือนก่อน

    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.

  • @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 ❄

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

    • @NoBoilerplate
      @NoBoilerplate  2 หลายเดือนก่อน +2

      Thank you!

    • @_Lumiere_
      @_Lumiere_ 2 หลายเดือนก่อน

      Do you still use it?

    • @jamespae7019
      @jamespae7019 หลายเดือนก่อน

      That I do. @@_Lumiere_

  • @hiibolt
    @hiibolt 2 หลายเดือนก่อน +6

    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!

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

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

  • @nakretkacisnienie
    @nakretkacisnienie 2 หลายเดือนก่อน +61

    i use arch btw

    • @jh-devv
      @jh-devv 2 หลายเดือนก่อน +1

      I use nix btw

    • @justsomeonepassingby3838
      @justsomeonepassingby3838 2 หลายเดือนก่อน +1

      I use guix btw

    • @7Dev.
      @7Dev. 2 หลายเดือนก่อน

      Mee to btw

    • @happycats-go8sv
      @happycats-go8sv 2 หลายเดือนก่อน +1

      I don't use gentoo :(

    • @Posponger
      @Posponger 2 หลายเดือนก่อน

      I use linux from scratch btw (i don't)

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

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

  • @DeuxisWasTaken
    @DeuxisWasTaken 2 หลายเดือนก่อน

    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.

  • @0thLaw
    @0thLaw 2 หลายเดือนก่อน +6

    Here, algorithm, have a comment.

  • @DaveWarnock
    @DaveWarnock 2 หลายเดือนก่อน +8

    Interesting. I recently returned to Debian from Ubuntu as a full time Linux user since 1998 (almost always without a dual boot).
    What I missed in your video and then from the NixOs website is anything about the philosophy, whether there is a social contract, how it relates to commercialization.
    You mention the USB drive option and it would be great to see more detail on how to use a USB build as a way of easing migration rather than a full nuclear option of OS replacement.

    • @NoBoilerplate
      @NoBoilerplate  2 หลายเดือนก่อน +4

      NixOS strikes what I think is a great middle ground between libre and practicality, unlike gnu guix, which is libre only.
      In the nixos installer, you are presented with a checkbox labelled "Allow unfree software?" it's disabled by default.
      I want to play games, run music software, and use proprietary drivers, so I checked it.
      If I were installing on a server, I'd not have to.
      Purity must always be balanced with practicality, guix has 9k fresh packages, and I simply can't run my life in it. I can with NixOS!

    • @DaveWarnock
      @DaveWarnock 2 หลายเดือนก่อน

      @@NoBoilerplate I'm not an extremist FSF person, I think Debian has a sane middle ground. Ubuntu is heading in a concerning direction, for me, for example with snap and the snapstore.
      It looks like NixOs might be a good place for me to help with consistency over a couple of desktops, a couple of laptops and some Raspberry Pi projects. Although I don't want the same packages on all systems (eg Raspberry Pi are either dedicated to boat navigation and instruments or media systems, my wife desktop to office stuff and kdenlive, my 2 systems very multi-purpose including development).
      I'd already been attracted to nixshell as an alternative to Docker for rust development projects with databases etc (looks like nix develop might be even better).
      It does look like there is a steep learning curve to getting on top of the current "best practice" eg flakes.

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

  • @TechnologyGeek862
    @TechnologyGeek862 2 หลายเดือนก่อน

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

  • @notafbihoneypot8487
    @notafbihoneypot8487 2 หลายเดือนก่อน +5

    BoilerOS when?

  • @SuperOblivionfan
    @SuperOblivionfan 2 หลายเดือนก่อน +3

    Nixos killed my distro hopping syndrome. Its the logical conclusion of linux imo

  • @sweetbabyalaska
    @sweetbabyalaska 2 หลายเดือนก่อน +3

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

  • @AlexW5354
    @AlexW5354 2 หลายเดือนก่อน +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

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

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

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

  • @asdfzxcv12345
    @asdfzxcv12345 2 หลายเดือนก่อน

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

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

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

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

  • @syedahkam7164
    @syedahkam7164 2 หลายเดือนก่อน

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

  • @skyguy4164
    @skyguy4164 2 หลายเดือนก่อน

    So excited you did a video on this!

  • @fcriado92
    @fcriado92 15 วันที่ผ่านมา

    I bought a secondhand laptop mostly to test this out as it looked fun. No regrets, this distro is great! Thanks for the recommendation, I'm sure you brought a lot of newbies to NixOS with this. I expect this style of package manager will become more popular because it makes so much sense.

  • @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 2 หลายเดือนก่อน +1

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

  • @biscotty6669
    @biscotty6669 หลายเดือนก่อน

    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.

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

    • @NoBoilerplate
      @NoBoilerplate  2 หลายเดือนก่อน +1

      Sorry/notsorry! :-D

  • @SixTimesNine
    @SixTimesNine 2 หลายเดือนก่อน

    Brilliant! Exactly what I was looking for. Thanks!

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

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

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

  • @KastanDay
    @KastanDay 2 หลายเดือนก่อน

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

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

  • @eightheve
    @eightheve 2 หลายเดือนก่อน

    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

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

  • @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;
    }

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

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

  • @pouet4608
    @pouet4608 2 หลายเดือนก่อน

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

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

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

  • @Terraspark4941
    @Terraspark4941 2 หลายเดือนก่อน +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!

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

  • @Muaahaa
    @Muaahaa 2 หลายเดือนก่อน +2

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

  • @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 ❤

  • @Sestaak
    @Sestaak 2 หลายเดือนก่อน +2

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

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

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

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

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

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

  • @NahrAlma
    @NahrAlma 19 วันที่ผ่านมา

    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.

  • @watson-disambiguation
    @watson-disambiguation หลายเดือนก่อน

    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.

  • @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 🏄🌊

  • @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:

  • @sylvanfranklin6904
    @sylvanfranklin6904 2 หลายเดือนก่อน +2

    Awesome video as always! Do you mind if I ask about how the polyphasic sleep is going?

    • @NoBoilerplate
      @NoBoilerplate  2 หลายเดือนก่อน

      No news since the video, I am very glad I did it, but the discipline it taught me has made my biphasic (ie siesta) life really good!

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

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

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

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

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

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

  • @stinkytoby
    @stinkytoby 2 หลายเดือนก่อน +6

    I take full credit for the quote at 7:38!

    • @NoBoilerplate
      @NoBoilerplate  2 หลายเดือนก่อน

      NOT NOW SON

    • @stinkytoby
      @stinkytoby 2 หลายเดือนก่อน +1

      @@NoBoilerplate>:3

  • @TheJayman213
    @TheJayman213 2 หลายเดือนก่อน +1

    While I got into Emacs I never got into WMs. NixOS seems like another one of those things you can spend a lifetime configuring. So for now I'm just trying other immutable distros.
    Not having packages share any dependencies seems like overkill. You can just keep using a single container for everything until you hit a conflict and add new containers accordingly.

  • @varchasvh02
    @varchasvh02 2 หลายเดือนก่อน

    Hey, Fantastic video. I just wanted to know if you can play fps games in a linux distro without any problem. Thanks

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

  • @sweglord227
    @sweglord227 2 หลายเดือนก่อน +3

    honestly would check it out if i felt like nuking my system. maybe at a later date when i have less things going on. seems very cool and just what im into

    • @NoBoilerplate
      @NoBoilerplate  2 หลายเดือนก่อน +1

      Yeah, it's a great little weekend project. If you have an old spare laptop lying around, do what I did: test out all your apps on there, make sure it seems like it'll do what you want, then just take that configuration file, and put it on your main machine. One rebuild later and you're at the same state as you were on the laptop - WILD!