Matthew Croughan - What Nix Can Do (Docker Can't) - SCaLE 20x

Поделиться
HTML-код
  • Опубликовано: 18 мар 2023
  • A free-form, interactive and unrehearsed talk/lecture I gave at the Southern Californian Linux Expo 2023
    www.socallinuxexpo.org/
  • НаукаНаука

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

  • @Nerd2k7
    @Nerd2k7 Год назад +52

    I can watch this every minute of the day. Everything about nix is pure gold to me. Thanks Matthew!

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

    This guy's passion for Nix is contagious

  • @kindoblue
    @kindoblue Год назад +19

    Super cool presentation, super packed with infos. Thanks a lot 🙏

  • @0xpbek
    @0xpbek 11 месяцев назад +11

    Thank you for inspiring me to use NixOS! I can't ever stop learning, packaging, tweaking. 😁

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

    Thank you for your presentation, I'm on the second day of my NixOS journey and already loving it!

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

    20 minutes left to go. I’m going to have to start this video over and watch it again as soon as I’m finished.
    Amazing stuff!

  • @robertpearce9424
    @robertpearce9424 10 месяцев назад +9

    Excellent presentation and probably the only person that I have stumbled on that is clearly knowledgable AND can communicate their ability of nix clearly and concisely.. I know it is a niche distro but would love to see a very long series of all of your excellent choices of demos for future videos on your channel. I am sure you are busy, but building a working config from start to finish, or even live streaming similar demo/ideas where you build/config/debug all at the same time... Keep up the video creation, I will watch whatever you create - subscribed!

  • @mawfyy7001
    @mawfyy7001 10 месяцев назад +4

    Dang, i use nixOS everyday and i in love it, heard this is gold to me

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

    Nix pkg managment is so awesome and its really revolutionry idea . and AUR as always op supported so many packages !!

  • @JOHNSMITH-ve3rq
    @JOHNSMITH-ve3rq 8 месяцев назад +4

    This is art.

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

    This is definitely a very impressive talk, with lots of information presented. My problem is that it is a little too fast so I have a problem to follow along. The speed with which you switch between the parallel demos and context switch. It would be super to see the same kind of content but a bit more focused and slowed down.

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

      I think the point of this talk is just to get exposed to the possibilities. Then you can go to other resources to learn how to use it in detail at a slower pace

  • @stokedfool
    @stokedfool 9 месяцев назад +3

    Impressively long demo. Amazing stuff. I'm sold on Nix.

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

    Beautiful video. Excellent presentation.

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

    Loved the talk! I'm new to Nix and this showed how much Nix can do.

  • @Techonsapevole
    @Techonsapevole 10 месяцев назад +2

    I'm speechless, thank you!

  • @mppdidi9436
    @mppdidi9436 7 месяцев назад +2

    excellent - best thing since LFS | cheers

  • @kwinzman
    @kwinzman 5 месяцев назад +1

    Great talk! Every time you say "right?" it reminds me of the "Duck Quack Sound Effect".

    • @matthewcroughan
      @matthewcroughan  5 месяцев назад +2

      Lol, never noticed that before, uh oh

    • @50_Pence
      @50_Pence 3 месяца назад +1

      I read this comment right at the start. Omg

  • @fabianbusch8772
    @fabianbusch8772 10 месяцев назад +3

    I'm hyped

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

    This looks like something that’s super awesome in the happy path and a nightmare to debug when things go wrong

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

      It's not that bad. Depends on what kind of Nix code you're writing/using, as is true in all code. There are some really bad Nix libraries out there (Haskell.nix), but generally speaking the happy path encompasses more of the Nix ecosystem than the sad path does, at this time. Subject to change, of course.

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

    Fantastic presentation! Thank you!!

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

    This is a GREAT presentation. My only issues is the constant context switching. I realize you are excited to show off all of what Nix/OS is capable of, but the constant switching between different demonstrations is a bit overwhelming. I was able to follow along because I'm a Nix user but I could see from a foreign perspective that it would be information overload. Perhaps try one demonstration at a time and while things are downloading, engage in more audience interactions. Just a suggestion, again overall the presentation was amazing!

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

    Hi Matthew, can you set the language for this talk to English so that RUclips captions it automagically?

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

      I never knew that this was required to generate those captions! Done, thank you.

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

      @@matthewcroughan thank you!

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

    I never hit the notification bell. I hit it this time!

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

    Great talk showing of Nix!

  • @sergioquijanorey7426
    @sergioquijanorey7426 11 месяцев назад +2

    Great content!

  • @TilmanBaumann
    @TilmanBaumann 5 месяцев назад +2

    I should play more with the repl...

  • @XenonG
    @XenonG 11 месяцев назад +2

    Nix/NixOS does what Docker Don't!

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

    type systems are conquering the computer industry

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

    I remember when giving a talk there was a preview of the next slide, it's soykafingly helpful, it helped greatly with overdesigned slides with blank animations and some cringe memes such as the ones you've that appeared without any context beforehand.

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

    i ran the rufzxp nix package as a joke in wsl2 on Windows 11 and it actually starts. unusable as the audio doesnt work right but surprised it displays at all. cant wait to try out nixos

  • @CaseyHancocki3luefire
    @CaseyHancocki3luefire 10 месяцев назад +2

    This sh** is amazing looking.

  • @bzmrgonz
    @bzmrgonz 4 месяца назад +1

    You owe us a show-n-tell on nix on your phone m8!

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

    How does this compare to Spack? Is Nix suitable for HPC, which usually requires fine tuning of compilation flags?

    • @capability-snob
      @capability-snob 5 месяцев назад +1

      Compilation flags discussed at 1:59:15

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

    such a good presentation! btw Matthew, which nix lsp are you using for neovim ?

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

    Matthew thank you very much for this talk & interactive demo. A big thank you for repeating the questions from the audience!
    I have a couple of followup questions, would appreciate if you (or anyone else who knows the answer) can clarify these:
    What happens to a state (e.g data of a db) when you change a package? Does each version/derivation of a package has its own place to store state? Or does it depends on the package definition?
    The other question is about the software versions. Is there a way you can ask for hello v1 instead of what is latest in the nixpackages head? Or is the big idea is that you can get (and pin) the latest and if you need anything older than you need to find it in git and built it yourself? (or create a private derivation)
    Are there still any notoriously hard components to package out there left? Is there any popular software package that makes very broad assumptions that are just too hard to sandbox?
    A bit related to the previous one.. does something like systemd can work with nix?
    Appreciate your time!

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

      Nix doesn't perform runtime sandboxing, you would need something like Nixpak for that. So if you run a program, its internal references may have been patched out by Nixpkgs recipes/derivations to refer to /nix/store/ paths, meaning the program will not look in common FHS paths like /lib /usr, etc. Nix doesn't have /lib, so if that occurs, then the program will crash, and we will have to fix it by patching it in Nix. I like to say to people that you don't really need runtime sandboxing with this property, but some people would disagree with me. I say to those people, why are you running software you don't trust?
      You can ask for any version of a piece of software you want, either by referring to an older version of Nixpkgs that happened to have an older version, or by overriding an existing nix recipe/derivation by using a Nix expression, which is a piece of Nix code.
      To get the Hello from nixos-22.11
      nix shell github:nixos/nixpkgs/nixos-22.11#hello
      To override the Hello from nixos-22.11 with the 2.8 version of GNU hello
      nix shell --impure --expr '(import (builtins.getFlake "github:nixos/nixpkgs/nixos-22.11") {}).hello.overrideAttrs (_:{ src = builtins.fetchurl "ftp.gnu.org/gnu/hello/hello-2.8.tar.gz"; })'
      Every program that is compiled has different inputs, or else it occupies the same /nix/store path. So the fact that the URL was different for hello in my example above is what makes its hash/shasum in the /nix/store unique and different.
      Program state has nothing to do with Nix. If the Hello wants to write to ~/.config/hello, then Nix will not interact with that or modify that in any way.

  • @lucas.84
    @lucas.84 2 месяца назад

    What terminal font are you using? It looks super cool!

  • @adammontgomery7980
    @adammontgomery7980 4 месяца назад +1

    I played with nixos for a bit the other day in a VM. My problem with it is, it feels like I can't do something unless I've done it before. I can't be the only one who has to copy/paste from someone else's vim/nvim config because I don't know what every single option is. For instance, Matt shows you can just enable the nginx service and have a web server; but nginx is nowhere to be seen in the list of system packages. How would someone know beforehand that nixos can just retrieve a service's dependency?

    • @matthewcroughan
      @matthewcroughan  4 месяца назад +3

      search.nixos.org/options?channel=23.11&from=0&size=50&sort=relevance&type=packages&query=nginx

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

    Any links to slides pls? Thanks!

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

      docs.google.com/presentation/d/1HEwiivu08gADnIpAtDpTPSXcXNI89HqzZsmNxLi_7tA/edit?usp=sharing

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

      Thank you!

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

    Hey, Matthew! Great talk! Do you hang out in London at all? Would be cool to have a Nix meetup. People just don't know about Nix.

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

      www.eventbrite.co.uk/e/london-nix-user-group-tickets-620517152507

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

    What happens if no nixos package is available like the bcc tools example?

  • @TilmanBaumann
    @TilmanBaumann 5 месяцев назад +1

    What's that nvim language server? I truly miss that currently in my (astro-nvim based) setup

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

    I'm sure I can look this up but... I'm not seeing versions mentioned. If you install python3 with numpy... what versions do I get? The lack of explicit versioning for all the settings and such seems odd. services.nginx.enable = true... but what nginx am I getting?

    • @matthewcroughan
      @matthewcroughan  9 месяцев назад +3

      It gets the version that's in the revision/version of nixpkgs you're using. It is very explicit, if you want to change the version then you can use override/overrideAttrs

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

    Great demo, but I do think you went a little fast in some parts (or at least did a lot simultaneously which was harder to follow).
    It's a shame my workplace relies on Windows and Mac so heavily because Nix would be a godsend for our developers

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

      Nix package manager is available on macOS. en.wikipedia.org/wiki/Nix_(package_manager)
      For the Windows machines, I suppose you could do a bunch of different things - nixpkgs in WSL, full NixOS in (Hyper-V | Virtualbox | VMware), install NixOS on bare metal and run Windows as a guest in a VM (I do that). (Your users will bless your name forever.)

  • @laughingvampire7555
    @laughingvampire7555 10 месяцев назад +5

    NixOS is what Gentoo wants to be when it grows up. Sadly Portage is a virgin port manager and Nix is a Gigachad

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

    This is my first video on nix. I don't understand how he is running raspberry pi os on his machine is it a VM? Do nix builds run as VMs?

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

      The raspberry pi image is a NixOS image built and flashed to an SD card, which I then plugged into the Raspberry Pi and booted. The result on screen is from a HDMI capture card.

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

    :)

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

    dang the ssh server is down

  • @herrpez
    @herrpez 10 месяцев назад +2

    For the next presentation, turn off whatever redshift thing you are using. It all looks extremely red on my end with additional redshift filter applied. 😉

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

      I don't remember it looking that red for me in person, I'm wondering if their video capture pipeline screwed it up in some way, or maybe I just don't notice how red it gets!

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

    Mines a Nix Purple Pill

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

    the next goal for nixos should be integrate qubesos

    • @matthewcroughan
      @matthewcroughan  10 месяцев назад +4

      Or to use Nix to build an OS that is better than QubesOS spectrum-os.org/

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

      @@matthewcroughan Very interesting.
      Between Nix, this, and VanillaOS, there appear to be a lot of great Linux OS projects making advancements lately.

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

      @@matthewcroughan that sounds interesting because the goal of qubesos is to guard software from illegal behavior, how does spectrum achieves that with nix?

  • @FreeSpeechWarrior
    @FreeSpeechWarrior 10 месяцев назад +3

    I took public speaking two semesters in a row in college, and the first thing we're taught is to not rock side to side when we're speaking in front of an audience. That's a minor detail considering the fact that I enjoyed Matt's talk more than any other that I've ever heard in my entire 23-year career as a Sysadmin / DevOps engineer. I have managed several microservice infrastructures, and what Matt is showing us resolves almost all of the tough pain points that we face today in this business. Repeatability is the number one goal in any environment from high performance clusters in microbiology, to heterogeneous infrastructures with applications running on legacy application servers.

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

      Physically rock back and forth on the toes, or do you mean rock back and forth between slides? I guess both are applicable!

    • @FreeSpeechWarrior
      @FreeSpeechWarrior 10 месяцев назад +4

      @@matthewcroughan I meant side to side. Hey Matt I want to apologize for my comments, after watching your talk. I am very impressed with your skill sets and knowledge. I believe Nix and NixOS are the answer to a lot of problems that have been plaguing the IT world for a very long time. I believe your involvement with the project has probably been integral to its rapid development and proliferation. Thanks for the great talk Matt.

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

      Yes, Matt rocks!

  • @jNaimXIII
    @jNaimXIII 11 месяцев назад +3

    Is this talk reproducable though? 🤔

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

    tried nixos, had a really bad experience with getting vscode plugins to work, could not code so gave up.