Nix Home Manager Has Forever Changed My Dotfiles

แชร์
ฝัง
  • เผยแพร่เมื่อ 2 ต.ค. 2024

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

  • @devopstoolbox
    @devopstoolbox  22 วันที่ผ่านมา

    Join 2000+ subscribers getting one dev/sec/ops tip every Friday: signup.omerxx.com

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

    Ah, you are getting there one step at a time.
    Welcome to the dark side. Once you go Nix, everything else feels not good enough anymore :)

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

      now i spend 3 days trying to make a working devshell instead of 2 second to boostrap a project language's package manager....

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

    I found the video really hard to follow because it jumped around a lot and mixed different technologies together. It would be great if you could break it down into clearer sections or focus on one technology at a time to make it easier to understand

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

      I'm sorry for that, will take this feedback into consideration. Thanks for watching and sharing!

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

      The whole nix stack is fairly complex (even convoluted) - you have Nix the language, Nix the package manager, Nixpkgs, NixOS, Home Manager, nix-darwin, not to mention technologies/concepts like flakes, modules, derivations, and all of these things are thrown around by people experienced in them like they’re the most obvious things in the world either because they had a hand in developing them or spent so long reading the documentation to understand them that we no longer can relate to ordinary humans.

  • @nokomoko8832
    @nokomoko8832 หลายเดือนก่อน +20

    If only the nix documentation wasn't so trash

    • @Anonymous-vh9tc
      @Anonymous-vh9tc หลายเดือนก่อน +7

      Wait there is documentation?

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

      Totally. If it was only trash I'd be fine, it has like 3-4 different sources each with its own agenda 🤦

    • @itsrobelschwarz7248
      @itsrobelschwarz7248 28 วันที่ผ่านมา

      @@devopstoolboxI’m setting up my config right now, and this has been genuinely one of the most frustrating experiences ever

    • @kernelpanic_init1
      @kernelpanic_init1 4 วันที่ผ่านมา

      @@devopstoolbox at being trash in different ways :D

    • @devopstoolbox
      @devopstoolbox  4 วันที่ผ่านมา

      @@kernelpanic_init1 😅

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

    It should be mentioned you can make specific configs be symlinked instead of being pinned, this can be used together with a custom user option to switch rapid dotfile iteration on for a bit and then off again.

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

    Now its your time to configure (neo)vim using nix using nixvim ;)
    P.S. soon there will be lazy loading integrated into nixvim, so we have something similar to lazy!

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

      I can already feel the vortex sucking me in 😅

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

    NixOS !!! LETS GO!!!!

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

      Uhm ACKSHUALLY it's just nix.

  • @StefanGenov-en7ti
    @StefanGenov-en7ti หลายเดือนก่อน +8

    The biggest problems with nix are 2 IMHO.
    1. Linux and Mac unified setup... It's really hard to have one setup that works with both systems.
    2. The way graphic applications are setup outside of nixos... They just don't work

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

      wdym? having a single flake to configure both systems is relatively common. And I have no idea what you mean by the second part.

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

      See the reply here, you can have a flake that holds both configurations. Kind of like a docker that serves multiple architectures if you're familiar.
      Not sure what you mean about GUIs, but I have both nix running brew installations, as well as GUIs from nix packages and both work fine

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

    can you use just home manager in a flake for non-darwin, non-nixos systems? (e.g. WSL)

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

      That is how I use it for osx, home-manager in a flake. Should be possible in any linux distro too, both arm and x64

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

      I'm using all that in WSL

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

    but i like my rusty bike jk i hate it i want suron setup lol

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

      Can't argue with that! 😉

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

    Honestly I'm not all the way convinced that Nix is better than Stow. When you run dotfiles with Stow it requires 1 command, is version controlled and requires practically no configuration files at all. Maybe there's some complicated scenarios which require Nix, but haven't run to those yet.

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

      You may very well be right. I see part of the value that home-manager delivers is that it is an accessible way to get your feet wet with Nix. It provides a nice training ground that results in something useful (even though stow might be better) whilst getting familiar with Nix.

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

      You're right. It depends on whether the ability to rollback is appealing to you. That's the main benefit IMO.

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

      @@devopstoolbox I’d argue rolling back with git is easier than home-manager. Would you disagree?

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

      @@liamwoodleigh Well, in theory you're right. In practice, I find myself change A LOT of stuff when testing / tweaking my config. I'll only push when I'm certain, making all the work in between a vortex of configuration changes. With home manager every change is snapshotted for you by design.

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

    I followed what you did for home.file, i had to use the --impure flag

  • @hafizdkurniawan815
    @hafizdkurniawan815 18 วันที่ผ่านมา

    Which terminal emulator are you using, and is the dotfiles available as well?

  • @ingijonsson3466
    @ingijonsson3466 26 วันที่ผ่านมา

    I gave up on flakes and home manager after starting an update and having to go watch a tv show while I waited for it to finish.

  • @Julien-rc1bi
    @Julien-rc1bi หลายเดือนก่อน +1

    Slowly but surely you are going to be on nixos 😊 Maybe in 10 videos. (It's great btw from a developer who was once on Mac as well).

  • @alexstone691
    @alexstone691 4 วันที่ผ่านมา

    Is there a way to make nix call bash script

  • @pratyushpurohit
    @pratyushpurohit 27 วันที่ผ่านมา

    How do I get such terminal?

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

    I tried nix but I found it over complicated and not worth learning, I ended up just creating 1 bash script that installs all my packages and configs.. Even stow is kind of overkill tbh.. I just do the symlinks manually in my config

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

      At end of the day, if it works it works. There's no right or wrong here :)
      My goal here is to show options

    • @74Bagas
      @74Bagas 29 วันที่ผ่านมา

      that's the point.

  • @kenichishibata2411
    @kenichishibata2411 23 วันที่ผ่านมา

    what do you use to record your terminal and video overlay?

    • @devopstoolbox
      @devopstoolbox  23 วันที่ผ่านมา

      A camera and a screen capture :)

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

    My only concern with nix is its resource requirements. Is it suitable for ancient machines, like xbps (on void linux)? Building and rebuilding immutable environment seems to have substantial resource requirements even with lightweight software on old machines.
    Is there nix expert who tried to use it on old machines (with 1GB - 2GB ram, for example), and testify its viability?

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

      You can push the binaries from a beefier machine with the `--target-host` option

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

      @@caedis_ Is it suitable for daily driver on an old machine in such a way that only the old machine's resources are used for environment building?
      Probably it should be able to deal with a suckless desktop environment, but I'm not convinced about viability on more complex desktop environments, that can still run on that machine (like a Lubuntu-like user space).

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

      @@botondkalocsai5322 If you are running the stable version, most of the packages are already built and will be loaded from a cache, so no compilation is needed on your part. Folks are also using nixos on raspberry pis, so I do not think, that performance will be a limiting factor. If you are unsure, you can also run just the package manager and test home-manager. If you are not satisfied, just uninstall it :)

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

      I daily drive it with less than 5 GB RAM without major issues, my bottleneck is always my connection (mobile).
      I don't know how close this is to a 3GB system experience.

  • @CZiNTrPT
    @CZiNTrPT 24 วันที่ผ่านมา

    How is this better than just using a bare gitrepo?

    • @devopstoolbox
      @devopstoolbox  24 วันที่ผ่านมา

      Not sure how a bare repo helps here (I'm assuming you don't mean a literal --bare) - and I've mentioned this in the video and other comments - Nix takes snapshots for you. Assuming you don't commit every single change you make locally, you can lost work quite easily.

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

    Are you using home manager and Nix Darwin together... ?

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

      I bet he does

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

      I do

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

      Why not? NixOS would be a better option, but he needs an audience.

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

      Yep. Started with one, progressed to the second but effectively I do have both