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 :).
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!
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?
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.
I love how you explain everything as you go along with the right level of details. Please continue making videos!
Thanks, I plan to get back into it again. Last year has been really hectic.
@@wilfridtaylor please do, your videos helps to understand how nixOS works and how to configure it properly. thanks!
This series is great. Please make more that go into the more complex configurations and utilization of language features like overlays etc.
IMO This is the best Nix content on youtube, hope you can find time to continue the series
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
I love this series, and it helped me a lot to move from Arch to NixOS. Are there any plans to continue the series?
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.
Keen to hear on overlays! Keep them coming! Great work!
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
I thought there were only warnings, but everything would still build regardless?
@@ariseyhun2085 nah, the files don't exist in /nix/store. spent quite a few minutes on it today
Another super helpful video - audio sounds great! What other videos do you have planned? :)
Thanks :). Next one will be on how to setup overlays and override package settings.
@@wilfridtaylor Awesome - appreciate it!
@@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!
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!
Take this “like” even before I watch the video!
You Videos are amazing! Don't stop there. You mention a lot of interesting stuff I would love to see you get covered! Kudos.
Thanks Wil! Very helpful indeed!
Awesome tutorial, thanks a lot!
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
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.
@@wilfridtaylor Oh yes, please! I'd like to watch that one.
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.
Heck yeah! 21.05 = no more experimental cmdline workaround!
@@SamWhitlock Are flakes getting officially supported with this release? 🤔 I thought that they would still be in the experimental phase.
@@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 :(
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. :)
This is exactly the video i needed! Thank you
Great series! Looking forward for more content
Great Video! I hope to see more
Such great videos. Thank you very much!
Very Helpful. Thank You!!
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
];
};
};
};
```
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.
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?
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
@@wilfridtaylor Ah, actually I'm not the same person, so thanks for the link! :)
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
this is gold damn homie is smart
Thanks for sharing
I am on Darwin system. Do I need to install home-manager and nix-darwin CLIs ?
Could you do a follow up video on modularizing some parts of the config for multiple machines and stuff?
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.
Great video I just think the audio needs to be a little louder.
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.
Yeah, i think i need to just use a rubber dome keyboard while i record :(.
@@wilfridtaylor or maybe get a better mic. Keep it up.
16:00 The "pkgs = import nixpkgs { ... }" isn't doing anything for me. Doesn't the pkgs variable need to be used in some way?
Indeed that value is never used. Maybe you can use "pkgs.lib" instead of "nixpkgs.lib" in the line below?
best nixos resources on the internet, is there any chance of a new video coming out??
Shift-o opens a line above your current line.
Can you make a video about how to install dwm on nixOS?
This was helpful, but the audio was recorded too low
godly
the volume is too low
Hey Could you do a video on explaining the directory structure of your current system :]
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.
@@wilfridtaylor wow that will be awesome
@@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!
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.
I hope this series will be continued
would also like to see a video covering svanderburg/nix-processmgmt
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 :)
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 ];
@@wilfridtaylor thanks yeah I figured out what the issue was. I needed to install it System wide and not user specific ;)
These videos are great! Need more!