I love Nix so much, because you can just super easily contain an entire development environment in one file. This stuff is genuinely

- More flexible than docker
- Easier than docker
- More reliable than docker
- Faster than docker
- More powerful than docker

Why isn't literally everyone using Nix?

#nix #nixos

Here, a development environment that installs

1. Bun
2. Playwright
3. Chrome, firefox and a generic webkit browser

And sets it up correctly, in an isolated environment? With a nice "hey, this is how you use this development environment" comment as a cherry on top?

The entire Nix file is 46 lines of code. Most of it boilerplate.

#nix #nixos

@Laauurraaa Care to link the source? 🙂

@pmidden The source is in the picture :p

https://github.com/Azeirah/L-Systems-editor

See the flake.nix in the repo.

GitHub - Azeirah/L-Systems-editor: An l-systems editor

An l-systems editor. Contribute to Azeirah/L-Systems-editor development by creating an account on GitHub.

GitHub
@Laauurraaa ahhh Lindenmayer systems. Cool stuff!

@pmidden Oh yes! I held a workshop last saturday. I'm definitely planning on hosting more.

Interested in joining some time? Let me know :D

Or I could give you a demo of the tool, I quit my job so I can become a full-time hardcore nerd doing things really, really well.

@pmidden I actually wanted to study biology when I was in middle school but I kinda went for computer science because I felt like it was the obvious choice?

Well, turns out it's people who put things in boxes. Not life.

So I get to do both :D

@Laauurraaa @pmidden fyi the dedentation of the shell hook there isn't required: the nix language already eats leading indents in '' block literals so it will get eaten for you.

@leftpaddotpy @pmidden Really? Because I intentionally removed it because it was appearing indented in my shell when I started it with `nix develop` ;o

Can you show me what you mean with a reproducible example? :D

@leftpaddotpy @pmidden Ohhh

I just spent a moment on your site. Have you seen the talk by Joe Armstrong? Before he died?

I read your article on postmodern build systems. My mind is barely wrapping itself around Nix, and you're suggesting the what's going to be blowing enthusiast people's minds 20 years from now... lmao

My mind can only do so much exploding every week

@leftpaddotpy @pmidden

https://www.youtube.com/watch?v=lKXe3HUG2l4

This talk is sooo good. Mostly because it's by Joe, but also because it's soooo good.

Much recommend!

"The Mess We're In" by Joe Armstrong

Joe Armstrong is one of the inventors of Erlang. When at the Ericsson computer science lab in 1986, he was part of the team who designed and implemented the ...

YouTube
@Laauurraaa @pmidden yeah i think I've watched this before but i enjoyed watching it again anyway. thanks for the link.

@leftpaddotpy @pmidden It's one of my favorite presentations of all time!

Joe <3

@Laauurraaa @pmidden l-systems & Nix; two of my favorite things 🫡
I'm live-streaming development right now!
@Laauurraaa As a pretty heavy nix user, I still can't say I love the language, but the results can hardly be argued with!

@adriano Yeahh.. The language is a bit sketchy. But the ecosystem? Oh gosh, it's so good.

The fundamental principles? Even better.

Nix is a philosophy, not a tool.

@adriano (although it happens to be a tool too!)

@Laauurraaa Absolutely.

I've been using `devenv` to do what you're doing here, btw. I imagine you've heard of it, but just in case you haven't, now you have!

@Laauurraaa This is awesome! I still have struggles with flakes. 😭
@Laauurraaa you will greatly benefit from using nix-direnv! 😉
@jean_dupont Probably will! I keep learning more about nix every day
@Laauurraaa bonus: if you use <shell> (<shell> != bash), you can put "use flake" in .envrc (that is direnv) and it will automatically run "nix develop" for you each time you enter this directory. What is more important, it will drop you to <shell> automatically

@heinwol Hmm.. What do you mean by <shell>, is that something I'd have to put in the nix flake? It's hard to google syntactic subtleties like

"<shell>" vs "shell", and I didn't find it immediately on the direnv site.

@Laauurraaa oh, sorry, it's just my meta-notation. I mean fish or zsh or whatever you use. Just install direnv somehow and do this:

```console
> cd my-project
> echo "use flake" > .envrc
> direnv allow
```
Aaand you should be all done 

@heinwol Ohh

I use zsh!

I'm not sure if I want to switch to direnv. I feel like there might be some value to typing "nix develop", in that it forces me to pay attention when I see the welcome message.

IE, I think it might help with my ADHD context switches.

I don't typically want to work on a million different projects a day. That'll drain my energy like nobody's business whaha

@heinwol The REAL important thing of our conversation though...

THAT EMOJI

THERE'S A CAT HOLDING A HEART EMOJI?! WHAT?!

@heinwol Ohh wait, it's not a utf-8 emoji is it? It's custom to mastodon?
@Laauurraaa yep . Moreover, if i get it right, it's custom for each instance, but you can see emojis people from other instances sent (sometimes it doesn't work though, ahem)
@heinwol Yeah only the blobcatheart worked, the last two are just :stuff:
@Laauurraaa damn, they're cute though ^_^
@heinwol I should crochet a heart for my cat to hold lmao
@Laauurraaa that sounds like a cool idea! The question is how can a cat hold this... Maybe make it small and put on a collar?
@heinwol Add some catnip inside and I can guarantee you it will take less than a minute to my cat Lemon to hold it

@heinwol I'm currently crocheting a collar for one my cats that I'm slowly giving more opportunity to go outside.

But I don't want her to kill birds, so I want to give her a bell.

It's nearly done

@Laauurraaa lol, can collars be crocheted??
@heinwol Anything can be crocheted as long as you are willing to take the time to do it lmao
@Laauurraaa lmao. Maybe the day I'll crochet something arrives, but I'm currently too lazy, ehe

@heinwol I crocheted a cushion-sized dragon quest slime..

I crocheted some bags for

- My keys at the coat rack
- My ginger in the kitchen
- My curcuma in the kitchen

Coasters

A hat with eyes

A blanket (this is a more than 3 year project at this point, it's still not done but I can comfortably chill on the couch with it lmao)

Some small holders/containers for candy, used batteries, medication...

@heinwol The important point is that it must be far too long, then I can use some knot that I forgot the name of to make the size adjustable.

All that's left then is to attach a bell.

Something like this knot, but not this one:

https://www.allaboutami.com/crochet-cord-bracelet-with-adjustable-closure/

Crochet Cord Bracelet with Adjustable Closure

Ever since I was a little girl, I’ve loved making my own bracelets using embroidery floss. I would spend hours upon hours poring through my macrame friendship bracelet book and trying out all…

All About Ami
@Laauurraaa you're so devoted, cool!

@heinwol I uhh.. try

thanks

@Laauurraaa i love the math background (knot theory) but I don't know it but it's interesting nonetheless

@heinwol Oh yeahhhh, knot theory is this crazy niche in math that is waayyyy out there.

I really want to learn more math in general..

I don't know if it's necessarily super meaningful for crocheting, but hey, who knows!

I did see a video recently of an industrial engineer who used some crazy knot theory/friction law to make robots move with millimetre precision without the use of gears if I recall correctly.

@heinwol Assume that everything I said there is incorrect, but I recall he did something with coiling cord and somehow, combined with friction laws, that made it basically impossible to break or something...

I don't think I'd be able to find the video whahaha

@Laauurraaa Ha, reading comments in images w/o alt text might help.

Thank you for sharing the public git repo in that screenshot, guess this will help me getting started!