One way RUclips can make it easier for more technical topics like this is if we could slow down the video on phone or streaming devices to like 95%, 90% and so on ( like can on desktop or laptop ). Usually I speed things up a fair bit, but if I went with NixOS and especially flakes it would be totally new.
Flakes are cool, but yes, they do add some complexity. Much of the NixOS community feels that it shouldn't be experimental anymore, but should be moved to the mainstream features. But I feel they need to be made a little more user friendly first. And "user friendly" is relative. :D
Thanks for the call out, it has been experimental since 2.4, we at 2.18 now, it has been experimental for 2 years, but i am happy you having fun, for anyone else Flakes is the way tho. edit: i want to add you can use both the setup you got now and flakes, then people can see both, you can make a nix file that got you config and import it in the flake.
I appreciate just getting my head wrapped around the expressions and other constructs of Nix OS without having to learn another methodology. The NixOS (non-experimental) system is not hard at all. The complexity resides within it differences with conventional Linux setups. I'm an old dog and flakes is a new trick that I can learn at a more comfortable time. I'm good for now. Thanks Tyler. Y'all ARE doing a great job man.
I think flakes are actually really simple, and new users would actually be able to have an easier time with them. I think the learning curve with flakes is high because it's not the default, and typically when explained, it's not taking the "normal" mode into consideration. When I started with nixos a few months ago, I was first introduced to flakes with determinate systems installer which installs with flake support out of the box. it took me only a couple hours to understand flakes because flakes are actually not very different from a "normal" configuration. it's like an addon that requires a bit of boilerplate to have your "normal" config added to it, and then you can expand it to have more inputs, and outputs. If you think of your "normal" config as 1 output, it becomes trivial to connect the dots.
I feel like flakes are amazing for software projects, as it enables perfectly reproduceable builds for practically anything. I don't know if that is valuable enough for tge usecase of a desktopOS given the complexity it adds. But for git repos it seems amazing.
I ignored this video in the search results because of the title and because I wanted to learn how to use them... not why I shouldn't. But now I am a Patreon subscriber so I get the context of the title should not reflect me from watching.
Flakes is what lets me know that this distro is not at all for me. Because, no matter how many explanations I read or watch, even yours, I still don't understand what they are. There's a basic level of knowledge to this that I clearly just don't have.
When you use nix channels in NixOS it's impure. You are managing your inputs ( simple example is channels which can be used as an input) and that input is essentially determined using an environment variable in your system which can alter system to system and can also be altered at random in an imperative matter and your config essentially has no idea that you channel is pointed somewhere else. If you take ur NixOS configuration without flakes and move it to another system, it pretty likely the channels will be set to something different then what you had them initially. In flakes u specify the inputs and it creates a lock file that keeps track of exactly the git revision to that specific input ( so you are ensuring u are following that exact git revision of your channel ). That's one example of where flakes helps with reproducibly. Flakes has a lot more use cases but that's one big thing. Maybe this explanation helped. I didn't watch the video lol. If you have more questions or need me to elaborate, let me know.
it's essentially a way to pin your dependencies (inputs). makes sharing code super easy, since even the version of nixpkgs you use is pinned. can even have multiple versions of nixpkgs, each pinned if you want. edit: it solves the problem of depending on your system's channel of nixpkgs, which might be updated at any given moment, and is hard to switch between diff versions
Really it's just another way to run NixOS with a kinda standardised syntax and more descriptive way to do it. There is nothing it allows or forbids you to do. There is a nix system file in which you can define and import anything flakes allows you to import that file as well basically and it allows for similar manuvering when building packages
One way RUclips can make it easier for more technical topics like this is if we could slow down the video on phone or streaming devices to like 95%, 90% and so on ( like can on desktop or laptop ). Usually I speed things up a fair bit, but if I went with NixOS and especially flakes it would be totally new.
Flakes are cool, but yes, they do add some complexity.
Much of the NixOS community feels that it shouldn't be experimental anymore, but should be moved to the mainstream features. But I feel they need to be made a little more user friendly first. And "user friendly" is relative. :D
Exactly, user-friendly and beginner-friendly are different.
Thanks for the call out, it has been experimental since 2.4, we at 2.18 now, it has been experimental for 2 years, but i am happy you having fun, for anyone else Flakes is the way tho.
edit: i want to add you can use both the setup you got now and flakes, then people can see both, you can make a nix file that got you config and import it in the flake.
I appreciate just getting my head wrapped around the expressions and other constructs of Nix OS without having to learn another methodology. The NixOS (non-experimental) system is not hard at all. The complexity resides within it differences with conventional Linux setups. I'm an old dog and flakes is a new trick that I can learn at a more comfortable time. I'm good for now. Thanks Tyler. Y'all ARE doing a great job man.
I think flakes are actually really simple, and new users would actually be able to have an easier time with them.
I think the learning curve with flakes is high because it's not the default, and typically when explained, it's not taking the "normal" mode into consideration.
When I started with nixos a few months ago, I was first introduced to flakes with determinate systems installer which installs with flake support out of the box.
it took me only a couple hours to understand flakes because flakes are actually not very different from a "normal" configuration. it's like an addon that requires a bit of boilerplate to have your "normal" config added to it, and then you can expand it to have more inputs, and outputs. If you think of your "normal" config as 1 output, it becomes trivial to connect the dots.
Where are the "promised" links? 😅
I feel like flakes are amazing for software projects, as it enables perfectly reproduceable builds for practically anything. I don't know if that is valuable enough for tge usecase of a desktopOS given the complexity it adds. But for git repos it seems amazing.
I ignored this video in the search results because of the title and because I wanted to learn how to use them... not why I shouldn't. But now I am a Patreon subscriber so I get the context of the title should not reflect me from watching.
For me Flakes are just a 2nd path, it doesn't have to be appended to the first one, newcomers should just get into Flakes from the get-go.
Got me even more interested in trying nix.. eventually can you do a video on gaming in nix, steam etc not just 0ad :)
you are missing the links btw.
Thank you filled the description out before I went to work and new I forgot something. I will have to add them this afternoon.
I love that this bought a green screen and just rarely makes use of it
the first thing i see when i go to your nix gitrlab is step 1. enable flakes .. ? :D
Yes flakes is an experimental feature so you will have to enable it in your default config for you to then be able to use it.
@@ZaneyOG I posted that comment because of the video title :)
Flakes is what lets me know that this distro is not at all for me. Because, no matter how many explanations I read or watch, even yours, I still don't understand what they are. There's a basic level of knowledge to this that I clearly just don't have.
When you use nix channels in NixOS it's impure. You are managing your inputs ( simple example is channels which can be used as an input) and that input is essentially determined using an environment variable in your system which can alter system to system and can also be altered at random in an imperative matter and your config essentially has no idea that you channel is pointed somewhere else. If you take ur NixOS configuration without flakes and move it to another system, it pretty likely the channels will be set to something different then what you had them initially. In flakes u specify the inputs and it creates a lock file that keeps track of exactly the git revision to that specific input ( so you are ensuring u are following that exact git revision of your channel ). That's one example of where flakes helps with reproducibly. Flakes has a lot more use cases but that's one big thing. Maybe this explanation helped. I didn't watch the video lol. If you have more questions or need me to elaborate, let me know.
it's essentially a way to pin your dependencies (inputs).
makes sharing code super easy, since even the version of nixpkgs you use is pinned. can even have multiple versions of nixpkgs, each pinned if you want.
edit: it solves the problem of depending on your system's channel of nixpkgs, which might be updated at any given moment, and is hard to switch between diff versions
Really it's just another way to run NixOS with a kinda standardised syntax and more descriptive way to do it. There is nothing it allows or forbids you to do. There is a nix system file in which you can define and import anything flakes allows you to import that file as well basically and it allows for similar manuvering when building packages
Flakes.... Why was this named after dandruff? 🤣
That is a very good question. I'll have to wrap my head and shoulders around that one.
@@VegascoinVegas 🤣🤣🤣🤣
and you are no lol