Moving Nixos System Configuration Into A Flake

Поділитися
Вставка
  • Опубліковано 22 вер 2024
  • In this video I show you how to take the simple nixos config and home manager config created in previous videos and migrate it into a flake.
    My dotfiles repo as mentioned in the video is located here:
    github.com/wil...
    Be warned it is a work in progress :).

КОМЕНТАРІ • 71

  • @alex-jackson
    @alex-jackson 3 роки тому +15

    Will, you are the GOAT, seriously. Thanks for making these well laid-out, informational videos. I feel like I'm actually learning nix for the first time, instead of being lost!

  • @trashak
    @trashak 2 роки тому +21

    Great series. Very informative and great to follow along as concepts are introduced in a concise order and not too much in one step. I'd love for you to continue this series. Any plans for the near future?

  • @jordanstanway243
    @jordanstanway243 2 роки тому +4

    Many thanks for sharing an ‘unwrapped’ example for putting the OS and HM configuration into a flake. It helps me understand better what is going on, and is a bit more straightforward to follow while I experiment with NixOS on just two machines. I’m sure the wrappers will be worthwhile if I start managing more machines with Nix, and after I understand Nix better. In the meantime, this is exactly the level of introduction I need to maintain momentum.

  • @sagikazarmark
    @sagikazarmark 2 роки тому +3

    I love how you explain everything as you go along with the right level of details. Please continue making videos!

    • @wilfridtaylor
      @wilfridtaylor  2 роки тому +9

      Thanks, I plan to get back into it again. Last year has been really hectic.

    • @gorudonu
      @gorudonu 2 роки тому +1

      @@wilfridtaylor please do, your videos helps to understand how nixOS works and how to configure it properly. thanks!

  • @jongschneider
    @jongschneider 7 місяців тому

    This series is great. Please make more that go into the more complex configurations and utilization of language features like overlays etc.

  • @zexidaohuige
    @zexidaohuige 2 роки тому +1

    IMO This is the best Nix content on youtube, hope you can find time to continue the series

  • @jmac217x
    @jmac217x 2 роки тому +1

    excellent series. Easily the best instructions on UA-cam for NixOS. Jupiter Broadcasting just kicked off the NixOS challenge so expect this series to see some traffic in the coming weeks! Love & Respect

  • @Paginski
    @Paginski 2 роки тому +20

    I love this series, and it helped me a lot to move from Arch to NixOS. Are there any plans to continue the series?

  • @yellowajah
    @yellowajah Рік тому

    Thank you so much for this resource. I'm currently using it as a jumping-off point into nix. I've hit the like/subscribe/etc. I hope to see you start producing again.

  • @MartinsTalbergs
    @MartinsTalbergs 3 роки тому +1

    Keen to hear on overlays! Keep them coming! Great work!

  • @bibanez135
    @bibanez135 Рік тому +3

    I was following perfectly until nixos-rebuild build --flake .#
    Turns out that if you're in a git repo it will only build correctly if all your files are tracked by git, so you need to do git add
    Thank you for these tutorials. They're very useful. When you've got the time I would love to get a continuation

    • @ariseyhun2085
      @ariseyhun2085 Рік тому

      I thought there were only warnings, but everything would still build regardless?

    • @biigsmokee
      @biigsmokee Рік тому

      @@ariseyhun2085 nah, the files don't exist in /nix/store. spent quite a few minutes on it today

  • @GeorgeGriffithsJustG
    @GeorgeGriffithsJustG 3 роки тому +6

    Another super helpful video - audio sounds great! What other videos do you have planned? :)

    • @wilfridtaylor
      @wilfridtaylor  3 роки тому +10

      Thanks :). Next one will be on how to setup overlays and override package settings.

    • @GeorgeGriffithsJustG
      @GeorgeGriffithsJustG 3 роки тому +2

      @@wilfridtaylor Awesome - appreciate it!

    • @SamWhitlock
      @SamWhitlock 3 роки тому +3

      @@wilfridtaylor these videos are seriously the missing manual for this stuff. The user attrition between "nix curious" and "FP expert mega abstract config" is very wide, and I've found almost nothing besides these vids to bridge the understanding!

  • @EliasIbero
    @EliasIbero Рік тому +1

    Hey Wil These series of videos have been so awesome. Well put together so easy to follow. Love your way of instructing. Are you planning to update them and add more to your collection? I will love to see more new videos from you.Thank You in advance!

  • @designernasser
    @designernasser 3 роки тому +4

    Take this “like” even before I watch the video!

  • @Saulimedes
    @Saulimedes 2 роки тому

    You Videos are amazing! Don't stop there. You mention a lot of interesting stuff I would love to see you get covered! Kudos.

  • @theof6757
    @theof6757 3 роки тому +3

    Thanks Wil! Very helpful indeed!

  • @mbpnix6513
    @mbpnix6513 3 роки тому +6

    Awesome tutorial, thanks a lot!

  • @maninalift
    @maninalift 3 роки тому +5

    These videos have been very helpful to me. You go through at a great pace, a good mixture of teaching the fundamentals and giving a practical guide.
    I'd love it if you'd include a video on how to differentiate configuration for multiple machines with a single repo, based on this example system that you are using. Looking at your dotfiles, to be honest I'm a bit confused, you seem to be doing a lot 🙂 - OK, after watching this video to the end, you mostly answer this I think, but I'm still unclear how the hostname gets set which is used to select the correct config

    • @wilfridtaylor
      @wilfridtaylor  3 роки тому +3

      Hi, it gets the hostname from what the machine is currently set to. I need to do a video at some point showing how to build a ISO and how to deploy a system from a flake.

    • @ZaarsShed
      @ZaarsShed 2 роки тому +2

      @@wilfridtaylor Oh yes, please! I'd like to watch that one.

  • @Isti115
    @Isti115 3 роки тому +10

    Thanks for the great content, I'm just waiting until friday for the release of 21.05 and will do my first install, so I'm trying to prepare as much as I can! :)
    ps.: The audio was still a bit lower than ideal for me.

    • @SamWhitlock
      @SamWhitlock 3 роки тому

      Heck yeah! 21.05 = no more experimental cmdline workaround!

    • @Isti115
      @Isti115 3 роки тому

      @@SamWhitlock Are flakes getting officially supported with this release? 🤔 I thought that they would still be in the experimental phase.

    • @SamWhitlock
      @SamWhitlock 3 роки тому

      @@Isti115 discourse.nixos.org/t/21-05-release-schedule/12528 hmmm I'm actually not sure. Nix 2.4 has them, but maybe they're just going to bump the current 2.3 version :(

  • @ViniciusProvenzano
    @ViniciusProvenzano Рік тому

    Love the vídeos, it is worth continuing! :) I do not have issues with the keyboard. What annoys a bit is the noisy mouse scrolling. :)

  • @ariseyhun2085
    @ariseyhun2085 Рік тому

    This is exactly the video i needed! Thank you

  •  2 роки тому

    Great series! Looking forward for more content

  • @michaelward3981
    @michaelward3981 2 роки тому

    Great Video! I hope to see more

  • @will-nw6gv
    @will-nw6gv Рік тому

    Such great videos. Thank you very much!

  • @pawelbokota7450
    @pawelbokota7450 2 роки тому

    Very Helpful. Thank You!!

  • @TheStuzenz
    @TheStuzenz 3 роки тому +3

    Loved the tutorial. It worked well for me. I did find I had to make one addition to the flake to stop the following error
    ```
    "error: The option `home.stateVersion' has conflicting definition values:"
    ```
    It was some kind of error between 20.09 and 21.05 when on 21.05
    The edit I did was the following one
    ```
    in {
    homeManagerConfigurations = {
    stuart = home-manager.lib.homeManagerConfiguration {
    inherit system pkgs;
    username = "stuart";
    stateVersion = "21.05"; # added this to get it working for me
    homeDirectory = "/home/stuart";
    configuration = {
    imports = [
    ./users/stuart/home.nix
    ];
    };
    };
    };
    ```

    • @TheOPtmal
      @TheOPtmal 3 роки тому +2

      Do `stateVersion = pkgs.lib.trivial.release;` instead, that way you dont need to go in and always manually change it everytime there's a new version.

  • @Moe-jy9qw
    @Moe-jy9qw 3 роки тому +3

    Thank you very much for your tutorials, they're awesome!
    One question I have is: In your dotfiles repo there is only one apply.sh script, that does what apply-system.sh from this video does. So how do you actually apply the home-manager configuration in your current dotfile repository?

    • @wilfridtaylor
      @wilfridtaylor  3 роки тому

      Sorry I took so long to reply. I assume you are the same person who opened the issue on my dot files repo. If not I replied to this here github.com/wiltaylor/dotfiles/issues/1

    • @Moe-jy9qw
      @Moe-jy9qw 3 роки тому

      @@wilfridtaylor Ah, actually I'm not the same person, so thanks for the link! :)

  • @biigsmokee
    @biigsmokee Рік тому

    I was having issues building halfway through, it's because I initialized a git repo. It looks like if you have a git repo only added files will be built, so you need to run a `git add .` first and it will build

  • @idjdbrvvskambvvv9007
    @idjdbrvvskambvvv9007 Рік тому

    this is gold damn homie is smart

  • @diegonayalazo
    @diegonayalazo 2 роки тому

    Thanks for sharing

  • @reiko551
    @reiko551 2 роки тому

    I am on Darwin system. Do I need to install home-manager and nix-darwin CLIs ?

  • @Ski4974
    @Ski4974 3 роки тому +1

    Could you do a follow up video on modularizing some parts of the config for multiple machines and stuff?

    • @wilfridtaylor
      @wilfridtaylor  3 роки тому +4

      Yeah I will cover how I am doing it in my dot files at some point once I have cleaned them up so they are easier for other people to use.

  • @jjuel5
    @jjuel5 3 роки тому +1

    Great video I just think the audio needs to be a little louder.

  • @RonnieNissan
    @RonnieNissan 3 роки тому

    Your videos are really good, informative and entertaining. I just wish your voice could be louder, the mechanical keyboard (which sounds awesome BTW) overpowers your voice.

    • @wilfridtaylor
      @wilfridtaylor  3 роки тому

      Yeah, i think i need to just use a rubber dome keyboard while i record :(.

    • @RonnieNissan
      @RonnieNissan 3 роки тому

      @@wilfridtaylor or maybe get a better mic. Keep it up.

  • @muntoonxt
    @muntoonxt 2 роки тому

    16:00 The "pkgs = import nixpkgs { ... }" isn't doing anything for me. Doesn't the pkgs variable need to be used in some way?

    • @malteneuss8058
      @malteneuss8058 2 роки тому

      Indeed that value is never used. Maybe you can use "pkgs.lib" instead of "nixpkgs.lib" in the line below?

  • @giuji
    @giuji Рік тому

    best nixos resources on the internet, is there any chance of a new video coming out??

  • @BrazenNL
    @BrazenNL Рік тому

    Shift-o opens a line above your current line.

  • @Redyf
    @Redyf 2 роки тому

    Can you make a video about how to install dwm on nixOS?

  • @pmarreck
    @pmarreck 2 роки тому

    This was helpful, but the audio was recorded too low

  • @howtostudycantonese9956
    @howtostudycantonese9956 3 роки тому

    godly

  • @laughingvampire7555
    @laughingvampire7555 Рік тому +2

    the volume is too low

  • @herrxerex8484
    @herrxerex8484 2 роки тому

    Hey Could you do a video on explaining the directory structure of your current system :]

    • @wilfridtaylor
      @wilfridtaylor  2 роки тому +2

      Yeah I am going to make this my next video I think. Plan is break out my current dotfiles structure and turn it into a template and show how I set it up and why.

    • @herrxerex8484
      @herrxerex8484 2 роки тому

      @@wilfridtaylor wow that will be awesome

    • @edwardyang881
      @edwardyang881 2 роки тому

      @@wilfridtaylor Hey Wil, would there happen to be an ETA for your next video? I'm really looking forward to learning about your new dotfiles structure.
      Most specifically, I find the way you have your neovim configuration put into a separate github repository to be interesting.
      Is this something you'll be explaining in your new video? Thanks for the quality content, hope to see more soon!

  • @VigilanceTech
    @VigilanceTech 2 роки тому

    Audio and font size are much improved. Audio could stand a bit more, maybe speak a little louder and enunciate a bit better. Before it was real strain to hear and see. Now I can actually concentrate more on the content rather than the delivery.

  • @xade8381
    @xade8381 2 роки тому

    I hope this series will be continued
    would also like to see a video covering svanderburg/nix-processmgmt

  • @tommyluco
    @tommyluco 3 роки тому +1

    I tried NixOS and I really like the concept but certain things give me a headache. For example I'm too "stupid" to install the vmware-horizon-client and other things like that. I am probably just lacking too much knowledge or whatever to grasp how to fix that ;) Anyways thanks for your videos :)

    • @wilfridtaylor
      @wilfridtaylor  3 роки тому

      I wouldn't say you are too stupid. Everyone has to start somewhere. You should be able to install vmware horizon client by adding the following to your config systemPackages = with pkgs; [ vmware-horizon-client ];

    • @tommyluco
      @tommyluco 3 роки тому

      @@wilfridtaylor thanks yeah I figured out what the issue was. I needed to install it System wide and not user specific ;)

  • @will6890
    @will6890 2 роки тому

    These videos are great! Need more!