Thank you. There's too many people there, I wasn't ready for that. If they told me I
would have finished my slides sooner. So yeah, thank you everyone for being there. It's really
energizing to see so many people interested in Nix, NixOS. So I work at a company called Twig.
My name is Guillaume. We love Nix, a Twig. If you don't know about us, check out our blog. We have,
it's okay. So while my job as work is more data science and software in general, I'm a Nix
enthusiast. I started three years ago, could not stop since then. My rabbit hole was just managing
CUDA basically. As a Nix enthusiast, I have one thing I can't stop thinking about, which is,
I want everyone to use Nix. I want you to use Nix. I want you to use Nix. I want you to use Nix.
I want, so before I start, does anyone not use Nix on a daily basis here? Okay, so I want you to,
okay. So and to the other people in the room, guys, what are you doing? There's two people not
using Nix. So as you might know, I want to be able to make anyone use Nix. But there is about,
in the sentence, we have both anyone and Nix. In the same sentence, ideally this is what the
combination of these words should mean. Nix uses no better. So Nix is not an easy tool to use,
right? In order to be completely autonomous with Nix and NixOS, you need a vast amount of
knowledge to model your way through all kinds of problems and before you get anything to run
properly. However, I am a believer. I think we can, in fact, not have this, but reach this wonderful
word where everyone can use it. So let me tell you a story that happened in a company that I might
have heard about. So in this company, we have Emma. Say hello to Emma. The company didn't
expect people to actually reply to that. I'm delighted that you are. Thank you. I feel less
lonely there. The company being rather small, she has to handle all HR by herself because she's
the HR, right? So she manages the employee's contract as any HR would and turns out that even
though the company is small, she has processed a lot of contracts. I mean, really a lot. Oops.
I spent too much time on this animation to let it go to waste. Sorry. So she has been using
software for quite some time. You might recognize the logo. To process demo. And it has been going
fine. But someday, a task come to her so huge is stupid. We all know this kind of stupid task,
right? Let's say, for instance, that she has to go through all the contracts and find all the
employees that have some specific terms. She now has to spend hours and hours and days doing,
going through all each one contract reading, looking for the terms, et cetera, et cetera. And
it is boring. It is repetitive. If only there was a way to do it without doing it manually.
And as she's starting to drown in her own despair, suddenly appears in her slack. Someone who says,
I think I can be of help. It's an engineer, she says. Little does she know that it's not just an
engineer. Anyway, our hero knows that she uses a SAS to process the contract. And the SAS has an
API. So it can be automated. So he says, I can do it in minutes. Is he a spy? He puts in his
hacking gloves, starts typing furiously, and Emma is in awe. He says, give me access to your
account and I will get the date on my machine and I will process it for you and I will pass it to
you. But then Emma looks at him in fear. It's forbidden by law. Indeed, we now have to face a
terrible foe. You should not have access to this data or we'll be in trouble. There were
these close, these close to solving the problem. But our hero knows that it ain't easy to run a
custom script on Novice computer, right? You would have to go through many challenges. Making
someone use a terminal. Installing dependencies. Sending the code and most of it all fixed in
it because it never works on the first trial. So if only there was a simple way to run a program
on someone's computer without such hassle. If only there was. But fortunately for us,
there is nix. A single flat road for the user. So step one, install nix. Step two, give one
liner to run a program. Actually, this one. First one, you got the joke. But it's beautiful. And
as you can imagine, this is sort of a true story. There really was an HR. There really was a
company. And I can say it out loud. I got HR to use nix. The comment I just put you. Yeah,
I really do consider it an achievement. I put it in my tiles. If only it could be displayed
over my head. So when I submitted my talk, I put a subtitle and you've seen it on the first
slide. It will be fine. When I wrote it month ago, it was supposed to be sarcastic, ironic. But
I was supposed to roast nix. I'm in a toxic relationship, as you can see. But when I thought
about this one story, I realized that in fact, it did work. And that was what was incredible at
the time. I was just writing a script, a Python script in five. And shipping Python, I've done
it to some other people for the same reason, like privacy. And it's always nightmare, because
people really wanted to work on the machine and you can't touch it and stuff like that. So this
is why I, this illustrates why I love nix. It just works. Machines are capricious. But nix makes
like a highway for us to make things run on them. It pays the way for software to not just work on
my machine, but on any machine. And I think this is what makes nix have such an impact. And if nix
can just do that, it's already quite enough, right? So is it sometimes a pain to write packages,
to have to debug them? Because you're using a recursive function that at the end doesn't work
and you have really not the good error message. Yes, sure, it is a pain to use. But at the end
of the day, if it's the only way we have to do what I just did, then isn't it worth it to know it?
So my final word would be to all nixers here, let's not make other people use nix because
it's cool tech. Let's make it because it makes someone else's life cooler. Thank you.
So I have my minutes left. It was just a silly story to get you to breathe a bit between the
interesting parts. But if you have any questions, oh, we do have questions. So the question is,
in which company does HR not use Windows, which is a great tricky question that I purpose, I did
on purpose to evade that fact. Yeah, it was on my quest, as you could have seen. Some companies,
I guess. Yeah? Yeah? Sorry? So the question is, why do I use Windows? Because I can run
nixOS on it anyway. And yeah, some software just don't work yet. If you can make Ableton work on
nixOS, I'm taking it. Still questions. How many minutes left? Yeah? That's a very good question.
And this is, sorry? Oh, yeah. So the question is, sorry. Why didn't I just build Docker image,
basically, to run it? This is what I did a few years ago when I had to ship Python. And it turns
out that Docker was a pain to get to use on someone's computer because there's too many buttons.
Like Docker desktop to get running on someone's machine that just don't know or want to know how
Docker works. Sometimes it's just like you have to turn it on, you have to wait for it to, like,
it's too complex to use in this situation. Or you can argue against that, but in my case,
it turns out to be, and I wanted to use nix to be fair. Last problem statement, you said that you
need to teach the HR person, command line, package manager, and execute the script. Now, nix kind
of solves three of those things. You still need the command line. Yes. Yeah. So the question is,
I'm sorry, I just can't get that in my head. Thank you. So the question is, so yeah, I said there
were different parts of the problem to solve, like installing dependencies and moving the
scripts and getting people to use the command line to run the script, et cetera. So, but there's
still the fact that we need to use the terminal. I bypassed that by giving things just to copy
and paste, basically. And then terminal on Mac isn't that hard to find, actually. It wasn't the
hardest part. The hardest parts were getting the API key from the SAS, because you have to make
people click through the UI of the SAS. Yeah, I think that's about it. Thank you, everyone.