NixOS Setup Guide - Configuration / Home-Manager / Flakes

  Рет қаралды 150,228

Matthias Benaets

Matthias Benaets

Күн бұрын

!!!Resources, Timestamps, and Extra Notes Below!!!
--------------------
In this mini-course I try to demystify the whole process of setting up NixOS on your personal system.
This course covers:
- NixOS (configuration.nix and hardware-configuration.nix)
- Home Manager (home.nix)
- Flakes (flake.nix)
This video is for entertainment purposes only.
Some aspects/topics might change in future updates.
Not everything is 100% correctly explained or information is left out. This is done to get the point across and keep everything accessible for newcomers.
--------------------
Notes ( that I forgot to mention and will probably be updated with more information):
- Flakes are currently only supported on the unstable version of NixOS
- Home-Manager can be updated again by just running:
$ nix-channel --update
- Changing by-uuid in hardware-configuration.nix to *by-label*, does not mean you can always use this for other systems as mentioned at 0:55:00. Depending on your system, other kernel modules are needed for the system. In this case, it's highly recommended to still run:
nixos-generate-config --root /mnt
But this is useful if you want to reinstall the profile on the same formatted system.
- nix.settings.auto-optimise-store is currently only available on unstable
- I know it's curly. But I like squirly :)
--------------------
Resources:
NixOS:
1. NixOS Website: nixos.org/
2. NixOS Manual: nixos.org/manual/nixos/stable/
3. NixOS Packages & Options: search.nixos.org/packages
4. NixOS Wiki: nixos.wiki/wiki/Main_Page
Home-Manager:
5. Home-Manager: github.com/nix-community/home...
6. Home-Manager Manual: nix-community.github.io/home-...
7. Home-Manager Appendix A: nix-community.github.io/home-...
8. Home-Manager Appendix B: nix-community.github.io/home-...
Examples:
9. Personal Flake: github.com/MatthiasBenaets/ni...
10. List of reference configurations: nixos.wiki/wiki/Configuration...
Extras:
11. NixOS Learn: nixos.org/learn.html/
12. Nix Pills: nixos.org/guides/nix-pills/
--------------------
Timestamps:
0:00:00 Introduction
0:02:25 NixOS
0:08:35 Live CD
0:13:00 Partitioning
0:22:00 Configuration.nix
0:53:55 Hardware-configuration.nix
0:56:00 System Installation
1:00:35 Installing Packages
1:21:25 NixOS Extras
1:29:35 Home-Manager
1:33:00 Home-Manager Setup
1:45:28 Home-Manager Configuration
1:57:50 Flakes
2:02:10 Flakes Setup
2:07:47 Flakes NixOS
2:20:23 Flakes Home-Manager
2:34:25 Flakes Extra
2:40:18 Personal Configuration
--------------------
Enjoyed the course and want to tip? www.paypal.com/donate/?hosted...

Пікірлер: 178
@atemoc
@atemoc Жыл бұрын
Seven months later, this is still one of the best source of help and documentation on NixOS and the environment around it Many thanks !
@matthiasbenaets
@matthiasbenaets Жыл бұрын
Nice to hear :)
@geekofthewild600
@geekofthewild600 9 ай бұрын
16 months later and it's still great!
@atemoc
@atemoc 9 ай бұрын
@@geekofthewild600 Agree!
@maurogarcia2012
@maurogarcia2012 Жыл бұрын
Exactly what I needed to kickstart my journey with NixOS. Thanks a lot, Matthias 🙌
@bobbnz
@bobbnz 3 ай бұрын
Totally demystified some of the simple details that the documentation overlooked and left me scratching my head. Luckily I knew enough to value the power of this system and persevered until I found this video. Love your work Matthias
@davedwad852
@davedwad852 Жыл бұрын
The epic 3hr time tag put me off the feature for too long. This is best configuration focused overview I have seen - time well spent. All of the action with none of the drama - perfectly pitched level of detail. 5 stars. Thank you Matthias!
@zerquex4520
@zerquex4520 2 жыл бұрын
This is the best NixOS tutorial I have found, thank you for this this.
@pbear06
@pbear06 6 ай бұрын
It is a very interesting and complete guide for beginners. One of the most complete I could find on yt. Thank you, fellow compatriot.
@facepalmguy6183
@facepalmguy6183 Жыл бұрын
I second what everyone is saying. Great video, I'm usually very wary of video guides. Really nice that you included a short list of useful resources outside of this video as well.
@TheStuzenz
@TheStuzenz Жыл бұрын
Thanks Matthias, this was really good. I think I have had NixOS running for about a year on a couple of machines. It is amazing how much I still learn from watching this start to end for what I think was a second time today. Many thanks!
@matthiasbenaets
@matthiasbenaets Жыл бұрын
Glad you enjoyed it!
@teuluPaul
@teuluPaul Жыл бұрын
Matthias: Kudos to you for a very well explained video. I was a little cautious to watch it when I saw how long it is, but it is definitely worth it! I am now in the process of configuring my Thinkpad with NixOS following the principles shown in this video. I have subscribed - I look forward to seeing what you produce in the future! Many thanks (donation on its way!).
@matthiasbenaets
@matthiasbenaets Жыл бұрын
Great to hear you found it educational Paul. Have fun configuring your system. Thank you very much for your generosity!
@zinoubensalah8939
@zinoubensalah8939 Жыл бұрын
you have no idea how much i needed this, i don't know why i could barely find any useful video about nixos even though it's such an interesting distro, i was looking for a video to get me up to speed with things so i don't have to read every word of the manual. Thank you sir!
@AmirHosseinHonardust
@AmirHosseinHonardust Жыл бұрын
Thank your very much. I tried nixos a year ago. Flakes caused me a loooot of confusion and frustration. Your video is a fresh breeze!
@Psoewish
@Psoewish Жыл бұрын
I've been slowly chipping away at this video over the past few days because it certainly is a lot of information all at once, but I can say that this is going to give me a massive advantage once I sit down and start building my system. Thank you for the incredible resource!
@zinoubensalah8939
@zinoubensalah8939 Жыл бұрын
i still come back to it every one and then, flakes get me confused.
@milohoffman274
@milohoffman274 Жыл бұрын
This was awesome. I watched the whole thing. As an experienced Linux user dipping a toe into nixos this clearly answered almost every question I had about getting started and how to do the sort of things I normally do in other distros.
@simon_wolf_
@simon_wolf_ 2 жыл бұрын
That is an amazingly good video, thank you Matthias. I’ll be re-watching it in chunks whilst I modify my system but it is the clearest explanation of Home Manager and Flakes I’ve seen. A follow-up about nix-shell would be wonderful (I’m going to try to define shells for each development project I work on).
@Karlzzzy
@Karlzzzy Жыл бұрын
Thanks, Matt!I can use nixos very well now.I can find no perfect tutorial like this on anywhere else that exits on this universe:
@ViniciusProvenzano
@ViniciusProvenzano Жыл бұрын
Great content! Specially the flake and multiple hosts configurations was highly appreciated!
@adjbutler
@adjbutler Жыл бұрын
this is my go-to walkthrough guide to NixOS setup plus extra stuff...
@n3xistence
@n3xistence 6 ай бұрын
Absolutely incredible video! There have been a few changes since this video was uploaded but they are sufficiently documented so this video remains an invaluable resource to anyone starting with NixOS. Thank you so much for your diligent work!
@theostalproject
@theostalproject 2 ай бұрын
i would be so lost without this video
@norgeball3971
@norgeball3971 2 жыл бұрын
Thanks for your amazing tutorial, it is a great intro for users new to the nix ecosystem. I just switched to NixOS, it is a great project with a powerful concept. I am going to use your tutorial to ditch systemd-boot for GRUB. I just need that configuration limit, otherwise my bootloader will soon look very atrocious 😅 And I will most definitely come back to your video for future configuration reference!
@manuelfragner2724
@manuelfragner2724 3 ай бұрын
Thanks a lot! Great resource to start on NixOS :D
@chrismarshall4904
@chrismarshall4904 11 ай бұрын
I wish i could like this video multiple times. This video was immensely helpful for a confused new Nix user.
@VoidOfTheMachine
@VoidOfTheMachine Жыл бұрын
this is the best video on NixOS I've found, you've done such an amazing job. Thanks m8
@TheStarrs7679
@TheStarrs7679 Жыл бұрын
Really fantastic video! This helped me get going on my NixOS journey. So far I really like it!
@whereistheline8964
@whereistheline8964 2 жыл бұрын
Thank you for this Tutorial and the link to your repo. It helps me a lot to move my homelab to nixos
@c1dk1n
@c1dk1n Жыл бұрын
This video is an incredible gift. Thanks for sharing your time with us
@taffitov
@taffitov Жыл бұрын
Thanks a lot for this wonderful video. It really helped to understand all the relations between nix, nixOS, flake and home-manager. I want to use it on an Ubuntu to mainly manage my dotfiles. Thanks for the video and all the useful tipps and hints.
@ChrisMcDonough
@ChrisMcDonough 2 жыл бұрын
This is exactly what I needed to cozy up to NixOS, thanks!
@maxreuv
@maxreuv Жыл бұрын
Likely the best OS guide ever
@merlingt1
@merlingt1 11 ай бұрын
Excellent intro guide. I wish I had seen this 2 months ago when I started looking into NixOS.
@keeganm9184
@keeganm9184 Жыл бұрын
Great tutorial, thanks! I love this paradigm for package management.
@chatterman3148
@chatterman3148 2 жыл бұрын
Best NixOS tutorial , well explained , thanks.
@hallo8D
@hallo8D 11 ай бұрын
Das video war richtig horizont erweiternt und ich werde mal versuchen meinen PC auf reines nixos + home-manager + flakes um zu bauen ^^
@donaldwilliams6821
@donaldwilliams6821 2 ай бұрын
Great video!! When I build a base system especially a VM template I enable flakes in the configuration.nix :) Glad that flakes will finally no longer be experimental next release
@anonymouscommentator
@anonymouscommentator Жыл бұрын
this is exactly the type of video i needed to get started with nixos! thank you so much!
@le_chronicc
@le_chronicc Жыл бұрын
Awesome video. This video definetly helped me with the decission to give nix a try for my workstation.
@CraigOlson
@CraigOlson Жыл бұрын
thank you for your contribution to the community. while flakes are completely mystified to me, i at least understand the majority of the premise NixOS. Cheers!
@eduardojorge4762
@eduardojorge4762 2 жыл бұрын
This was a brilliant tutorial. Thank you!
@cppandjavaandkotlindev
@cppandjavaandkotlindev Жыл бұрын
thanks i just switched to nixos yesterday and this is the perfect tutorial
@unclefester9113
@unclefester9113 Жыл бұрын
Three Hours... My brain's already hurting. WoW
@JonathanLucas-cr5nu
@JonathanLucas-cr5nu Жыл бұрын
ohoh, I will sit down and watch it over! NixOS configuration has confused me for a long time.
@tandaramandaraba
@tandaramandaraba Жыл бұрын
one and only normaly explain on yt, what the fuck is nix and nixos :D thanks man!
@cookiedestroyer402
@cookiedestroyer402 2 жыл бұрын
wow this is amazing thank you
@user-zt3vr3hs7u
@user-zt3vr3hs7u 2 ай бұрын
52 zeros man! Great introduction into NixOS. Cheers!
@StrelokRadist
@StrelokRadist 2 жыл бұрын
Great tutorial! Thank you very much!
@felt505
@felt505 2 жыл бұрын
Very helpful. Thank you for sharing.
@SMOKE3104
@SMOKE3104 7 ай бұрын
This was extremely helpful!!! I have been trying to configure nixox for a few days now and have constantly restarted because the error messages really don't help. The big help was with imports. I am trying to modularization my config and has several import issues. I am still trying to get it all working.
@masterchief1520
@masterchief1520 2 жыл бұрын
Nice. Keep pushing more nix content please 🥺
@YuLi-ot6go
@YuLi-ot6go Жыл бұрын
Great stuff, learned a lot. Thank you for this video!
@bluk
@bluk Жыл бұрын
Thank you for providing a useful guide!
@raunakchhatwal5350
@raunakchhatwal5350 Жыл бұрын
This helped massively, thanks!
@alpha001
@alpha001 Жыл бұрын
The best! thank you for made this! Really well explained and understandable :)
@TheNutrivore
@TheNutrivore Жыл бұрын
Thanks for this! This was extremely educational!
@mdlsvensson
@mdlsvensson 11 ай бұрын
Thank you so much for this!
@johannhuman532
@johannhuman532 Жыл бұрын
Thank you so much. I finally was able to install a package.
@deadbeef2482
@deadbeef2482 Жыл бұрын
thank you Matthias! very helpful
@PhatDildokhunty
@PhatDildokhunty 11 ай бұрын
"Unbreakable" you say? Nods... challenge accepted!
@ronichoudhury
@ronichoudhury Жыл бұрын
Great video. Danke schön!
@mrgeebee1622
@mrgeebee1622 Ай бұрын
Great video! 👌
@sbbu3742
@sbbu3742 Жыл бұрын
this was extremely helpful, thank you
@davidwayne9982
@davidwayne9982 Жыл бұрын
I work with Debian a lot- and do lots of thigns with it- but never anything like NIX--- I'm keeping this and going to study it part time and practice til I CAN do nix. I like the immutable and containerized part--- and I think that's the way things are going to go.
@Redyf
@Redyf Жыл бұрын
YES, i finally figured out how to make my bspwm work thanks to your video. I had to create a syslink like this 1:55:19
@toger42
@toger42 Жыл бұрын
Really helpful! Thanks a lot 😁
@user-vw2qt8vp8e
@user-vw2qt8vp8e Ай бұрын
thanks alot for this awesome video man
@ryans.585
@ryans.585 11 ай бұрын
Nice video, thanks a lot!
@user-qf4yi8zx9x
@user-qf4yi8zx9x 10 ай бұрын
This is a really detailed presentation Matthias. Of course some of the stuff is not really relevant any more. Do you envisage a flake-centric redux? but yes, far away one of the best introductions.
@cabezachumbosampedro8038
@cabezachumbosampedro8038 Жыл бұрын
Thank you so much, very good guide.
@nssSmooge
@nssSmooge Жыл бұрын
This is so god damn great nix os introduction to its config, like best I have seen so far, at least from my point of view. Thank you. On side note, did you ever get 'Cycling flue'? Ever since covid, when I go cycling, i feel like I have mini flue for few days after - a lot tired, hot eyes.
@matthiasbenaets
@matthiasbenaets Жыл бұрын
thanks, and nope.
@counterdutch
@counterdutch 2 жыл бұрын
tyvm explaining nixos
@GekoPoiss
@GekoPoiss 2 жыл бұрын
Great tutorial! In vim, . repeats the last command - so you could type one '0' and then issue 51 . in normal mode instead of typing 52 zeros
@matthiasbenaets
@matthiasbenaets 2 жыл бұрын
Thanks. very neat indeed but I guess didn't lose too much time considering the length of the video 😅, but definitely one to remember
@lesmpt
@lesmpt 2 жыл бұрын
or just press 52a0
@bibanez135
@bibanez135 Жыл бұрын
@@matthiasbenaets Vim grindset be like
@alt-chan-
@alt-chan- 2 жыл бұрын
Nice video dude, when I started tinkering with nixos I struggle a lot to understand some of the concepts you teached, so this video really helps a lot of people to understand on how to configure the system. I have a question tho, normally I only have 1 user per computer, similar to you, however, what if I want to use more than one user?, how could would you organize the nixos-config folders?
@matthiasbenaets
@matthiasbenaets 2 жыл бұрын
Good question. So by default, the option 'users.users' gets generated in configuration.nix . Here you state your user, user-type and the groups. The users.users option allows you to create multiple users. An example: users.users = { user1 = { isNormalUser = true; extraGroups = [ ''wheel'' ]; }; user2 = { isNormalUser = true; extraGroups = [ ''wheel'' ]; }; }; For home-manager you can pretty much do the same with home-manager.nixosModules.home-manager.home-manager.users = { user1 = {...}; user2 = {...};}; For standalone it should just work as normal but for each login if I'm not mistaken. The latter I've never tried.
@cosmusmutua1083
@cosmusmutua1083 2 жыл бұрын
Top shelf stuff
@sherifabdalla
@sherifabdalla Жыл бұрын
Brilliant. Thanks
@diegonayalazo
@diegonayalazo 2 жыл бұрын
Amazing thanks!!
@OpenSingularity
@OpenSingularity Жыл бұрын
thank you for the concise and informative explanation! I have a question regarding the Nix package manager: If an application is installed using the Nix package manager, does it have any impact on its runtime performance after it initializes?
@alesvojacek7303
@alesvojacek7303 Жыл бұрын
Thank you a lot. I find you because of Proxmox :) But it seems, that second VM in Proxmox will be NixOS :-D Thank you again grat video
@zerquex4520
@zerquex4520 2 жыл бұрын
Respect 👍
@acesintra610
@acesintra610 9 ай бұрын
god bless this video
@jeromegay9865
@jeromegay9865 Жыл бұрын
Hi Matthias, many many thanks for this great tutorial, it really helped me getting started with NixOS (in a VM for now), I've just added an encrypted ZFS partition with reset of the root at each boot (the infamous 'Erase Your Darlings' by Graham Christensen). I still have a question though, when I upgrade my system (based on your approach, using flakes), do I have to use sudo, i.e., 'nix flake update' or 'sudo nix flake update'?
@matthiasbenaets
@matthiasbenaets Жыл бұрын
Thanks, you do not need root privileges to update the flake's lock file.
@jeromegay9865
@jeromegay9865 Жыл бұрын
@@matthiasbenaets thanks I was a bit confused, I indeed ended up have a lock file owned by root as you did in the video. Thanks again for the help and support.
@chloe-sunshine7
@chloe-sunshine7 11 ай бұрын
1:13:30 There's more in the flakes section. Sorry I missed the timestamp. Hopefully we'll find it easily. Good luck, buddy!
@logauit
@logauit Жыл бұрын
thank you for this great tutorial! a bit off topic, for inserting 50 “0”, we can do esc 50 i 0 esc esc
@colinchichester1809
@colinchichester1809 11 ай бұрын
Was planning on toying with this in a VM several months late to the party but this still looks informative. Was I the only one at 2:17:01 shouting you forgot your end quote (on the sha)?
@johanb.7869
@johanb.7869 2 жыл бұрын
It's now much easier to install NixOS because the latest iso has the Calamares installer.
@matcraftou
@matcraftou Жыл бұрын
Hello, this tutorial is.. just too good.. Also: can you please share the document that is at the left of your screen?
@donjude9585
@donjude9585 Ай бұрын
Whada a trip... Choose video thinking... new ways to catch a NOS buzz & ended up installing Nix Linux. Many comments refer to this video filling gaps in documentation. Please remember that this is FOSS (Free Open Source Software), community developed. Community is you & I too. If there's gaps in the docs, Please - write-up what belongs there & submit it so those gaps in docs are correct for the next person who refers to them. Remember... Only you can prevent forest fires 🐻 and correct NixOS documentation.
@EdwardCrosby
@EdwardCrosby 10 ай бұрын
All of the basic information in this video for setting up NixOS was hugely instrumental in my switch to NixOS. Thanks! Also, what is that software you used for creating the Table of Contents and content guide for the video?
@eatinglotos8357
@eatinglotos8357 8 ай бұрын
This seems to be done in Emacs org-mode
@CodeMonkeX
@CodeMonkeX 11 ай бұрын
Still finding this useful in 2023. BTW I am not sure if this is new, but when I did the sha256 step when moving to a Flake, I did not have to enter 52 zeros. I just left it blank and nix assumed it was zeroed out.
@popolyann
@popolyann 9 ай бұрын
excellent thanks ! on home-manager standalone installation, i've get redo of the error:file 'home-manager' was not found in the Nix search path by launching nix-channel --update with elevated privilege anyway thank !
@views8962
@views8962 8 ай бұрын
@1:52, Did you say that things could potentially break when programs change their configuration paradigm. That makes sense since home-manager would have to reinterpret this new way into home-manager (in nix expression language).
@yehoslavrudenco4549
@yehoslavrudenco4549 Жыл бұрын
A really wonderful video! I just have one problem, why not using vim to its potential :(( inserting 52 0 would be as easy as typing `52i0`
@cryofwill1416
@cryofwill1416 Жыл бұрын
I want that rice 😭 it looks so good
@plamensecond2579
@plamensecond2579 Жыл бұрын
Thanks for the comprehensive tutorial! Also, can you please share the color scheme used in you vim config at 2:41:02?
@matthiasbenaets
@matthiasbenaets Жыл бұрын
srcery-vim for the syntax. wombat256 for the lightline
@sharperguy
@sharperguy 9 ай бұрын
You know it would be really nice if installing the system, including partitioning the drive, doing luks and pv setup etc was all just done by tweaking a flake that comes on the iso and then building it
@Redyf
@Redyf Жыл бұрын
Please make a video about how to install dwm on nixOS
@wisnoskij
@wisnoskij 11 ай бұрын
This overlay thing is still really weird. Is Nix not a package manager but a build system? It sounds like overlays are just overwriting variables, but all you are doing to get new discord is setting a variable with a URL to the source code. Which implies that Nix inherently knows how to build from source like the AUR. So is Nix, like Gentoo, a source based distro? Am I building form source when I add a package? Or do they just add in building instructions for no reason other than overlays? Also, are we just assuming that the building instructions/requirements will be identical for different versions and patches?
@muffinmuncher
@muffinmuncher 11 ай бұрын
what markdown extension are you using in vim?
@coldiskit3581
@coldiskit3581 Жыл бұрын
Hello and thank you for your great tutorial. Sorry but i just wanted to know, what is your tool at left of the screen please?
@matthiasbenaets
@matthiasbenaets Жыл бұрын
doom emacs
@coldiskit3581
@coldiskit3581 Жыл бұрын
@@matthiasbenaets thank you can't wait to see your next videos ;)
@theclient6251
@theclient6251 Ай бұрын
great effort. audio volume is substantially low for me though.
@erwindevries7981
@erwindevries7981 3 ай бұрын
I love you
@richiee1720
@richiee1720 2 жыл бұрын
Thank you for this wonderful tutorial! Could you please upload the org file with the notes?
@matthiasbenaets
@matthiasbenaets 2 жыл бұрын
Glad you enjoyed it! All org files can be found in my git repo. The sources are all in the description of the video but here's a direct link: github.com/MatthiasBenaets/nixos-config/blob/master/nixos.org
@richiee1720
@richiee1720 2 жыл бұрын
@@matthiasbenaets many thanks!
Ultimate NixOS Guide | Flakes | Home-manager
15:30
Vimjoyer
Рет қаралды 108 М.
NIX OS: the BEST package manager on the MOST SOLID Linux distribution
17:08
The Linux Experiment
Рет қаралды 300 М.
WHO DO I LOVE MOST?
00:22
dednahype
Рет қаралды 8 МЛН
Её Старший Брат Настоящий Джентельмен ❤️
00:18
Глеб Рандалайнен
Рет қаралды 7 МЛН
100😭🎉 #thankyou
00:28
はじめしゃちょー(hajime)
Рет қаралды 57 МЛН
It's Clusterin' Time!
1:53:42
Jeff Geerling
Рет қаралды 153 М.
Matthew Croughan - Use flake.nix, not Dockerfile - MCH2022
17:25
Matthew Croughan
Рет қаралды 43 М.
What are immutable distros, and are they the future of Linux?
15:23
The Linux Experiment
Рет қаралды 99 М.
NixOS: Everything Everywhere All At Once
15:10
No Boilerplate
Рет қаралды 266 М.
I was WRONG! This is the BEST Package Manager.
10:25
Chris Titus Tech
Рет қаралды 133 М.
HomeLab Services Tour 2024 - What Am I Self Hosting?
40:00
Techno Tim
Рет қаралды 363 М.
Home Servers Have NEVER Been This Easy: CasaOS + ZimaBoard
49:58
Hardware Haven
Рет қаралды 630 М.
NixOS Has One BIG Problem
17:48
The Linux Cast
Рет қаралды 59 М.
Охрана выводит Усмана Нурмагомедова‼️
0:34
Около Движа
Рет қаралды 2,6 МЛН
СДЕЛАЛА СИГМУ НА ГАЗПРОМ АРЕНЕ
0:18
Маша LIL_P
Рет қаралды 729 М.
who wins the extreme balloon pop race ?
1:00
OSS Entertainment Team
Рет қаралды 110 МЛН