NixOS "Stoat" 23.05

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

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

  • @iriolavagno4060
    @iriolavagno4060 Год назад +17

    I've been using NixOS on my laptop for over an year, finally I installed it on my desktop and I definitely wont' go back to any other distro. It's not just another planet, it's another universe entirely. A better universe.

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

    20:07 Development evironments are one of the biggest strengths of Nix
    With Nix, a package being installed means that it is not marked for garbage collection; this is done by keeping links in `/nix/var/nix/gcroots/**/*` until the package is "uninstalled".
    With the `nix shell` and `nix develop` commands, you can pull packages from the enormous nixpkgs repository, or pull the build environment of one. This includes language specific packages
    Nix shells can be made declarative with shell nix files or flakes, and they can integrate with direnv to provide an instant virtual environment, no containers needed.
    One use for containers is in production. Nix provides `nixos.containers` but they are system containers based on systemd-nspawn and don't have the isolation of docker/OCI application containers.

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

    Hey D.J., you turned me on to NixOS a year or so ago. Thanks! I switched over all my home systems to it in the meantime and I'm currently doing some consulting around it. Fwiw, you neednt reboot every time you rebuild, only when the build gets a new kernel and NixOS typically doesnt use containers to do what it does.

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

      Hey Chris and yes I remember sounds like you are enjoying NixOS

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

    One of the things I like most about nixos is the ability to install and run their stable fixed release and their unstable rolling release side by side.

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

      I'm doing this, too! Right now my only unstable package is Ventoy.

  • @DF-ss5ep
    @DF-ss5ep Год назад +4

    Ive been using both nix as package manager and guix. Definitely won't go back, but there are definitely steep learning curves, as you depart from the simple uses of regular package managers, and even though nix is actually 20 years old, it can still improve and there are things in it that are confusing.
    I'm looking forward to this episode.

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

    If you like gnome on Nixos, there is also snowflakeos. If you use the switch option in the nixos-rebuild, you don’t have to reboot but it’s recommended. In your final thoughts section, it sounds like to me you describing OpenSuse micro os or OpenSuse kapla or OpenSuse aeon - small footprint on the immutable parts.

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

    In my Nixos configuration, I set the option to auto update my Nixos packages in the background, but not automatically reboot the system, optimise the nix store and have automatic garage collection for the nix generations. This essentially runs nixos-rebuild switch in the background when there is an update to an nixos package.

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

    Nix is a fun concept but its documentation has pacing issues. I haven't seen anything regarding home managers, flakes, nor shells that didn't call for a trip to someones github repository to get a workable and correct example.

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

    Thank you for this very informative video! I'm going to try it.
    A comparison between your sysop terminology (which is valid in terms of your experience, I'm not criticising it) and the programmers terminology,
    IMPERATIVE
    - an imperative os/distro means that the system is the emperor (in every step), that is: almost every os
    - an imperative programming language means that you as a programmer pose what happens step by step, changing a program state, in contradistinction to functional and logic programming languages with other approaches,
    DECLARATIVE
    - a declarative os/distro means that the system computes (in old AI terms: 'plans') a way to achieve a certain state, that you as a user have posed to it
    - which in programming terms is a logic programming system with programmer declarations of terms to be fulfilled, and a resolution mechanism which usually leads to a certain goal.

  • @markwood-patrick4705
    @markwood-patrick4705 Месяц назад

    Would be handy to have a repo with config files created here

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

    DJ, I am a fan, but I feel you missed the idea behind NixOS in this review. NixOS should not be assessed as a typical Linux distribution because it offers so much more. At the very least, you need to include Home Manager, garbage collection, Nix Shell, and flakes in the review. What sets NixOS apart from all other distributions is the ability to store system configurations in a Git repository and ensure with 100% certainty that if I need to rebuild the system, it will be exactly the same. Moreover, if I make a change, I can easily revert back to a working system every time. I'm not suggesting that NixOS is suitable for everyone, but I am personally sold on it. I believe NixOS is to Linux what Vim is to Nano. It may take some time to learn, but once you grasp it, nothing else will suffice.

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

      Sorry you feel that way but if I could I'd like to explain: I did a review of NixOS about a year ago where I went through a compatison of declaritive and inperative systems, also garage collect. I considered putthing those in again, but decided the old video covered those topics very well. As for Home Manager and flakes, I purposely did not include them and let me tell you why, there is a very stern warning on Home Manager Wiki telling people to get familar with NixOS first before attempting to use it otherwise they may experience some very strange behavior, so this I would consider an advanced topic and should not be included in a review of NixOS, but rather an advanced look at NixOS. As for flakes, according to the github, its an experiemental feature, It has always been my policy to include review of stable released code, I do not consider experiement features fitting that definition, so left it out. Finally, nix-shell, As I understand it, its a place to create a develoment environment which can be moved easily into production. I have worked in enterprise environments for over 40 yrs, todays enterprise runs on Kubernetes and Containers, development environments pushing to those environments have to conform to the architecture of the production environment. NixOS might be a good place to explore new ideas in software development, but its ideas are not main stream yet. Perhaps one day it will be, then I will conform to the way NixOS wants me to develop, until them I need a development environment which conforms to todays enterprise. I get NixOS, however declarative system are nothing new. My first run in with them was using Prolog and later OWL (the Web Ontology Language). I don't miss Prolog, I do miss OWL was one heck of an idea. Hope this help you understand why I took the path I did in presenting NixOS in that video.

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

      @@CyberGizmo I would like to see what you call an "advanced" review of NixOS, because none really exists yet. I want a cogent explanation of home manager, flakes etc. The problem with NixOS is the huge lag in the documentation. Everyone using NixOS is using things like flakes and home manager (what I learned from online conversations), and so I think to be truly usable, you need to understand these things. But they're poorly-documented. If you understand them, please share your knowledge.

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

    Off topic but, what is the screensaver running in the background?
    I remember seeing a very similar one, I think in the After Dark days…

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

      its based on the movie 2001: A Space Odessey

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

      @@CyberGizmo i keep waiting for it to say the AE-35 unit is going to fail.

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

      @@abandoninplace2751 It’s full of Stars

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

    I accept the possibility that I'm the only Wayland user that's not having any problems, and hasn't for years. I just don't think it's very likely...
    [edit: forgot to mention, this is Arch and mostly-vanilla Gnome]

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

    As a non nix user: why would you use flatpak to install software if you have nix packages? just easier to use a graphical manager?

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

    You really don't have to reboot when using switch. You do have to logout and log back in if you want the icons but the software is there to use.

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

      For the icons, on GNOME, you don't even have to logout. Just press Alt+F2, "r" on prompt, and Enter.

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

    I wonder if nix users will become like Emacs users with insane config files.

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

      I was wondering about that too, so far the configuration files aren't too bad, but I am sure with time they will grow and grow.

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

      There are libraries (eg flake-utils-plus and digga) that make writing configurations easier and simpler. Other than that, Nix allows users to extend the nixpkgs library, defining custom functions and packages.
      Flakes have opened the (somewhat already existing) way for decentralization in the Nix ecosystem: *any* git repo with a flake.nix file is a valid Nix repository and can be referred to from any other flake.
      Most users have at least packages in their configs, some advanced users also have custom configuration helpers, others have *custom cli tools*. hlissner's dotfiles are a popular example.

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

      It me :)

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

      My NixOS config git repo currently totals 8700 lines of nix :) It is currently defining the configurations for my, laptop and three servers running my digital life. There is so much more to NixOS than was covered in the video.

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

    I usually use 'nixos-rebuild boot' to stage the new generation for kernel updates and such; kinda Silverblue behavior. With 'nixos-rebuild switch' you should be switching to the new generation while live.

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

    did they ever fix being able to install the OS to an external SSD? last version would just error out during install process.

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

      I installed on a secondary NVMe drive and seemed to work ok, but did not try it with a USB drive (yet), perhaps someone else knows?

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

      I might be able to test this for you tonight.

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

      I'm going through the process now. I'll let you know how it goes.

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

      It worked fine, after I managed to get an ISO downloaded that wasn't corrupted. (My connection is spotty tonight.) I booted from Ventoy on usb1. I installed NixOS to usb2. usb2 was an external hard drive in an enclosure. I booted from it. I logged in. Gnome showed up. It was a lot faster loading than I thought it would be to boot, but installing took a while. usb1 is pretty slow and about 10 years old now.

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

      @@davidturcotte831 did you install to a USB HD or USB SSD? I had no trouble installing to USB HD. for me, it would not install to the USB SSD.

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

    Installing flatpak on NixOS is missing the point of the Nix package manager and NixOS.

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

    When you get “Gnome Version: N/A”… trying logging out and then logging back in.

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

    could you review and may be even compare guix with nix?

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

      will add it to the list, Anton and thanks for the idea

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

    for developing environments you can use nix develop with flakes

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

    NixOS cured my distro hopping.

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

    Fun fact: 'nix' means in german 'nothing', 'nul', 'niente', 'zero', 'rien' 😀

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

      No, in Swedish slang. From German nichts.

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

      While 'niks' in dutch and 'nix' in german means 'nothing', 'nix' in latin means 'snow' 😁

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

    Please Ctrl + for us folks with bad eyes. It's funny that you're leaning and squinting to read, and I'm already doing the same.

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

      In my case I just need new glasses

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

    Personal message.
    You are recognized as a.clean-faced technocrat.. Your face and style of presentation is your RUclips signature
    No recommendation for white fuzz on the screen. White fuzz to me reflects sloppiness-shortness of preparation

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

    I hate nixos because of it's documentation and overly pushy community which would really prefer you to use really undocumented things like homemanager and flakes.

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

      after working which Arch for 2 years now, I have a tendency to be blind and deaf to the advice of the community, and just do my own thing, easier to point fingers when things break :)

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

      Yeah, I won't say I hate NixOS, but I agree the community has some toxic elements which are holding it back, which is a shame. The idea behind it is awesome, but the fact that they can't be arsed to document their work is why I haven't got anywhere with it. Nix itself could be an awesome build tool / alternative package manager if usage outside of Nix were better supported and documented.