Honestly I think making Nix more readable is a critical thing to get right in order to foster more adoption. While the functional declarative simplicity is great for logical clarity it requires some up front learning to understand. I think this piping is a good example of how the functionality can remain the same but we add some syntax sugar to make it look more like declarative config and less like spaghetti code. I'm for logical simplicity though.
I still have an xmonad config somewhere, but that one has too little spaghetti instead. It's basically a write-only config because it was written in one sitting while I remembered argument counts and operator precedence.
Awesome video! I can't lie I was missing pipes a bit from other functional languages, awesome they're coming to Nix. I can't lie, I was doing that let expression variable nonsense a bit for some of my more complex Nix modules.
The feature that I miss the most is adequate errors. I’m not only talking about these atrocious stack traces, the errors are just not pleasant to work with, mostly because of functional nature of nix
mmh love a good pipe operator. Would be nice to see a placeholder syntax as well though. This is why in R I kept using magrittr package's pipe until we got a native placeholder. Can't pipe to a positional argument easily without it. This was simple with magrittr pipe `%>%` and `.` placeholder: `f % f(1, .)`. Not as simple with native pipe `|>` when there was no placeholder, now it's `_`.
Too little metal pipe sound effects
Only 2. I initially wanted to add it every time I said pipe, but didn't want to overdo it
@@vimjoyerfeared your helmet fell off
I was tired and read the title as "make your coke better with pepsi"
both versions would be true
Honestly I think making Nix more readable is a critical thing to get right in order to foster more adoption. While the functional declarative simplicity is great for logical clarity it requires some up front learning to understand.
I think this piping is a good example of how the functionality can remain the same but we add some syntax sugar to make it look more like declarative config and less like spaghetti code.
I'm for logical simplicity though.
I still have an xmonad config somewhere, but that one has too little spaghetti instead. It's basically a write-only config because it was written in one sitting while I remembered argument counts and operator precedence.
vimjoyer pipeline
Vimjoyer knows how to handle that heavy pipe!
i like the more subtle background :) the one before was a bit distracting for me
agree
Just like threading (first and last) in Clojure, which I use a lot. Great addition!
This is HUGE The pipe operator is so good ❄️🙌
This video actually explains pipes the best I have ever seen.
Now I act
Make your bets, what's gonna be stabilized first: pipes or flakes?
Hahaha, flakes and stabilized in the same sentence
Based pipe wrench
Awesome video! I can't lie I was missing pipes a bit from other functional languages, awesome they're coming to Nix. I can't lie, I was doing that let expression variable nonsense a bit for some of my more complex Nix modules.
Yes, I too have already found a ton of places where I could use them in my configuration
@@vimjoyer Do you have your config in a public repo btw? I'd love to take a look. :)
@@bastiana3611 Yes, it's on github:vimjoyer/nixconf
wow, when I searched this in 2023 I thought they would never be added
The feature that I miss the most is adequate errors. I’m not only talking about these atrocious stack traces, the errors are just not pleasant to work with, mostly because of functional nature of nix
New Video, Let's goooo.
Edit: I want and need this feature.
Thanks for the video!
amazing video, thank you. What do you use as presentation tool? (very nice), a lot of good work
I'm using "motion canvas"
Crazy boy and Crazy pipes
crazy mad insane
pipenjoyer
I'd like to learn to self-host web applications using Nix and/or NixOS
Also, great video 👍
Ya i too wanted to learn this.. as a better (or worse) alternative to hosting in docker.. i have no clue how to make flakes of dbs and all
I plan to make a video about services soon, so that's probably going to help
Scale-like underscore placeholder parameters next please
Finally!
If only we could have statically typed nix
Bro plz make a video on how to contribute to nixpkgs
F# mentioned 🎉
mmh love a good pipe operator. Would be nice to see a placeholder syntax as well though. This is why in R I kept using magrittr package's pipe until we got a native placeholder. Can't pipe to a positional argument easily without it. This was simple with magrittr pipe `%>%` and `.` placeholder: `f % f(1, .)`. Not as simple with native pipe `|>` when there was no placeholder, now it's `_`.
04:35 Pun intended? : ^ )
Which nix version is required for this operator to be available?
I'm using the latest version available in the unstable branch for this video
Yesssss
Noice!
Wait… is this a monad?
No, it’s syntactic sugar.
10k subscribers? 5:29
Yeah, I need to update that
He didn't do rebuild-switch after editing config on youtube
Inspired by Gleam?
is there an easy way to concat functions? like the haskell . operator?
not to my knowledge