Not Your Distrohopper's Distro
Jan 19, 2025
With more criticisms of NixOS than ever—do they have a point? We'll dig into the tough critiques and give our perspective.
Sponsored By:
- Tailscale: Tailscale is a programmable networking software that is private and secure by default - get it free on up to 100 devices!
- 1Password Extended Access Management: 1Password Extended Access Management is a device trust solution for companies with Okta, and they ensure that if a device isn't trusted and secure, it can't log into your cloud apps.
Links:
- 💥 Gets Sats Quick and Easy with Strike
- 📻 LINUX Unplugged on Fountain.FM
- NixOS is interesting, but has fatal flaws
- LUP 600 meetups!
- Planet Nix — March 6-7, Before and Alongside SCaLE
- SCALE 22x — March 6-9, 2025 at the Pasadena Convention Center in Pasadena, CA.
- LFNW2025 - "25 Years of Community Excellence" — April 25 - 27, 2025
- Nix - Death by a thousand cuts — TLDR: In its current state (2025), I don't generally recommend desktop use of Nix(OS), even for seasoned Linux users.
- Rich Hickey: Simple Made Easy — Rich Hickey emphasizes simplicity’s virtues over easiness’, showing that while many choose easiness they may end up with complexity, and the better way is to choose easiness along the simplicity path.
- Simple Made Easy Transcript
- Ansible is a Lisp
- Should I use NixOS? Short answer: no. — If words like "declarative", "generational", and "immutable" don't put your sexuality in jeopardy, you're considering NixOS for the wrong reasons.
- Annual Membership — Put your support on automatic with our annual plan, and get one month of membership for free!
- OliveTin/OliveTin: OliveTin gives safe and simple access to predefined shell commands from a web interface.
- Pick: isd — Simplify systemd management with isd! isd is a TUI offering fuzzy search for units, auto-refreshing previews, smart sudo handling, and a fully customizeable interface for power-users and newcomers alike.
- Pick: planify — Task manager with Todoist & Nextcloud support designed for GNOME
- Pick: Super Productivity — A to do list to get your head free
- Super Productivity on Flathub
- Super Productivity GitHub — Keep organized and focused!
- LUP 553: Portably Predictable Productivity
Transcript
WEBVTT
00:00:00.005 --> 00:00:03.725
This week, we're going to respond to some of the toughest criticisms around Nix OS.
00:00:04.265 --> 00:00:10.365
And a couple of years ago, the Changelog podcast had a guest on that had a few critiques themselves.
00:00:10.565 --> 00:00:13.405
And I think it sets a theme. I want to play this for you. We'll link to the full clip.
00:00:13.565 --> 00:00:18.425
This was sent in to us, and we'll start today's show with something I think
00:00:18.425 --> 00:00:20.985
we can hopefully respond to by the end of the episode.
00:00:21.205 --> 00:00:24.865
I like to think about Nix, for example. You know, Nix OS, Nix,
00:00:25.085 --> 00:00:29.425
like it's a very interesting, very cool idea, right?
00:00:29.425 --> 00:00:34.585
It was some fatal flaws, unfortunately, but it does so much interesting stuff,
00:00:34.605 --> 00:00:36.425
and it changes the whole game.
00:00:36.565 --> 00:00:42.085
And I like to think about how Nix is kind of like 1950s sci-fi authors.
00:00:42.305 --> 00:00:48.805
I'm rereading Foundation, right? And their vision of the future was adorable, right?
00:00:48.825 --> 00:00:51.445
It's like, oh, yeah, I could see how this would work, like spaceships without
00:00:51.445 --> 00:00:55.505
computers, and you would actually manually align the stars and navigate that
00:00:55.505 --> 00:00:56.525
way, right? It's kind of cute.
00:00:57.205 --> 00:01:00.505
But you could totally see how that future could have been a reality.
00:01:00.765 --> 00:01:07.025
And to me, things like Nix fit into there. If Nix had won, arguably Docker never
00:01:07.025 --> 00:01:10.045
would have existed, at least in terms of like an image format, right?
00:01:10.305 --> 00:01:15.245
And so, I don't know, EVPF, Wasm, I think they're fantastic.
00:01:15.525 --> 00:01:17.345
Maybe that means you should not buy their stock.
00:01:28.685 --> 00:01:33.325
Hello, friends, and welcome back to your weekly Linux talk show. My name is Chris.
00:01:33.485 --> 00:01:34.145
My name is Wes.
00:01:34.425 --> 00:01:35.265
And my name is Brent.
00:01:35.725 --> 00:01:38.985
Well, hello, gentlemen. Coming up on the show today, as I teased,
00:01:39.065 --> 00:01:42.465
we'll be responding to a recent wave of criticisms around Nix,
00:01:42.505 --> 00:01:45.705
and we'll try to take on some of the toughest complaints and share our thoughts,
00:01:45.805 --> 00:01:49.885
and then stick around because the pick segment, it's worth the price of admission alone.
00:01:50.465 --> 00:01:53.625
The boys were cracking hard this week to get some great picks.
00:01:53.625 --> 00:01:57.325
And then we'll round out the show with some boosts and much, much more.
00:01:57.445 --> 00:02:00.725
Before I go any further, let's say time appropriate greetings to our virtual
00:02:00.725 --> 00:02:02.585
lug. Hello, MumbleRook.
00:02:06.298 --> 00:02:06.958
Hello.
00:02:07.658 --> 00:02:13.618
And a big good morning to our friends over at TailScale, TailScale.com slash unplugged.
00:02:13.918 --> 00:02:19.698
TailScale is the easiest way to connect your devices and services to each other, wherever they are.
00:02:19.858 --> 00:02:24.118
It is a modern networking solution for connecting your devices securely,
00:02:24.118 --> 00:02:26.218
and it's powered by Wagon.
00:02:26.838 --> 00:02:30.838
Yeah, and it's secure, it's fast, and it's really quick to get up and running.
00:02:31.018 --> 00:02:37.098
And it makes old legacy VPNs look just, well, old. And if you're in a corporation,
00:02:37.098 --> 00:02:40.158
you're going to love how it'll plug in with your existing authentication infrastructure.
00:02:40.218 --> 00:02:44.838
And when you go to our URL, you can try it for free for up to 100 devices and three users.
00:02:45.298 --> 00:02:48.318
No credit card required. You can really just try it. Thousands of companies
00:02:48.318 --> 00:02:54.118
like Instacart, Hugging Face, Delingo, I don't know, Jupyter Broadcasting, others use Tailscale.
00:02:54.538 --> 00:02:56.898
I pull the boosts over Tailscale every week.
00:02:56.978 --> 00:03:00.698
That's right. It's just so good. It's so good. I mean, like all of my phone's
00:03:00.698 --> 00:03:02.138
private data syncs over Tailscale.
00:03:02.418 --> 00:03:06.978
I got no inbound ports. I love it. It's privacy for everyone and every organization,
00:03:06.978 --> 00:03:10.178
and it's easy to use, and it's programmable, too.
00:03:10.618 --> 00:03:13.918
Check it out. Go to tailscale.com slash unplugged.
00:03:16.318 --> 00:03:18.698
Okay, we just have a couple of things we got to nag you about.
00:03:18.818 --> 00:03:22.578
We're not going to do it a bunch, but, you know, episode 600 is just around
00:03:22.578 --> 00:03:24.798
the corner. It's February 2nd.
00:03:25.418 --> 00:03:26.958
Brent, did you see how many meetups we have now?
00:03:27.238 --> 00:03:33.318
I can't believe this. Yeah, we have 11 meetups happening a little all over the world.
00:03:33.838 --> 00:03:34.578
Whoa. Oh.
00:03:38.339 --> 00:03:40.499
So I'm going to list them all for you because I think it's a lot of fun.
00:03:40.579 --> 00:03:43.879
And if you, as a listener, want to join one of these, like, go for it.
00:03:43.979 --> 00:03:48.199
You can go to colonyevents.com slash events to see them all listed there.
00:03:48.259 --> 00:03:49.379
You can even host your own.
00:03:49.539 --> 00:03:52.919
That platform allows you to make your own. So if you want to invite some listeners
00:03:52.919 --> 00:03:56.579
in your neighborhood to join your meetup, that's a great place to post it all.
00:03:56.659 --> 00:03:58.079
And that's where we're keeping everything central.
00:03:58.199 --> 00:04:02.479
So we have a meetup in London. There's one in Central Florida as a listening
00:04:02.479 --> 00:04:03.959
party. There's one in Berkeley.
00:04:04.739 --> 00:04:07.579
I guess there's one in, what is it, Central MA? What's MA?
00:04:08.399 --> 00:04:10.199
Or something like that. There's one happening there.
00:04:10.519 --> 00:04:11.879
It's pronounced, it's match-a-touch-nuts.
00:04:12.179 --> 00:04:15.279
Ah, yes, right, right, right. Sorry. I didn't get that memo.
00:04:15.559 --> 00:04:18.099
That's happening at the Quest Archery, which sounds really cool.
00:04:18.819 --> 00:04:22.779
There's also, of course, a listening party in New York. There's one in Toronto
00:04:22.779 --> 00:04:24.499
with our good folks over there.
00:04:24.719 --> 00:04:25.079
Awesome.
00:04:25.559 --> 00:04:28.619
Pacific Northwest. Wait, that's ours. We're hosting a little party.
00:04:28.739 --> 00:04:31.539
Aren't we? Yep, we are. I don't think we'll be at the studio,
00:04:31.659 --> 00:04:32.619
but it'll be near the studio.
00:04:32.799 --> 00:04:35.559
I just don't know yet. It will be in the studio area.
00:04:35.679 --> 00:04:38.659
Yeah, but our idea is we'll be able to wrap up the show, get it out the door,
00:04:38.779 --> 00:04:40.779
and then we'll just head up and, you know, go party.
00:04:41.019 --> 00:04:43.679
But that way we can do all the post-show stuff and not, you know,
00:04:43.959 --> 00:04:46.039
make mistakes like we sometimes do when we throw parties.
00:04:47.639 --> 00:04:52.359
We also have listed here a meetup in Walla Walla. That's in Southeastern Washington.
00:04:52.999 --> 00:04:54.419
Let's go to that one. You are.
00:04:54.619 --> 00:04:59.999
All right. We'll just, we'll do the, if we had a Concord, that's what we need.
00:05:00.079 --> 00:05:03.859
We could just go to each meetup, you know, spend like 15, 20 minutes with people
00:05:03.859 --> 00:05:05.119
there and then move on to the next one.
00:05:05.339 --> 00:05:06.559
Well, the best we can do is mumble.
00:05:06.739 --> 00:05:10.359
It's the best thing now uh i'm not quite done with the list i'll there's one
00:05:10.359 --> 00:05:16.699
in what what is this one listening party midwest and what's mnwi wichita am
00:05:16.699 --> 00:05:23.659
i getting that properly who has the canadian guide help me out here all.
00:05:23.659 --> 00:05:28.039
Right so you got one in the midwest there's one in michigan and there's one in pennsylvania yeah.
00:05:28.039 --> 00:05:32.079
Bloom bloomsburg bloomsburg how about that.
00:05:32.992 --> 00:05:38.592
So 11 meetup events in total coming up on February 2nd.
00:05:39.192 --> 00:05:45.152
And you can also just join us in the Mumble Room from your pad because we're
00:05:45.152 --> 00:05:48.412
hoping a lot of these will virtually all connect via our Mumble Room.
00:05:48.952 --> 00:05:52.952
So if you can't make it to one of the events, you can't always still join us in our virtual lug.
00:05:53.112 --> 00:05:57.012
You just need the Mumble software. We have details at jupiterbroadcasting.com slash Mumble.
00:05:57.812 --> 00:06:00.892
So there are a couple of events that we are going to be at. First of all is
00:06:00.892 --> 00:06:05.012
Planet Nix, which runs March 6th through the 7th at Pasadena, California.
00:06:05.352 --> 00:06:08.112
That runs along Scale 22X.
00:06:08.532 --> 00:06:13.412
The Southern California Linux Expo is back, and we're going to be there.
00:06:13.572 --> 00:06:16.572
That runs March 6th through the 9th at the Pasadena Convention Center.
00:06:16.672 --> 00:06:21.712
So the nice thing about that is if you're a Nix person, you go to one spot,
00:06:21.752 --> 00:06:24.352
and you can check off Planet Nix and Scale and hang out with your boys.
00:06:24.972 --> 00:06:31.292
And then not too long after that, April 25th through the 27th is LinuxFest Northwest, the 25-year.
00:06:31.592 --> 00:06:33.092
That's going to come up fast.
00:06:33.272 --> 00:06:35.472
Yeah. So those are all coming up. We just want to make you aware of it.
00:06:36.152 --> 00:06:38.952
If you like to participate, then we encourage you.
00:06:39.012 --> 00:06:41.832
And if you don't care, then we are moving right along. Thank you for your patience.
00:06:46.032 --> 00:06:52.572
So we thought we would talk about a growing chorus online of complaints about
00:06:52.572 --> 00:06:57.872
Nix. And one of the ones I think caught our attention recently was a post titled
00:06:57.872 --> 00:07:00.392
Nick's Death by a Thousand Paper Cuts.
00:07:00.652 --> 00:07:06.332
And sort of the thrust of the piece is that Nick's probably isn't even really
00:07:06.332 --> 00:07:10.532
ready for experienced Linux users on the desktop.
00:07:10.772 --> 00:07:13.972
Yeah, the TLDR at the top is in its current state, 2025.
00:07:14.112 --> 00:07:21.052
I don't generally recommend desktop use of Nick's OS, even for seasoned Linux users.
00:07:21.052 --> 00:07:24.232
That caught my attention, I think caught all of our attention,
00:07:24.252 --> 00:07:28.812
because there has been a reoccurring theme in some of the complaints that we've been seeing.
00:07:29.586 --> 00:07:33.086
And we have a different perspective on some of these things.
00:07:33.526 --> 00:07:37.126
And we'll go through maybe this post and just respond to a few of them.
00:07:37.486 --> 00:07:42.606
And Brent, I thought maybe we'd start with the author talking about major version upgrades.
00:07:43.026 --> 00:07:46.386
Yeah, the author here generally thinks it's fairly easy, but here's a quote.
00:07:46.886 --> 00:07:54.206
This does not work for everything. When in Nix OS 23.11, I wanted to try KD6, but it was not so simple.
00:07:54.206 --> 00:07:59.566
I would have to do some channel foo to make unstable the default instead of
00:07:59.566 --> 00:08:05.546
just using unstable for kde and stable for other packages as many of us do.
00:08:05.546 --> 00:08:08.406
Yeah so this is in the so so
00:08:08.406 --> 00:08:11.266
section there's the good section which we're kind of skipping over
00:08:11.266 --> 00:08:14.346
uh for the moment there's the so so section and
00:08:14.346 --> 00:08:17.546
then there's the bad section which we'll get to and i
00:08:17.546 --> 00:08:20.246
just wanted to call this out here because i think the authors
00:08:20.246 --> 00:08:23.046
write major versions in general are a strong point of nix
00:08:23.046 --> 00:08:25.686
right you uh it's very explicit when you do it
00:08:25.686 --> 00:08:28.466
you have more safety than a lot of other systems in terms of you know
00:08:28.466 --> 00:08:31.126
hoping you're about to upgrade doesn't go wrong and all
00:08:31.126 --> 00:08:33.826
of that uh but i think this is something
00:08:33.826 --> 00:08:36.566
we should be careful of in general and just pay attention to as we
00:08:36.566 --> 00:08:40.146
go along being able to try a new
00:08:40.146 --> 00:08:43.506
major version of a desktop is i think not
00:08:43.506 --> 00:08:49.206
something most other common desktop linux distributions really even offer as
00:08:49.206 --> 00:08:53.466
a feature so i think we just like it's fine to criticize nix and nixos and there's
00:08:53.466 --> 00:08:57.426
a lot too and if it's going to improve we have to but i think it's worth being
00:08:57.426 --> 00:09:03.286
clear are we criticizing something that it's kind of unique or at least semi-unique in doing yeah.
00:09:03.286 --> 00:09:08.406
One theme i'm seeing here and i think we'll see this as we go through is nixos
00:09:08.406 --> 00:09:14.426
does allow you to do new things but they don't necessarily,
00:09:15.326 --> 00:09:19.466
allow you to do new things easily.
00:09:19.766 --> 00:09:23.386
What I mean is you're doing something super experimental and you're expecting
00:09:23.386 --> 00:09:29.146
that to be as easy as everything else in NixOS when that feature isn't even
00:09:29.146 --> 00:09:30.946
available in other places.
00:09:31.166 --> 00:09:34.186
And I think that's one of its strengths. It allows you to do some of this stuff,
00:09:34.326 --> 00:09:41.126
but it feels to me a little disingenuous to criticize it for allowing you to do these fancy things.
00:09:42.506 --> 00:09:45.406
I understand the dream. I'll steel man the argument here.
00:09:45.486 --> 00:09:49.066
I think the dream is that with Nix and its complexity, what you get with that
00:09:49.066 --> 00:09:51.266
is this ability to mix and match a lot of things.
00:09:51.606 --> 00:09:53.906
And to a large extent, this is very true.
00:09:54.726 --> 00:09:58.426
If you're trying to do this with Nginx or Postgres, probably going to be fine.
00:09:58.546 --> 00:10:00.946
If you're trying to do this with HTOP, probably going to be fine.
00:10:02.226 --> 00:10:09.726
Plasma is a big one. It touches everything. And so it touches the display system. It touches SystemD.
00:10:09.966 --> 00:10:11.726
It touches the login manager.
00:10:12.226 --> 00:10:15.806
Obviously, it touches all the desktop applications. And so you're pulling in
00:10:15.806 --> 00:10:18.366
dependency after dependency after dependency after dependency.
00:10:19.739 --> 00:10:23.019
So it's kind of like the worst case example. This is a little bit easier with
00:10:23.019 --> 00:10:26.719
GNOME, and then it gets exponentially easier with the simpler desktops.
00:10:28.019 --> 00:10:33.119
And this is just the reality of software in the free software world where you
00:10:33.119 --> 00:10:37.019
have all these dependencies is you're going to have like this sprile that happens
00:10:37.019 --> 00:10:38.419
or whatever the word is I'm trying to look for.
00:10:38.739 --> 00:10:44.919
So I think that's kind of – this is a hard one for anybody to get right.
00:10:44.919 --> 00:10:47.439
But one of the things that Nix allows you to do is rollbacks.
00:10:47.439 --> 00:10:51.099
And so I have unstable on my system.
00:10:51.279 --> 00:10:55.899
I've had unstable on my main system at home since we started experimenting with the real-time kernels.
00:10:56.299 --> 00:11:00.479
The whole OS is on unstable, which means I also get super fresh plasma.
00:11:01.179 --> 00:11:07.319
And if something breaks, I'll just roll back. And I'll just wait for the upstream thing to fix it.
00:11:07.699 --> 00:11:11.379
And I'll try again in a few days. And if that doesn't work, I'll just roll back.
00:11:11.379 --> 00:11:16.719
And so it allows me to maybe run a little bit more on the unstable side than
00:11:16.719 --> 00:11:19.399
i normally would have and so in a way it's just a simpler approach.
00:11:19.399 --> 00:11:22.999
Yeah uh that makes me think you could you could solve it multiple ways right
00:11:22.999 --> 00:11:26.619
there's the version where you kind of integrate it more smoothly into your config
00:11:26.619 --> 00:11:29.299
in a permanent manner and then there's that you're just like i'm gonna yolo
00:11:29.299 --> 00:11:34.219
to unstable for a while try it out then i can go right back with very few consequences i.
00:11:34.219 --> 00:11:35.879
Have this parachute here if something goes wrong.
00:11:35.879 --> 00:11:41.039
It makes me think how would you accomplish this in another distribution I remember
00:11:41.039 --> 00:11:46.039
pinning packages previously to different versions, but is this something that
00:11:46.039 --> 00:11:47.199
you can accomplish elsewhere?
00:11:47.639 --> 00:11:52.539
Well, I don't know. I just think if you added a PPA for a new major version
00:11:52.539 --> 00:11:56.059
of Plasma and got it going on your system, that would be messy.
00:11:56.199 --> 00:11:58.199
I mean, that's kind of what Neon is. Yeah. At scale.
00:11:58.219 --> 00:11:59.459
Yeah, there are specialty things for that.
00:11:59.539 --> 00:12:01.959
So if you build a whole bunch of tooling around it, you can do it.
00:12:02.753 --> 00:12:06.253
You know, I mean, it's totally possible, but you're kind of no longer using
00:12:06.253 --> 00:12:08.833
Ubuntu anymore, or at least not the release version of Ubuntu.
00:12:09.593 --> 00:12:14.153
Now, something I think we do see that comes up that I actually kind of can see
00:12:14.153 --> 00:12:16.853
where people are coming from, especially if they're used to Arch and the AUR,
00:12:17.033 --> 00:12:19.813
is kind of this variability of package versions.
00:12:20.333 --> 00:12:23.353
You know, Nix is kind of famous for having this massive package repository,
00:12:23.353 --> 00:12:26.053
and the author touches on this as well, Brent. Yep.
00:12:26.313 --> 00:12:29.253
For example, Duplicati and Rclone
00:12:29.253 --> 00:12:33.113
are widely used programs, but their Nix integration could use some love.
00:12:33.493 --> 00:12:37.773
Both have some options, but if you want them to have declarative configs,
00:12:37.893 --> 00:12:40.733
it's time to roll your own sleeves and get dirty.
00:12:40.733 --> 00:12:44.893
I think this is definitely true. You can have packages that are out of date.
00:12:45.153 --> 00:12:49.313
You can have packages that, you know, just install and you still have to do
00:12:49.313 --> 00:12:51.413
all the manual configuration yourself.
00:12:51.933 --> 00:12:56.353
It's kind of part and parcel of, you know, community support, unfortunately.
00:12:56.973 --> 00:13:01.013
And a lot of times these extra options for the declarative side is another case
00:13:01.013 --> 00:13:06.273
of, you know, by and large, most other systems don't have those options at all.
00:13:06.273 --> 00:13:10.533
Yes you're not really losing anything you're just not gaining anything in this particular case,
00:13:11.673 --> 00:13:15.233
that seems like a pretty reasonable compromise on nix because in some cases
00:13:15.233 --> 00:13:18.933
you will get the option to do declarative configuration and in some rare cases
00:13:18.933 --> 00:13:22.453
you won't but you can still run those things side by side.
00:13:22.453 --> 00:13:26.053
Yeah the author kind of goes on here to say this is why i have a notes file
00:13:26.053 --> 00:13:29.173
that enumerates all the manual steps i need to take to bring up that system
00:13:29.173 --> 00:13:32.393
with things like there's a list of you know manual options firefox extensions
00:13:32.393 --> 00:13:36.693
whatever and i think that is actually a pro-tip in disguise.
00:13:37.173 --> 00:13:40.993
You know, we often have those kinds of things, notes, commented bash script,
00:13:41.173 --> 00:13:43.053
whatever, in other distributions.
00:13:44.033 --> 00:13:47.333
And it's totally okay to have that with Nix and NixOS too.
00:13:47.473 --> 00:13:50.553
You know, like, I think there's this instinct that you have to put it all in
00:13:50.553 --> 00:13:53.013
the Nix config, and if you can, it's often great to do so.
00:13:54.161 --> 00:13:57.541
You know, you already get half the way there if you get stuff installed and
00:13:57.541 --> 00:14:00.201
then you have a documented approach to configure it from there.
00:14:00.341 --> 00:14:02.521
I mean, it's not ideal. Maybe it won't work for a thousand machines,
00:14:02.661 --> 00:14:06.401
but if you have two home servers and a workstation, it'll be totally fine.
00:14:06.521 --> 00:14:09.241
Well, then you have a really nice declarative base. So, you know,
00:14:09.361 --> 00:14:11.881
OK, the services are getting started this way.
00:14:12.461 --> 00:14:18.701
Docker got installed this way. And that is a really lean, mean fighting machine
00:14:18.701 --> 00:14:23.201
that is awesome to then run containers or VMs on top of.
00:14:23.201 --> 00:14:28.921
You got this nice reproducible base that has rollbacks and can easily roll forward.
00:14:29.081 --> 00:14:32.501
And then you've got the isolation of the applications and you could,
00:14:32.521 --> 00:14:34.061
you know, you could run it just that way.
00:14:34.201 --> 00:14:39.781
I think I want to talk about granular package control because that came up in this post.
00:14:39.881 --> 00:14:42.861
And Brent, there's a quote in here about the Nix solution and how it creates
00:14:42.861 --> 00:14:43.841
all this additional cruft.
00:14:43.961 --> 00:14:48.181
The Nix solution for this is to create an additional reference to the whole
00:14:48.181 --> 00:14:50.861
Nix packages repo at a certain checksum.
00:14:51.701 --> 00:14:56.661
Then have the package source that particular checksum the next way is not terrible
00:14:56.661 --> 00:15:02.721
but package pinning contributes to the cruft that will inevitably accumulate in your configs.
00:15:02.721 --> 00:15:05.621
Yeah the context here is like let's say you have a new release
00:15:05.621 --> 00:15:08.321
of a program and you're like you know it doesn't work for your use case
00:15:08.321 --> 00:15:11.381
you're waiting for the point one release to follow you like so you
00:15:11.381 --> 00:15:14.221
just you don't want to upgrade that one thing and yeah
00:15:14.221 --> 00:15:18.441
in nix often you would import a specific commit or maybe this is where you pull
00:15:18.441 --> 00:15:25.121
it from stable if you're running unstable on your system i think the you know
00:15:25.121 --> 00:15:29.261
if it's cruft or not is maybe a matter of perspective and i think there's also
00:15:29.261 --> 00:15:33.101
a factor of nix maybe makes it more apparent right like okay.
00:15:33.101 --> 00:15:35.761
Well first why do people call it cruft what do they mean is it because there's
00:15:35.761 --> 00:15:37.541
multiple versions lying around.
00:15:37.541 --> 00:15:42.061
I mean it's additional lines of code it's additional you know yeah copies in
00:15:42.061 --> 00:15:48.001
your disk usage and that's a theme we'll see here is cruft uh messy is another
00:15:48.001 --> 00:15:50.561
adjective used later on okay in the post.
00:15:50.801 --> 00:15:56.101
So I think there is this aspect of perceived organization, perhaps,
00:15:56.321 --> 00:16:02.041
or maybe what looks like a workaround or a hack, depending on how you're viewing it.
00:16:02.161 --> 00:16:02.261