LINUX Unplugged - 598: Not Your Distrohopper's Distro
Episode Date: January 20, 2025With 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. Support LINUX UnpluggedLinks:💥 Gets Sats Quick and Easy with Strike📻 LINUX Unplugged on Fountain.FMNixOS is interesting, but has fatal flawsLUP 600 meetups!Planet Nix — March 6-7, Before and Alongside SCaLESCALE 22x — March 6-9, 2025 at the Pasadena Convention Center in Pasadena, CA.LFNW2025 - "25 Years of Community Excellence" — April 25 - 27, 2025Nix - 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 TranscriptAnsible is a LispShould 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 GNOMEPick: Super Productivity — A to do list to get your head freeSuper Productivity on FlathubSuper Productivity GitHub — Keep organized and focused!LUP 553: Portably Predictable Productivity
Transcript
Discussion (0)
This week we're going to respond to some of the toughest criticisms around Knicks OS.
And a couple of years ago, the changelog podcast had a guest on that had a few critiques themselves.
And I think it sets a theme. I want to play this for you. We'll link to the full clip.
This was sent in to us and we'll start today's show with something I think we can hopefully
respond to by the end of the episode. I like to think about Knicks, for example,
you know, Knix OS Nix.
Like, it's a very interesting, very cool idea.
Right. It was some fatal flaws, unfortunately,
but it does so much interesting stuff and it changes the whole game.
And I like to think about how Nix is it's kind of like 1950s sci-fi authors.
Like I'm rereading Foundation. Right.
And their vision of the future was adorable, right?
It's like, oh yeah, I could see how this would work,
like spaceships without computers,
and you would actually manually align the stars
and navigate that way, right?
It's kind of cute.
But you could totally see how that future
could have been a reality.
And to me, things like Nix fit into there.
If Nix had won, arguably, Docker
never would have existed, at least in terms of like an image format. Right. And so, I
don't know, EVPF, WASM, I think they're fantastic. Maybe that means you should not buy their
stock. Hello friends and welcome back to your weekly Linux Talk Show.
My name is Chris, my name is Wes, and my name is Brent.
Well hello gentlemen.
Coming up on the show today as ITs we'll be responding to a recent wave of criticisms
around Nix.
We'll try to take on some of the toughest complaints and share our thoughts. And then stick around because the pick segment, it's worth the
price of admission alone. The boys were cracking hard this week to get some great picks. And
then we'll round out the show with some boosts and much, much more. Before I go any further,
let's say time appropriate greetings to our virtual lug. Hello, Mumble Room.
Hello Chris.
Hello Rack.
Hello Bunt. Hello, Mumble Room. Hello, Chris. Hello, Rick. And hello, Bunt.
Hi.
Hello.
And a big good morning to our friends over at Tailscale,
tailscale.com slash unplugged.
Tailscale is the easiest way to connect your devices
and services to each other wherever they are.
It is a modern networking solution
for connecting your devices securely,
and it's powered by a while ago.
Yeah. And it's secure.
It's fast and it's really quick to get up and running.
And it makes old legacy VPNs look just well old.
And if you're in a corporation, you're going to love how it'll plug in
with your existing authentication infrastructure.
And when you go to our URL, you can try it for free for up to 100 devices
and three users, no credit card required. You can really just try it for free for up to 100 devices and three users.
No credit card required.
You can really just try it.
Thousands of companies like Instacart, Hugging Face, Dolingo, I don't know, Jupiter Broadcasting,
others use Tailscale.
I pulled a boost over Tailscale last week.
It's just so good.
It's so good.
I mean, like all of my phone's private data syncs over Tailscale.
I got no inbound ports.
I love it.
It's privacy for everyone and every organization.
And it's easy to use and it's programmable too.
Check it out.
Go to tailscale.com slash unplug.
Okay, we just have a couple of things we got an egg about.
We're not going to do it a bunch, but you know, episode 600 just around the corner.
It's February 2nd.
Brent, did you see how many meetups we have now? I can't believe this. But you know, episode 600's just around the corner. It's February 2nd.
Brent, did you see how many meetups we have now?
I can't believe this.
Yeah, we have 11 meetups happening
a little all over the world.
Whoa.
Whoa.
Whoa.
Whoa.
So I'm gonna list them all for you
because I think it's a lot of fun.
And if you, as a listener, wanna join one of these,
like go for it.
You can go to colonyevents.com slash events to see them all listed there.
You can even host your own.
That platform allows you to make your own.
So if you want to invite some listeners in your neighborhood to join your meetup,
that's a great place to post it all.
And that's where we're keeping everything central.
So we have a meetup in London.
There's one in central Florida as a listening party.
There's one in Berkeley.
I guess there's one in what is it? Central MA. There's one in Berkeley. I guess there's one in, what is it, central MA.
What's MA, Massachusetts or something like that?
There's one happening there.
It's pronounced, it's Massachusetts.
Oh, yes, right, right, right, sorry.
I didn't get that memo.
That's happening at the Quest Archery,
which sounds really cool.
There's also, of course, a listening party in New York.
There's one in Toronto with our good folks over there.
Awesome. Pacific Northwest, wait, that's ours. We're hosting a little party in New York. There's one in Toronto with our good folks over there.
Pacific Northwest, wait, that's ours.
We're hosting a little party, aren't we?
Yep, we are.
I don't think we'll be at the studio,
but it'll be near the studio.
I just don't know yet.
In the studio area.
Yeah, but our idea is we'll be able to wrap up the show,
get it out the door, and then we'll just head up
and go party.
But that way we can do all the post-show stuff
and not make mistakes like we sometimes
do when we throw parties.
We also have listed here a meetup in Walla Walla
that's in southeastern Washington.
Let's go to that one, screw ours.
I know right.
We'll just, we'll do the, if we had a concord,
that's what we need, we could just go to each meetup,
spend like 15, 20 minutes of people there
and then move on to the next one
Well, the best we can do is mumble. It's the best thing now. I'm not quite done with the list. Oh, there's one in
What is this one listening party Midwest and what's MNW? I?
Wichita
Help me out here. All right, so you got one in the Midwest, there's one in Michigan, and there's one in Pennsylvania.
Bloomsburg.
Bloomsburg.
Cool.
Bloomsburg.
How about that?
So there are 11 meetup events in total coming up on February 2nd.
And you can also just join us in the Mumble Room from your pad because we're hoping a lot of these will virtually
all connect via our Mumble Room.
So if you can't make it to one of the events,
you can always still join us in our virtual log.
You just need the Mumble software.
We have details at jupiterbroadcasting.com slash mumble.
So there are a couple of events that we are going to be at.
First of all is Planet Nix,
which runs March 6th through the 7th
at Pasadena, California.
That runs along scale 22 X the South, the Southern California Linux Expo is back.
And we're going to be there.
That runs March 6th through the 9th at the Pasadena Convention Center.
So the nice thing about that is if you're a next person, you go to one spot
and you can check off Planet Nix and scale and hang out with your boys.
And then not too long after that, April 25th through the 27th is Linux Fest Northwest, the 25 year. That's gonna come up fast. Yeah. So those are all
coming up, we just want to make you aware of it. If you like to participate, then we
encourage you. And if you don't care, then we are moving right along. Thank you for
your patience.
moving right along. Thank you for your patience.
So we thought we would talk about a growing chorus online of complaints about Nix. And one of the ones I think caught our
attention recently was a post titled Nix death by 1000 paper
cuts. And sort of the thrust of the piece is that Nix probably isn't even really ready for experienced
Linux users on the desktop.
Yeah, the TLDR at the top is in its current state, 2025,
I don't generally recommend desktop use of Nix OS
even for seasoned Linux users.
That caught my attention, I think caught all of our attention
because there has been a reoccurring theme in some of the complaints
that we've been seeing.
And we have a different perspective
on some of these things.
And we'll go through maybe this post
and just respond to a few of them.
And Brent, I thought maybe we'd start
with the author talking about major version upgrades.
Yeah, the author here generally thinks it's fairly easy,
but here's a quote.
This does not work for everything.
When in NixOS 2311, I wanted to try KD6,
but it was not so simple.
I would have to do some channel foo
to make unstable the default
instead of just using unstable for KDE
and stable for other packages, as many of us do.
Yeah, so this is in the so-so section.
There's the good section,
which we're kind of skipping over for the moment.
There's the so-so section,
and then there's the bad section, which we'll get to.
And I just wanted to call this out here
because I think the author's right major versions in general
are a strong point of NICs, right?
It's very explicit when you do it.
You have more safety than a lot of other systems
in terms of hoping you're about to upgrade,
doesn't go wrong and all of that.
But I think this is something we should be careful of
in general and just pay attention to as we go along.
Being able to try a new major version of a desktop
is I think not something most other common desktop Linux
distributions really even offer as a feature.
So I think we just just like it's fine to criticize Nix and NixOS and there's a lot
too and if it's going to improve we have to.
But I think it's worth being clear are we criticizing something that it's kind of unique
or at least semi unique in doing.
Yeah, one theme I'm seeing here and I think we'll see this as we go through is,
NixOS does allow you to do new things,
but they don't necessarily allow you to do new things easily.
What I mean is, you're doing something super experimental
and you're expecting that to be as easy as everything else in NixOS when that feature isn't even available in other
places.
I think that's one of its strengths.
It allows you to do some of this stuff, but it feels to me a little disingenuous to criticize
it for allowing you to do these fancy things.
I understand the dream.
I'll steel man the argument here.
I think the dream is is that with NICS and its complexity, what you get with that
is this ability to mix and match a lot of things.
And to a large extent, this is very true.
If you're trying to do this with with NGINX or Postgres, probably going to be fine.
If you're trying to do this with H-TOP, probably going to be fine.
Plasma is a big one.
Like it touches everything.
And so it touches the display system.
It touches system D.
It touches the login manager.
Obviously, it touches all the desktop applications.
And so you're pulling in dependency after dependency
after dependency after dependency with that.
So it's like kind of like the worst case example.
This is a little bit easier with GNOME.
And then it gets exponentially easier
with the simpler desktops.
And this is just the reality of software
in the free software world
where you have all these dependencies
is you're gonna have like this sprial that happens
or whatever the word is I'm trying to look for.
So I think that's kind of,
this is a hard one for anybody to get right.
But one of the things that Nix allows you to do is rollbacks.
And so I have unstable on my system.
I've had unstable on my main system at home since we started experimenting
with the real time kernels.
The whole OS is unstable, which means I also get super fresh plasma.
And if something breaks, I'll just roll back
and I'll just wait for the upstream thing to fix it. And I'll just roll back.
And I'll just wait for the upstream thing to fix it, and I'll try again in a few days.
And if that doesn't work, I'll just roll back.
And so it allows me to maybe run a little bit more
on the unstable side than I normally would have.
And so in a way, it's just a simpler approach.
Yeah, that makes me think,
you can solve it multiple ways, right?
There's the version where you kind of integrate it
more smoothly into your config in a permanent manner,
and then there's the other.
You're just like, I'm gonna YOLO to unstable for a while,
try it out, and then I can go right back
with very few consequences.
I have this parachute here, something goes wrong.
It makes me think, how would you accomplish this
in another distribution?
I remember pinning packages previously to different versions,
but is this something that you can accomplish elsewhere?
Well, I don't know. I just think like,
if you added a PPA for a new major version of Plasma and got it going on your
system, that would, that would be messy.
I mean, it's kind of what neon is. Yeah. Yeah. There are specialty things for that.
So if you build a whole bunch of tooling around it, you can do it. You know,
I mean, it's totally possible, but you're,
you're kind of no longer using Ubuntu anymore,
or at least not the release version of Ubuntu.
Now, something I think we do see that comes up
that I actually kind of can see
where people are coming from,
especially if they're used to Arch and the AUR,
is kind of this variability of package versions.
You know, Nix is kind of famous
for having this massive package repository,
and the author touches on this as well, Brent.
Yep.
For example, Duplicati and RClone are widely used programs, but their Nix integration could
use some love.
Both have some options, but if you want them to have declarative configs, it's time to
roll your own sleeves and get dirty.
I think this is definitely true.
You can have packages that are out of date.
You can have packages that just install
and you used to have to do all the manual configuration
yourself.
It's kind of part and parcel of community support,
unfortunately.
And a lot of times, these extra options
for the declarative side is another case of, by and large,
most other systems don't have those
options at all.
Aaron Ross Powell Yes.
You're not really losing anything.
You're just not gaining anything in this particular case.
That seems like a pretty reasonable compromise on NICs because in some cases, you will get
the option to do declarative configuration and in some rare cases, you won't.
But you can still run those things side by side.
Aaron Ross Powell Yeah.
The author kind of goes on here to say, this is why I have a notes file that enumerates
all the manual steps I need to take to bring up that system with things like, there's
a list of manual options, Firefox extensions, whatever.
And I think that is actually a pro tip in disguise.
We often have those kinds of things, notes, commented bash script, whatever, in other
distributions.
And it's totally okay to have that with Nix and NixOS too.
You know, like I think there's this instinct
that you have to put it all in the Nix config.
And if you can, it's often great to do so.
But you know, you already get half the way there
if you get stuff installed and then you have
a document and approach to configure it from there.
I mean, it's not ideal.
Maybe it won't work for a thousand machines,
but if you have two home servers and a workstation,
it'll be totally fine.
Well, then you have a really nice declarative base.
So you know, okay, the services are getting started this way.
Docker got installed this way.
And that is a really lean, mean fighting machine that is awesome to then run containers or
VMs on top of.
You got this nice reproducible base
that has rollbacks and can easily roll forward.
And then you've got the isolation of the applications
and you could run it just that way.
I think I wanna talk about granular package control
because that came up in this post
and Brent there's a quote in here about the Nix solution
and how it creates all this additional cruft.
The Nix solution for this is to create an additional reference
to the whole Nix packages repo at a certain checksum.
Then have the package source that particular checksum.
The Nix way is not terrible, but package pinning
contributes to the cruft that will inevitably
accumulate in your configs.
Yeah, the context here is like, let's say you have a new release of a program
and you're like, you know,
it doesn't work for your use case.
You're waiting for the point one release to follow you.
Like, so you just, you don't want to upgrade that one thing.
And yeah, in NICS, often you would import a specific commit
or maybe this is where you pull it from stable
if you're running unstable on your system.
I think the, you know, if it's cruft or not
is maybe a matter of perspective.
And I think there's also a factor of
Nix maybe makes it more apparent, right?
Okay, well first, why do people call it cruft?
What do they mean?
Is it because there's multiple versions lying around?
I mean, it's additional lines of code.
It's additional, you know,
copies in your camping file.
Disk usage and what not, I suppose.
That's a theme we'll see here is cruft,
messy is another adjective used later on in the post.
So I think there is this aspect of
perceived organization perhaps,
or maybe what looks like a workaround or a hack
depending on how you're viewing it.
Okay.
I guess to me, it seems like that is a,
first of all, I don't have to directly interact
with that crufter mess, there's tooling around that.
And then second of all, containers often have a lot of cruft
just as an aside, but with that you get reproducibility,
you get some guarantees that you don't otherwise have.
That seems like a pretty fair trade off,
especially on production systems.
Yeah, right, so in this case,
like, okay, I have to go get a commit to the version
that has the package that isn't broken
or is the version that I need,
and then I have to kind of add that into my flake,
and I kind of have to thread it through and pass it through,
and then do the override so that, like,
if I use the next package option,
it uses the overridden right version of the package,
and it's like a little bit of work in your config.
That's definitely true.
But the author says, in Pac-Man based distros,
I can just roll back a package to an old version
in my cache and tell Pac-Man to ignore upgrades
on that package.
I think that counts as cruft just as much, if not more.
And it's gonna be hidden in your Pac-Man config
and you have to rely on the mutable state of,
do you have that in your cache?
If you're gonna set up another system,
is that in Arch's cache still?
Right.
Yeah, it's inside the package manager.
It's not defined anywhere in the system
that you can go review and change later
without having to interact again with the package manager.
Right.
Well, and I would argue, as the author said,
this is not really a desktop that they would recommend
for a desktop Linux, even someone who's quite advanced.
I think I'm fairly advanced
compared to most computer users.
And I've never felt the need to pin an application like this
in my everyday use of NixOS.
Chris, I would imagine you haven't either.
No, I mean, we have a couple of production apps
that we've set once and never really
had to bother with again.
But that's about it.
Yeah.
And I think it works pretty well for that use case.
I do think there are times where you want to pin
if you're all unstable, say.
Oh, yeah, sure.
If you have a lot of complicated changes
and one package is broken and you don't care
about updating that right now.
Yes.
You can also sometimes just uncomment it.
Depending on how crucial it is at this particular time.
That's my move.
I mean, oftentimes you have it if it's just convenient because it's in the packages and
it doesn't cost too much to have.
I do think there's some truth, right?
On some systems, if I just wanted to upgrade one package, you can do that without updating
the whole world.
But again, you may be compromising your reproducibility of that system and you now have more state.
So it kind of comes down to how important is, you know, which version do you prefer?
Right.
There's also, and we might talk about this more throughout, but you don't necessarily
have to put everything in your system config, right?
You can also have per project or per, you know?
Yeah.
Whatever, flakes and stuff that have additional tools
that can be pinned to differently.
And that means you don't have to mess up
your main config for that stuff.
You also don't have to rebuild your whole config
if you're just, you know, you need it all the time.
I don't need it in every place,
but I know that when I do specific activities,
I just activate this environment.
Right, so you know, it's not a whole system thing.
So that's the so-so section.
Let's move to the bad section.
And I don't wanna make it sound like we are railing
on the author here, because like one of the things
that they say is, quote, first off, I'm well aware
that some of these issues mentioned below
are likely exacerbated by my own faults.
Like, they fully acknowledge that they're not perfect,
they're not like, you know, and I think we're not,
we're kind of using this
as a discussion, we're not using this to like,
particularly go after them.
But there is a couple of things in this bad section
that I thought we should talk about and respond to.
The author notes here,
it's possible that the fact that Nix is always, quote,
in the way between me and Linux, it may have soured me.
I've heard this sentiment before, it's in the way.
I just want to do X, but I have to go through Nix
and I have to build it.
I mean, that is true, right?
I think this is where maybe it can be more difficult
for experienced Linux admins in particular.
I'll give you an example, right?
Adding a new user account, for example. I just wanna, I just wanna add a new user.
Yeah, user add, I know the flags, like no problem.
I don't wanna have to like go add it to my config
and then build a new version of my system with that user.
And you know, there's been research in this area
and many people have talked about ideas of like,
could you do that and then have Nix capture the state?
And we may get to a place where, you know,
tools, AI tools, who knows, like can reliably do that that may be something but for the moment you're
right like you you really have to adapt to like no I'm not going to do that to
make this change I have to go to my config file and put it there and then
rebuild the system and now I'll get my user and that can can seem like
handcuffs that's it's I think what's at the root of that complaint is a workflow
change you know if you talk about the difference there, people that maybe are already living like a DevOps
workflow where they're making their changes and then they're putting it up on GitHub,
they're checking it out, they have version control, and then they're pulling it down
on systems.
They are already living in a world where if they want to make that kind of change, they
go make that change somewhere else and then push it to the system.
So for them, it's not really that much of a transition.
But if you're maybe again saying you're typically used to Ubuntu, Fedora, Arch, and you just
want to add a user, this feels like it's quote in the way, I think.
It reminds me, it's maybe not a perfect analogy, but I think there's at least something because
Nix is a functional programming language.
And in the development area, I have found that it can be sometimes more difficult
for experienced object-oriented programmers to adopt a functional style than it is if
you're teaching someone who's a less experienced programmer.
You know, there's just less unlearning.
Yeah, there's less to unlearn and there's less bias towards how things should be working
or how you expect them to work.
Right.
And if you don't have that expectation,
maybe you can be a little more free
to try several different approaches
and land on the one that's a more natural fit
for the environment you're in.
I'd like to argue that my personal experience
with the Nix config is that the abstraction
is actually a superpower for me
because I've often struggled with, oh yeah, how do I do that user thing
again? The last time I did that was like a year and a half ago and I don't quite remember
how to do that. And so I have this vast directory of notes of like just quick hints to myself
of how to do these like Linuxy commands that I only do once in a while. And I found that the abstraction in the NixOS config
was actually really nice for someone like me
because A, it's there and I can see exactly
what's being defined in the system.
But also a new user is like a copy paste away
and it's super straightforward.
And I don't pretend to understand the Nix language at all.
But like a quick copy and paste for something pretend to understand the next language at all,
but like a quick copy and paste for something like a new user for me
is a super nice use case that I find
is making my Linux life actually much simpler,
which I really appreciate.
Right, if you don't have to unlearn the part
where you're like, I already know how to do this,
then just knowing that, oh, there's gonna be one spot
that I know that I will have to do this
can kind of be nice and simple.
Brent, there was that section in the blog too
where he kind of tries to warn off
even experienced Linux users.
I'm on the fence if Linux is better
for experienced or new Linux users.
But this point has driven home
when I find at Knicks conferences,
a bunch of high schoolers who package Knicks derivations for fun
Perhaps I'm not the best developer or maybe my experience is what's actually in the way
Also, the fact that I don't like the Knicks language may be due to my middle-aged brain being hard to teach new tricks
I don't know. I
think this is another area where I mean it may be that there is just more barrier
of you expect things to work a certain way,
maybe you're not especially interested,
which is totally fine,
Nix doesn't need to be for everyone,
and it is a very different approach
than a lot of mainstream DevOps and even programming tools.
Going back to that changelog quote
where their guest said it's kind of like a 1950s sci-fi novel.
The bit where I agree is,
I think the switch that I had in my head,
even though I don't really even understand, you know,
part of the Nyx language.
Like I don't think, could either of you identify
a Nyx function or, you know, write a hello world
or a function that takes in a number and adds one to it?
I could definitely reproduce one if I saw one.
Yeah.
But I don't, no way I could write it from scratch, no.
And I have never needed to yet, maybe one day I will.
And I've kind of taken, I had this shift,
after we tried the Nix challenge,
and I wrapped my head around immutability,
and then I wrapped my head around Nix,
the shift that I had was this kind of,
oh, shit, we should have always been doing it this way.
This is how computers should always be, because now you're programming the machine through
the whole stack.
It's no longer kind of this black box where I go in and I adjust various vague settings
throughout the entire stack.
And then the machine sits there and reproduces what I want for a while.
But then I change something like I upgrade. It's fragile, and it no longer does the thing.
That's not how it works with NICs.
And it should never have gone the way it has.
And so once you kind of look at it and go,
oh, this is, you need to program the machine.
It's a machine that needs to be told what to do,
and it needs to be told what to do in a specific way.
And if you do it, you can reproduce that,
and you can tell all the machines to do it this way.
And that's how we should be doing this.
And so when something doesn't work for me,
I don't think of Nix as doing it wrong.
I think of, oh, we've probably had a bad practice
of how we've been packaging, how we've been distributing,
how we've been running this thing,
and that needs to be addressed.
And Nix gives me the tooling and the runway to learn
how to actually make it feasible and how to actually do it.
And there has been multiple times now
where something's not available
or it's not the right version.
And in the past, we never would have created a Deb
or an RPM out of it because of the massive complexity.
But now in-house, it's something we can actually do.
And it does take a little bit of upfront work, but that works done once.
And then it pays dividends for years.
And when I had that kind of realization, I stopped thinking of, oh,
it's such a pain in the butt that I have to use, you know, the config file
to add a user account. I just want to use user ad.
No, I probably should have always been defining them this way.
And then now when I lift that config and I drop it on my new machine, guess what?
My user accounts there, it's using the fish shell, it's in all the right groups every
single time.
I think you're hitting on, you know, there's a strong philosophy behind Nix and NixOS.
And there are times where that puts it very at odds with traditional approaches and what
people are familiar with.
And sometimes it's just pure painful,
it could just be better outright.
So I do think if you are going to adopt NICS and NICS OS,
it helps to really vibe with and get and be
on board with the philosophy.
Because sometimes that explains why
you may want to make certain trade-offs
or be doing something and bearing
the cost of doing something in a particular way,
because it's serving a larger, maybe abstract goal.
Well, the author continues here, using a NIC system often feels like using a programming
language. There are many ways to do the same thing, different philosophies, old ways, new
ways, etc.
I mean, certainly true. One aspect is like, I mean, it is a programming language. This
is sort of embedded in a larger discourse, I think, in the world of configuration management.
You have, you know, things that are aiming to be
declaratively done in more of a configuration language,
like the, you know, proliferation of YAML files everywhere,
like a YAML file for Ansible,
although Ansible's done a lot on top, you know,
see the article, Ansible is a Lisp, for instance,
for all the things you can do with it. But contrast that with Chef, which is no longer as popular,
but for a while was, which used a specifically a domain specific language in Ruby to be a
programming language. And Nix is kind of on this side of the spectrum. Personally, that's
my preference. I think you do, it does mean you need to manage, you know, don't go too
crazy with it. You do kind of want it to not be, you know, way out there. You want some standardization,
but I think we have seen that oftentimes if you go the other route, you end up having
to re-implement programming on top of YAML, like looking at cloud formation templates.
Yeah. And you're often kicking out to bash scripts at the end of the day and whatnot
to really do some of the fine touches and whatnot.
But I do think it's totally fair, right? Like Flakes is a big thing that's made this all more complicated.
There does, if you are going to dive into actually writing NICs the language, it does
mean you're going to have to learn all the stuff that goes along with writing the language,
which is developing the sense of taste and how you like to do it and which way you should
do it.
And I think that is a key insight right there, is you kind of look at approaching
Building a Nick system like you might approaching maybe a software project at certain high levels And so you use the same tooling and so a common complaint you'll see it's in our chat room right now
probably the number one complaint is the next documentation is bad and then adjacent to that the next error messages are bad and
For everyday sys admins and people that have been using
Ubuntu Fedora and DNF and apt, absolutely true.
For a developer, pretty par for the course
the type of messages you get back from a system.
And with tooling like Claude and chat GPT and llama,
you can actually take these error messages
and you can derive substantial information from them
and quickly get to resolutions that are not actually as commonly available to
say something on fedora or Ubuntu Arch etc because it is it's a programming
thing it's a syntax thing often it's a language thing and that's what these
things excel at and they can produce configurations that you can then riff off of and tweak to your needs
in a way that you just don't really get
when you're trying to troubleshoot a problem
on a Debian system.
Yeah, this was another area where I think
we had some divergence with the author
because they kind of write here,
speaking about figuring out and debugging.
And when I've exhausted all my options,
I find myself turning to ChatG GPT to straighten things out.
Sometimes it's helpful, but like most things, it ends up producing the same spaghetti that
I was dealing with in the first place.
Garbage in, garbage out.
And like that is definitely true, right?
Garbage in, garbage out, especially with LLMs.
I think it probably does like, we've probably all experimented and found some ways work
well and some ways don't in terms of interacting with NICs and LLMs. In particular, I found that most of them are a lot worse
at generating NICs code and even NICs configurations.
They can do like a basic Rust or Go module package
or something like that, and they can do very basic
NIC system configs, but what they are good at doing
is making changes to them, tweaking them.
Finding syntax errors.
Yeah, finding syntax errors, pointing you at things
where you maybe have a typo, and if you could do
the paste your config and your stack trace,
or your trace back, they're also good
at suggesting areas to look at.
That's just it.
That is just it, and it's been really powerful.
Which I think is fair, like,
Nick's tracing could be a lot better.
I'm hopeful that eventually that will improve.
So I'm glad to see that there are some things,
but it is a real concern that we should acknowledge.
Wes, I'm quite happily gonna disagree with your first point
that it's not very good at producing configs
because I have found a recent superpower of mine
is to use perplexity to help me solve problems
to integrate into my config. So hey, I want to add this
new application and I've never used it before. What's the best way to go about that? To use
an LLM to help me with that scenario instead of pouring through the documentation or people's
blog posts has gotten me to answers within a couple minutes and really
helped me build out my system in a way that has felt a lot more natural than it has even
six months ago when I wasn't using that technique. So I think actually there's a lot of power in it
and I found some great success using especially perplexity to do just that.
And it provides references. So if I want to go read the documentation to get more info,
that has been a really nice path for me. So that's my new workflow.
I love it. And it's a great reminder too that, you know, especially with these tools, they're
constantly changing and they're only going to get better next.
And as Magnolia Mayhem points out in her live chat, if you have the fancy version of chat
GPT, you know, where you pay like 20 bucks a month,
you can get access to custom GPTs
and there's a couple of good ones in there for NICs
that are trained on NICs.
So they're a little bit better than the average quality.
Well, I wanna jump ahead though,
because the author, I mean, it's an extensive piece
and of course we'll link to it in the show notes
if you wanna read it yourself.
But they do talk about something that I think is true
and is a current problem for NICix. And that's the CDN. CDN is a huge burden right now and
it's massive. And we've talked about this, but TLDR, Wes, is this is sort of
like what you get with Nix is this massive, massive sprawling CDN.
Yeah, I mean, you know, you you end up having to build, because you have this
functional closure, right, where you have this functional closure, right,
where you have this sort of root
and everything builds off of that.
And if you change something low down near the root,
you kind of have to rebuild everything after that.
So you have just sort of a, you know,
the functional nature, the reproducible nature of it
imposes more disk usage.
And also to make it so that you don't have to run a
Gen 2 like system, you know, there is a massive cache and big build servers to handle doing
that so that you get closer to like an arch type experience in many ways.
And that creates a burden for the NixOS Foundation.
I do think, you know, we saw last year that one of the reasons for
that is at the moment, or at least then, they literally hadn't deleted anything basically
since you know, some time ages ago. So it wasn't just the cache for like the current
stuff or the last couple of years. It's like, it's all the inputs and it's all the outputs.
So they were looking at doing some fancy, like extend the NICS garbage collection algorithm
to work through the cash kind of thing.
So I'm hopeful this can be improved.
It's also, I think, one of the bigger things
on the foundation's agenda in terms of long-term support
for the project.
Yeah, and maybe we'll get an update
at Planet NICS this year.
I would hope to see one,
because that was sort of one of the big issues
identified there.
And it's a source of where they need funding too, I think.
You, Wes, found a brilliant clip
that I think really encapsulates this,
even though it's not about Nix at all.
Yeah, so this is a talk from Rich Hickey,
the creator of Closure, from I think way back in 2011.
And Rich likes to get into word definitions
and sort of explore the history of things. We're not going to play all of it, but in
this talk he's exploring the word simple and easy.
So let's look at easy. I think this notion of nearness is really, really cool. In particular,
obviously there's many ways in which something can be near. There's sort of the physical notion of being near. Is something right there? And I think
that's where the root of the word came from. This is easy to obtain because it's nearby.
It's not in the next town. I don't have to take a horse or whatever to go get to it.
We don't have the same notion of physicality, necessarily, in our software.
But we do sort of have our own hard drive, or our own tool
set, or the ability to make things physically near by
getting them through things like installers and stuff
like that.
The second notion of nearness is something being near to our
understanding, or in our current skill set.
And I don't mean, in this case, near to our understanding, right, or in our current skill set.
And I don't mean in this case near to our understanding meaning a capability.
I mean literally near something that we already know.
So the word in this case is about being familiar.
I think that collectively we are infatuated with these two notions of easy.
We are just so self-involved in these two aspects, it's hurting us tremendously.
All we care about is, can I get this instantly and start running it in five seconds?
It could be this giant hairball that you got, but all you care is, can you get it?
In addition, we're fixated on, oh, I can't read that.
I can't read German.
Does that mean German is unreadable?
No.
I don't know German.
So this sort of approach is definitely not helpful.
In particular, if you want everything to be familiar, you will never learn anything new,
because it can't be significantly different from what you already know
and not drift away from the familiarity.
There's a third aspect of being easy that I don't think we think enough about.
That's going to become critical to this discussion,
which now is being near to our capabilities.
And we don't like to talk about this,
because it makes us uncomfortable.
Because what kind of capabilities
are we talking about?
If we're talking about easy in the case of violin playing,
or piano playing, or mountain climbing,
or something like that, well, I don't personally
feel bad if I don't play the violin well,
because I don't play the violin at all.
But the work that we're in is conceptual work.
So when we start talking about something being outside of our capability, it really starts
trampling on our egos in a big way.
And due to a combination of hubris and insecurity, we never really talk about whether or not
something is outside of our capabilities. It ends up that it's not so embarrassing after all because
we don't have tremendously divergent abilities in that area. The last thing I want to say
about EZ and the critical thing to distinguish it from simple is that easy is relative. Playing the violin and reading
German are really hard for me. They're easy for other people, certain other people. So
unlike simple where we can go and look for interleaving, look for braiding, easy is always
going to be easy for whom or hard for whom. It's a relative term. The fact that we throw
these things around, sort
of casually saying, oh, I like to use that technology because it's simple. And when I'm
saying simple, I mean easy. And when I'm saying easy, I mean because I already know something
that looks very much alike that, is how this whole thing degrades. And we can never have
an objective discussion about the qualities that matter to us in our software.
the qualities that matter to us in our software.
OnePassword.com slash unplugged. That's all lowercase.
It's the number one password.com slash unplugged.
Imagine your company security's like the quad
of a college campus.
You have those nice brick paths between the buildings
and those are your company owned devices.
You know what I mean?
The IT approved apps and the managed identities
of your employees.
And then there's the past that people actually use.
You know, the shortcuts worn through the grass,
the actual straight line from point A to point B.
Those are like your unmanaged devices
or your shadow IT apps or maybe non-employee identities,
things like contractors, everyday stuff.
The reality is most security tools,
they only work on those happy brick paths,
but a lot of the security problems take place on the shortcuts.
One password extended access management is the first security solution that brings all
these unmanaged devices, apps and identities under your control. It ensures that every
user's credential is strong and protected. Every device is known
and healthy and every app is visible. One Password Extended Access Management solves
problems. Traditional IAMs and MDM just can't touch. It's security for the way we actually
work today and it's generally available with companies that have Okta, Microsoft, and it's
in beta for Google Workspace customers too. I love One Password and how they make this so straightforward because it is very hard
to strike the balance between something that makes IT happy and something that makes the
end users happy and doesn't pit the two groups against each other.
That's what they've done.
Plus, you already know OnePassword's award-winning password manager.
It's trusted by millions of users, over 150,000 businesses from IBM to Slack.
And did you know OnePassword has regular third party audits
and the industry's largest bug bounty? Because One Password exceeds
the standards set by various authorities and leaders in the security industry.
Secure every app, every device, and every identity, even the unmanaged ones.
OnePassword.com slash unplugged. All lowercase. That's the number one
password.com slash unplugged. All lowercase, that's the number one, password.com slash unplugged.
Now the author here talks about reaching Nix Nirvana.
Here's a quote.
You will often hear the trope
that there is a high learning curve to Nix,
but then you'll reap major benefits going forward.
I find this to be mostly true,
particularly if you are just deploying some simple services or just love Nix and want to spend your
days in Nixing things. But if that's not your case, there's no real getting ahead
here. It's true, you may always be seeing the amazing benefits of Nix, but you will
also constantly be struggling with or mucking with configs.
This is where many of us find ourselves, Nick's purgatory.
You have seen the light and can't imagine going back to the disorganized chaos of the
old days, but damn, Nick's is painful.
I guess ignorance really was bliss.
Or as one user put it, Nick's OS is s***.
The problem is, all other OSes are even worse.
Yeah, I was really curious to explore this.
One, because we've seen other people in our community
kind of comment that they resonated with some of this.
And then I wanted to just,
I think there's something interesting going on
because I mean, I really like Nix,
but I was kind of always gonna like it
because I'm a weird functional programmer guy anyway.
But you two are having a great time with NYX. You've deployed it for family members
We don't come from a programming background
No, right like you don't you're not writing a bunch of modules and flakes and Brent's brother really loves NYX, too
well
and I can easily explain why if you're interested and it's because the reproducibility of
you're interested and it's because the reproducibility of previous Linux systems, you know, whenever I just mentioned that my brother, you know, I got a new laptop
recently, well, putting Nix on there was like super fast because everything was
already set up and he could just like deploy it and it was done.
Where previously it was like a multi hour process to try to approximate where you
had been and yet it'll take you two weeks to remember all the things you needed
To get there. Yeah, that's true. I think there's also
I've heard this before sentiment is echoed in this quote that Brent read here about how he's always mucking with his configs and
So when I read that line I went and looked and the last time I updated my Nix config
was like the first week of December of 2024.
I don't, I think maybe when I first was getting
my system set up, maybe I mucked with my config,
you know, every couple of days.
But once the system's set up,
I don't really ever touch the config.
No, I go through periods of like,
oh, I'm trying to get X to work,
and then I figure that out,
and then it kind of just sits there.
Yeah.
I also, you know, and maybe this is another matter
of how you want to use your machine.
I think you do, I in practice run my NixOS desktops
a little different than I did my Arch.
You know, Arch would be kind of,
you just didn't get in that loop
where every time you open a terminal, you do an SYU.
Yeah. I do not do that with Nix really at all.
Maybe like once a week, you know?
And I think that can help especially if you're unstable
just in terms of random broken packages,
but also just reducing the amount of big old closure
that you have to download.
So I think there's, I don't know,
I find that there's a promise of Nix and NYX OS and it's like very pure
and very declarative.
And in truth, we probably are only 60, 70, 80%
of the way there.
And I find personally that a key is kind of recognizing
where you're okay with those trade-offs
because you can get a crazy amount of benefit.
And then if you're just okay with like drawing the line,
sometimes I mean like, I will come back back to this I don't care about that this
much the author has this example of they were kind of fighting with the
declarative integration of flat pack management with XOS. Right. That's one
area where that's not as crucial to me right like that's one area where a bash
script with all of my flat packs in a loop that installs them is probably
gonna be about as good in a lot of ways.
And that would be fine if I was having problems
with the thing in there,
and I wouldn't lose a lot of sleepovers.
That is a great example.
There are folks that come up with ways
to declaratively install their flat packs,
but I just use my Nix config to enable flat pack,
and then I just add the flat hub repo,
and then I just kinda go shopping
when I set up a Nix system. And I guess just kind of go shopping when I set up a Nick system.
And I guess I sort of I have like a core set of packages
that I install from the next repo.
And then a whole bunch of stuff.
And this is just how I've approached
approached all immutable distributions,
a whole bunch of the user space stuff.
I just do via manual flat pack installs because,
well, I'm feeling like doing brave this installer.
This time I'm feeling like doing Zed, you know, and I just use.
So yeah, for me, it's I think what you're getting at is
you can take it to the exponential level
where your individual text editor is getting its extensions
and its fonts and everything is set by Nix.
And you're the further you take that, the more you're going to tinker,
the more edge cases you're going to hit and the more frustration you'll hit.
But you can back that line up a little bit to Wes's point.
You can back that up a little bit and say, you know what?
I'll just install the flat packs that I want
and then I'll go into Zed
and I'll add the line about my font size.
It kind of makes me think of automation.
I mean, I think we all are big fans of automation,
but we've probably also all been in cases
where like the desire, the programmer, the nerd,
the sys admin desire
is to automate it.
But if you think about it from a business context,
it probably just makes sense to have a Google Calendar
reminder that does this, and we pay someone to handle it
the two times a year it needs to happen.
There are just some times where you draw pragmatic lines,
and it's not necessarily the most pure or beautiful,
but it's what lets you progress to the problems that are
actually higher up on your list.
But I think in this context, someone might argue, well, I want to configure something
this one off one time, but I can't find it in Nix because they do things so differently.
What would you say to that argument?
I mean, I think it would really depend on the specifics.
There probably are cases where NixOS makes it harder with particular workflows.
I'll give you an example.
When I first started using image, it was not packaged up for Nix.
And so the only practical solution really, unless I wanted to go off on an adventure,
was just to use the Docker container.
And then as time came along and it got packaged up in Nix and there's a module and all that
and I really liked what they did with it, I made the decision to transition from a Docker container
to the native Nix installation.
And I can kind of go back and forth like that as I like.
And so I would say probably 65% of the software
I run in my home lab is in a Docker container
and the rest is installed and managed by Nix.
And I just sort of pick and choose based on, you know,
the 30 minutes of Googling and reading
that I do before I install the thing.
Right.
You can kind of get a sense of like, what options does this NixOS module have?
How mature does it look like?
Is it going to fit the use case I have in mind?
And yeah, you can really productively, I think, mix and match containers in Nix.
Heck, you can even, you know, run the database with Docker and run the service with Nix or
vice versa.
I do think maybe to Brent's point, there are things you can learn.
And this might be different if you're talking like home manager and user stuff versus system
stuff.
More and more, I have seen Nix OS modules adopting having an extra config parameter
where you can just basically write out the raw config for the thing that you want.
So between that and the basic pattern
is usually like under var,
there's gonna be the state for each service.
And a lot of those times, you know,
the, if you're not managing declaratively the config
via Nix, you can drop config files
imperatively after the fact in there.
It is state you have to keep track of,
but that's the same with other systems.
Yeah, it's just like everything else. Yeah. Yeah, it's just back to how you were.
But you're right. There are probably, to use escape hatches, you have to
learn about and be able to figure out the escape hatches. So that can be difficult.
Before we wrap up, he does touch on kind of where he's going to go from here.
The author says, what I learned from Nix is we should have good reproducible systems by now. We are past having to rely
on the golden images or VMs, but this should be doable with standard or mature Linux tooling.
Yeah, I don't know about the last part, but I definitely agree. Reproducible systems should
be, you know, something we continue progressing on. It should be a goal. It is achievable
and it has a lot of benefits.
The author continues here, I could cobble some things together with Docker, Stow or Shamwa, Ansible, Flatpaks, but none of that would light a candle to the promise of Nix.
Yeah.
They continue, for now I will likely keep NixOS on some home servers. On more active workstations,
I may switch to using the Nix package manager
and home manager. Or maybe I'll just go back to the old days for a while before taking
that red pill. It's going to hurt, but at least I'll get some work done.
You know, it's interesting because what's kind of implied in here is like the sort of,
oh, I've got to do it the right way. I might not do it the right way. I might just do it
my way. I've never really been caught up on that with Nix. It's always felt like a set of tools
to just do it the way I want to do it.
I don't even consider it being too many options.
It's just, this is what works for me.
I think it is worth pointing that out.
For folks coming from maybe a standard
like this is a best practices playbook
and there's this one way to do it,
Nix isn't necessarily, I mean, some of it is, right?
With the NixOS services and modules it is,
because you just kind of, they have a set of options,
you can use them or not.
But once you go outside of that,
you are kind of handed a programming language designed
to build packages and operating systems
and some recipes to put them together,
but it is on you after that.
And that may not be everyone's cup of tea, which is okay.
You know, I wonder if the way to kind of dip your toes in with Nix
is to start with a particular project, right?
Don't move your whole desktop.
Don't move your whole home lab.
Set up a Nix system.
And if it's a desktop you want to do,
just set a goal of trying plasma on Nix.
Or if it's you want to run Plex or Jellyfin,
maybe just try a Nix box
that just is doing that and don't try to bite off,
you know, this whole I'm going to do all of my work
on this Nix desktop or I'm gonna have my entire infrastructure
on this Nix server.
We didn't cover it, but the author talks a lot
about development environments, which we've talked about
on the show, can definitely be one of the trickier
environments in Nix.
The author's even using Dev-en, which is one of the things we recommend for that,
among a lot of great tools.
But that's like, I use Nix on my personal laptop
on KDE Neon for a long time before I switched
to use a Nix OS on it as a daily driver.
And I didn't even think about trying to use it
in like a work context besides maybe adding a flake
here or there to help myself with a very, you know,
not a super complicated environment. And that's to help myself with a very, you know, not a super complicated environment.
And that's one area too where it's, you know, you can, like with Python, you can set it
up where every single dependency in your, you know, that pip installs, Nix knows about
and it does itself.
Or you can just make a single virtual environment that Nix only knows about that and you lose
some of the reproducibility, you lose some of the fine-grade rebuilding,
but it's simpler.
Or you can just have Nix manage Python
and activate a development shell,
and then you just install stuff with pip normally.
Figuring out how to choose between those different levels
and which ones really matter for you
when I think is very useful.
It also makes me think,
it's kind of like the same advice we give to people
switching from Windows to Linux, right?
Like, don't put Linux in the way, if you can avoid it,
of causing you problems when you're trying to get work done. Let it put it in
situations where it has a chance to succeed and you're not going to be
fighting with it when you are in the right headspace and have the right time
to get it done. And this is where I wanted to punt to the audience for a
second and have you boost in your thoughts on this because kind of from
where I'm sitting, it does very
much echo my experience early in the industry and check me on this audience if I'm right
or wrong here.
But when I first got into IT 20 years ago, I was constantly told we shouldn't be deploying
Linux on these servers because the way we've always done things is on Windows and we have
these applications that do this specific thing and your Linux
box while cheaper doesn't exactly do it the way we've always done it and you can accomplish
the same end goal but you don't accomplish it the same way and there was so I cannot
I cannot really convey to you in 2025 how much resistance that alone created in the
adoption of Linux.
And if I would have listened to those people, I would have ended up deploying
windows in all of those systems.
And so to me, a lot of what it comes down to is workflow
friction with Nick's adoption.
And when you bounce off and if you bounced off it, please boost it
and tell me if I'm right.
It's because you had an expectation that the system should work one way.
And it turns out you have to do should work one way, and it turns
out you have to do it a different way, like our user ad example or other things like that.
That's kind of my assessment of it.
And that clip that Wes played really drove it home.
It's what you're familiar with.
I just like your thoughts on that and anything we've talked about in this segment to kind
of check us because we tried to steelman this as much as we could internally, but now it's
your opportunity to kind of steelman it as well and send us your thoughts.
I think I have some closing words here too.
I came to a new perspective recently, which is that I don't think NixOS is very distro
hopper friendly.
And I think we're used to being able to move to a new Linux for a weekend and try it out and have these fuzzy
feelings of, you know, seeing new things and just being able to play with it for a bit
and understand it quite well.
But I don't think NixOS falls into that category because you can certainly install it for the
weekend, but you have to relearn a whole lot of things. And that just takes time and expecting to have, you know, put the check mark beside your NYX OS.
It's going to take a lot more than a weekend.
And I don't think you can learn it all in one go.
It is a process.
And if you go into it, you know, enjoying the journey, then I think you'll have more success.
Annual membership is available at jupyter.party.
And if you sign up, you get one month for free.
What?
Yeah, we'll have a link in the show notes for the annual version for the
Jupiter party and you get the special features for all the shows.
You support all the shows.
You don't have to pick a favorite child.
What?
You can love all of them.
I know.
And of course you can support this show directly too at linuxunplug.com
slash membership.
Well, we got a special boost here. Drew, our dear editor sent in what is considered a manual
boost and directly to editor Drew.
He got his own boost. All right. That's great. Coming in hot with the boost.
Yeah. A Dev freeze 17 century 10 K sats to say thanks for all the edits you do for Jupiter
broadcasting.
Adversaries knows.
He knows.
Drew makes it better.
It's funny, it kind of skirted all of our systems because it was straight to the heart.
Yeah, that's great.
That's nice to see.
Four score and seven boost to go.
And speaking of Adversaries 17, they are our baller booster this week on sale for
38,768 sets
Whoo it's across seven boosts. I'll be dipped
Checking in on pass keys bit warden does sync cross-platform
I use pass key from Firefox extension on my Android phone without issue nice that makes me feel better
Yeah, definitely still feeling resistant to the issue, but that does make me feel better
He says if you ask me a better solution to pass key is squirrel created by Steve Gibson
It uses a single master key that can deterministically create a key pair for each site based upon the domain
Oh lead that is so it's derived from sense. God it does
It's such a clever protocol and system,
but because it didn't come from a big tech company,
it won't see the day of light.
Squirrel is kind of like Noster, but way before Noster.
I do wonder if Noster will one day kind of provide
a little bit of a public private key pair system
that kind of gets credibility by your social media account
because it's from your public key.
But squirrel does sound really cool.
That would be great.
Regarding the article about Linux and why it isn't ready for the desktop.
This was last week's episode.
Has the person never looked at their Windows file system?
I see DLLs all over the place.
Binary blobs.
Yeah, yeah.
He says, sometimes the same runtime
is installed from three different applications
and it's all the same version.
That's a great point.
That is, most Linux users download and run software
from the web without verifying it's malware free.
Well, remove Linux from that statement
and you've just basically summed up 99%
of all Windows users too.
Trust me, I work in corporate IT.
Yeah, yeah, I've been there too.
I could go on, but most issues presented in this article are applicable to Windows too. Trust me, I work in corporate IT. Yeah, yeah, I've been there too. I could go on, but most issues presented in this article
are applicable to Windows too.
Microsoft does not pay people to test.
At least, it sure doesn't seem that way.
How much?
Oh, ouch.
He says, we in the enterprise pay thousands
to even use Windows legally,
and we end up being the beta testers each month
for these release updates.
Oh man.
I purposely wait a month before installing
the next Windows patch because of that.
This article is just an opinion.
Yeah, great breakdown.
Yeah, last week's episode, we tackled the Linux is not ready for the desktop.
And then this week we decided to focus on Nix.
And that's this recent round of criticism
and just bang these things out of the way for twenty twenty five.
You know what I mean? Just clear out the decks.
Bud Busted. Yep. Right off the top.
Oh, hell, a boostsin, with 38,000 Sats.
Why you gotta put numbers and letters together?
Why can't you just go f*** yourself?
Well, uh, no message here, so just the Sats.
Oh, appreciate the value. Thank you, sir.
But, uh, Zach-ee-lee-s, Boo-sin, with 29,036 Sats.
I hate building PCs.
Hey, JB, I got a zip code boost for you.
Oh! Nice.
Oh, did you bring the...
I did. It might be frozen, though. It's chilly here.
Yes, zip code is a better deal.
Now, since text editors are a common topic, I'd like to shout out Notepad Next,
which I just discovered and is cross-platform.
It's a re-implementation of Notepad++ from the Windows world.
I love Notepad++ and I've been looking for a Linux replacement.
I have always been a little Notepad++ envious, I will admit.
So that's good to know.
Quality editor, that is for sure.
Okay, let me return to my map.
Now, I have a rough guess, but I could be wrong.
Is it a postcode? I'm curious what your map says. Yeah, I'm looking rough guess, but I could be wrong. Is it a postcode?
I'm curious what your map says.
Yeah, I'm looking somewhere in South Carolina.
Me too. OK. Yeah.
What? Come on.
Yeah. Lexington County.
OK. Probably maybe some in Richland and Newbury.
Chapin. Chapin.
Yeah. Japan. Japan.
I don't know. Do you say Japan?
Tell us. What do you think?
What do you think, friend?
C-H-A-P-I-N in South Carolina. I do love it when you, Brent? Let us know. CHAPIN, South Carolina.
I do love it when you include the town.
You know?
Please include town if you can.
That is a lot of fun for us.
Well forward humor sent in a boost across three booths actually for a total of 9,444
sats.
Oh my god, this drawer is filled with fruit loaves.
First one here, a row of duck, for a little fountain feedback.
Hi friends!
I noticed the live stream in Fountain allows me to boost live, but does not stream SADS
live.
Is that pretty normal?
Thanks again for the great show and happy new year.
I'll ask them.
I think that technically should be working, but I will ask them.
There's probably a good chance they've already spotted us if you boosted us, but I'll double
check.
The next boost here is a Docker question.
Is current system builds with ZFS storage?
Do you all use the overlay two driver or that ZFS driver?
Or do you use a different file system for containers?
Any tips?
ZFS can make a fantastic file system for containers.
So I just want to acknowledge that upfront.
Cause we're not anti-ZFS. Yeah. Yeah. But that said, I do not use file system for containers. So I just want to acknowledge that upfront. Because we're not anti-ZFS.
Yeah.
Yeah.
But that said, I do not use it for my containers.
No!
Yeah, and if we're talking the storage driver,
then I think most of the time if you're doing ZFS,
folks will at least be having data sets
that they mount into containers, right, often.
But you can also have it where Docker itself
is provisioning things via hooks into ZFS, which can do stuff for volumes, but you can also have it where Docker itself is provisioning things via hooks into ZFS,
which can do stuff for volumes,
but it can also then do stuff for storage
of the container images itself.
So it may kind of depend too on what pools and data sets
you have available in the system
and how much you care about that stuff
and if you need and want the tools that ZFS offers,
or if you prefer to keep that just on the base.
And how good you are about cleaning up,
because when I use that, I kind of made a mess.
Yeah, I definitely ended up with some cruft.
I think, I don't, it's probably better now,
but in the past, this was a while ago,
there was sometimes some limitations where,
like, Docker would be better at fully cleaning up itself
if it's using overlay two than if it had an issue
with permissions or something to the ZFS side,
and then maybe you'd have to go manually clean up
some of the ZFS datasets for,
it's probably better now, but.
And he says in here too, like he's thinking specifically,
you know, image storage and then the rollback capabilities
or snapshot capabilities there with ZFS.
But yeah, I mean, if you're just talking about
the actual like application data,
ZFS or some kind of copy on, right?
Yeah.
And let us know what you end up with
because file storage for image is top of mind over here.
User 47.9 comes in with a row of ducks.
This is my vote to keep the tuxes.
I think it gives us a good read on the direction of things
and the way they are going.
I'll agree with that.
All right, I'm keeping track every episode.
I'm putting another mark down.
I can see him looking for a pen, folks.
It's true. Yeah, but you you just resorted to that giant knife
and you're just scratching into the wall?
What's going on over there?
Well, we're out of pens.
Yeah, next is blood, and if I cut myself,
I won't be able to focus, so there's only one other person
in the studio with me.
Oh, well good, while you're doing that,
the immunologist boosted it with 3,333 sats.
Pew pew pew!
To add one more tuxes, plus one. Oh, I can! I discovered pew pew pew, to add one more Tuxies plus one.
Oh, I can.
I discovered quite some useful things to look into.
Nice.
Witcher 1, 2, 3 comes in with 3,930 sats.
Yeah, I got answers and I want some questions.
Listener since the mid-400s and a first-time booster.
Hey!
Congratulations, thank you for taking the time.
He says, I would like to say that,
A, I would suggest one episode dedicated to gaming.
We have not done a gaming episode in a really long time.
I predict at least four new Linux handhelds
from major manufacturers in 2025.
Well, Lenovo just announced one, so.
You're getting close.
You're already getting one closer.
He says, also, if you multiply this boost by 10,
you'll get a zip code from the Central European country
from which where I come.
Ho, Wes, guess what?
Yes, zip code is a better deal.
Oh, we got a deal this time.
OK, so let's see.
You've got to do math first, everybody.
We got 3930.
You got to add a 0 by multiplying by 10, right?
So 39300.
Looks like it's a valid postcode in Hungary.
Ah, that's awesome.
Boost!
I'm always hungry.
That's why we keep you locked away in the freezer up there.
Thank you, Witcher, and thank you for taking the time to get the boost going and all of that.
Oh, maybe it's turkey? Okay, I'm getting mixed results from this map.
Uh-oh.
I gotta do a little more. I'll come back to you. Let me double check my results.
Well, Nord boosted in 15,000 sats.
Danger zone!
Albi only found a route from my previous boost to Brent.
Anyways, let's try again then.
Hope Linus from LTT will make Brent's YouTuber prediction come true.
Danger Zone!
Good one. I'd love to see it.
And good job routing, Brent. Good job, proud of you.
The Lightning Network apparently did not shine upon Brent, or Wes and I.
However, this came from my node, so.
The route must have at least worked on my node,
because we see right in there that it came from my node.
The Moose Network seems to be working perfectly fine,
so I don't see any problems.
Yeah, it always is, it always is. That's true.
That's very true.
All right, well, True Grits is here with a Jar Jar boost.
You're supposed.
5,000 sats.
I agree with keeping the tuxes.
Wow.
All right.
OK.
Strong signal.
Even if you don't make it a multi-network ordeal,
at least it could be mentioned on the other network
podcast to get the voter count up.
I remember in previous years, I heard
it mentioned on the Ask Noah show.
Also maybe split and set aside
for giving the winning projects or something.
Ooh, that's interesting.
So let me back up a little bit
what True Grits is talking about
is there's a scenario that we're kind of down to clown about
which would be kind of a cross podcast version
of the Tuxes.
We don't have any details or any plans or any specifics yet,
but maybe something that goes a bit beyond just Linux on plugs
that reflects multiple audiences.
And they would also be involved in helping, you know,
come up with topics and some of that and all that.
It's a lot we'd have to work out, so it's all kind of in the,
you know, be nice to do stage right now,
but we got some time to figure it out.
Okay, update. I'm now going, my now new guess,
final guess is Spain.
Let's go.
Three nine three zero zero is a city located in.
Let's see here.
Torre la Vega.
Hello, Tera Vega, Spain.
That's exciting.
Tell me if I got anywhere close, please.
Oh, I think Freak here has a prediction.
Oh, let's find out. Freak.
KVH was in with eight thousand four hundred and seventy two cents. Well, that's find out. Freak. KVH was in with 8472 cents.
Let's hear it good buddy. Ubuntu declarative donkey. That's a great
name. They got to do it with a name like that. Right? I mean,
that's a perfect episode name really. God. God. Well, and I
just feel like it wouldn't Ubuntu just blow everybody's socks
off if they came out with like a declarative version of Ubuntu and they called it declarative donkey or something
like that?
Everybody would love that.
So good.
Well, Chris, you've got some sneaky inside info that the folks over there do love declarative
systems like Nixx.
That's true.
That's true.
That's true.
Gene Bean comes in with 9912 Sats.
Did you buy that from a certified vendor?
Question for the audience.
Anyone want to gather for LUP600 and a watch party in, how do you suppose you buy that from a certified vendor? Question for the audience. Anyone want to gather for LUP600 and a watch party in...
How do you suppose you say that?
Ghent.
Ghent, Belgium?
It's the night before configuration management camp starts,
and I'll be there for the conference.
If so, hit up Gene Bean in the Matrix.
Oh, cool. Gene, Gene the Traveler.
Really? I tried the Zen kernel on Nix 2411 with Plasma 6, but I had to revert back due to the same
lockups that Chris had when he went full RT.
Oh, interesting.
So you went even kind of semi-RT and he still had problems.
I have not.
No, the Zen's been rock solid for me too.
Not a single lockup.
Back to totally reliable.
So I'm sorry to hear that, Gene.
He says, I'd love to learn more about the mesh-tastic gate monitoring setup.
If the booster is willing to write
maybe something that belongs as a blog post,
I'd happily send them a boost and thanks.
And also please do add transcripts.
notes.jupyterbroadcasting.com would be much more useful.
Stay tuned on that, Gene, stay tuned.
This mesh-tastic gate monitoring,
I don't know, I can't remember which booster sent that in,
but if you wanted to follow up with Gene,
I'd love to know too, so make it public,
because gates, presence monitoring,
like motion sensors and soil monitors,
I would love to get on Meshtastic.
I think that could be really awesome.
I got a node at the top of a shed,
so the whole yards would be covered, I would think,
so it'd be be really way to go
exception comes in with a row of ducks
Using Linux some laptop since
2006 yeah, buddy external displays with lid closed has always been a problem can confirm just got a new tell with a bunch of
2204 pre built in it was fine initially but started to act out after a recent update. We Linux people need to get that right.
Man, nothing stinks more than when the laptop's working and then the updates come down and
there's like a regression of the video driver or something like that.
Or I wonder if he got updated to Wayland or, you know.
Huh.
If you figure it out, let us know.
Maybe others have run into that exception.
Yeah, it is especially rough if you get a new rig that has an outdated LTS and you just go out, let us know. Maybe others have run into that exception.
Yeah, it is especially rough if you get a new rig
that has an outdated LTS and you just go to the new LTS.
That's already a big change right out of the gate.
Yes, yes.
Yeah, if it comes with an image
that's already a little old too, you're just primed for it.
Well, we have a report of extra problems here
by Tabby Dog with a Spaceballs Boost
one, two, three, four, five Satoshis.
So the combination is one, two, three, four, five. baseball's boost 1-2-3-4-5 Satoshis.
I recently started experiencing network issues in my Docker stack.
Being that it has been around since the beginning of my home lab about 5 years ago, it was a
giant mess.
So I decided to learn something new.
Kubernetes to the rescue and holy smokes am I the only one that found it extremely
difficult to learn.
I still have not quite figured out persistent volumes
and persistent volume claims, but I did manage to get
olive tin running in high availability with two replicas
and a load balancer.
Hey! Thank you for the show.
All right! That is no small achievement, nicely done.
Tabby, I wonder if you agree with me.
It's like part of it's just the language is so thick.
So you're reading like a half of a web page
before you even really start to get to the nuts and bolts
of what you're trying to figure out.
Well, and it's also right,
a lot of these systems are built for scale
and also to work for our diverse use cases
at different companies and stuff.
So there's a lot of abstractions that you have to be able to figure out and understand the full
abstraction before you can actually do the concrete case for whatever one you particularly have
All of ten give safe and simple access to predefined shell commands from a web interface neat
Super neat. Yeah, all right
That I didn't all right nowbby, nice to hear from you.
Soheng is here with a row of ducks.
That's 2,222 sets.
And he writes, regarding Linux is only as good
as its web client, have these people ever heard
of our Lord and Savior GNU Emacs?
Good point.
Yep, fair, fair.
Got him, right there.
Podbun follows on with another row of ducks.
We could have an episode for Linux based roasts or roasts of Linux.
Gather everyone's roasts and have you guys say them,
or have people join the Mumba Room and say their own roasts.
It could be cathartic to kind of get it out, right?
It probably could, yeah.
That's so nice.
All your grapes, the things that you know,
the thorns in your side.
Isn't that every week though, really?
The petty takes, yeah.
That's every show that we do.
Yeah.
That's a great suggestion, though.
Thank you.
A rotted mood did send in 9,001 satoshis.
It's over 9,000.
All that just to say, getting caught up in old shows. Ah, nice to hear from you.
Oh, he's at 584, Captain Meshtastic and the Solar Cowboy.
Well, welcome to the Meshtastic era of the show.
Glad you're getting caught up, Rodded Mood.
Solar Cowboy is PJ, right?
So good, yeah, that's PJ.
Pink Snakes here with a Jar Jar Boost, that's 5,000 Sats.
You sub-boost!
Testing out Breeze, which is B-R-E-E-Z,
a great way to boost the show
without having to switch podcast apps,
and it is a lightning note in your pocket.
Thank you, Pink Snake, appreciate it.
Your test was successful.
AutoBrain comes in with 12,345 Sats.
Yes, that's amazing,
I've got the same combination on my luggage.
Thoughts on the tuxes.
Instead of doing a people's choice,
maybe survey Linux podcasters and reporters.
Maybe this would be less work
and an opportunity for cross promotion.
And then here's some topic ideas for shows.
Maybe Linux workflows for graphics,
illustration and presentation.
And maybe a show related to writing tools
or a show on educational tools.
Thanks for the great content.
You know, I'm kind of vibing with some
of what Otter Brain's put in here,
as far as working with some other folks
and stuff like that.
I have some deep value in this one.
Thanks, Otter Brain.
Otter's got brain.
Yeah.
Oh, that's it.
That was our last boost.
All right, well, thank you everybody for boosting.
We do have the 2000 SAT cutoff for time.
We keep all of them though, and we read them
and we actually, we save them in our doc for posterity.
Yeah, we got some test boosts,
we got some folks working out, moving to Alby.
We appreciate all you're doing.
Also, we see you streamers out there
that stream them SATs to us.
We appreciate you.
We had 57 of you participate in the SAT streaming
and collectively, you helped the show stack 118,000 and 27 sets.
So when we bring it all together, episode 598 managed to stack
329,601, that's not bad at all.
Now you want to get in on the fun. There's a few ways to do it, including you can get strike to get access to sats or there's so many different ways really.
Bitcoin Well is one that I've been recommending and we have an affiliate there at Bitcoin
Well slash Jupiter.
And the nice thing that they do is once you get all your account stuff hooked up, you
buy and it sends directly to your Bitcoin wallet.
Why isn't, why aren't they all like that?
Isn't that great?
So you don't even keep the sats on their infrastructure.
So that's another great way Strike and Bitcoin Well
are available in the US and Canada
and Strike's available in 110 countries.
And then you just need an app to send them,
something like Breeze, B-R-E-E-Z, or fountain.fm.
And that's amongst many options,
which you can find at podcastapps.com.
And then if you just wanna put your support on autopilot
and know the show's gonna be taken care of,
it's linuxunplugged.com slash membership.
Thank you to all our members as well.
We appreciate you.
Now we have a smattering of picks.
Could have been the whole episode really,
but let's start with this really handy tool
that you found Brent, and I guess it's just called ISD,
which helps you simplify system de-management.
Yeah, I think I'm going with Iced.
I like that ice iced baby, you know, that kind of feeling.
Yeah.
And this really seemed attractive to me
because I'm not that well versed in system de-management,
and this is a little tooey that offers some fuzzy searching
for units, some auto-refreshing previews, smart pseudo handling and all sorts of customizable
interface and power user stuff.
And I thought, geez, I've been sort of leaning heavily towards things like lazy git and lazy
Docker and BTOP these days just because I'm lazy and this fits right in there to allow
me to do some stuff that
otherwise I just wouldn't.
Yeah, this looks nice.
Well, this is a next episode.
So one of the things that came to my mind is if you're using the setup that converts
like compose files into pod main and system D units that all work together with the fuzzy
searching and stuff, they all have like common unit names.
This could be a great way to manage those.
And it just looks good.
It does look good.
It's a terminal user interface that looks good,
and when you nail that, you got me.
So, nice find, Brent.
And it even has a flake in there,
although it's not yet in Nick's package as proper.
Ooh, a little bird told me last night
that he's working on a flake to get this going,
and that's our dear Alex,
so maybe we'll get that this week.
Oh, cool.
Let us know.
Okay, so the next two, kind of an interesting story.
I think, did we both find Planify this week
and begin using it for our task management?
When you say both, who do you mean?
Because I was certainly looking at it independently.
Yeah, you, yeah.
Oh, that's me.
Yeah, I, you know, Chris, you and I are on this, uh, to do management
journey for the last little while.
I think maybe we both adopted it as a theme and I was looking for something
nice and simple that would play really nicely with the Linux desktop.
And I found planify and it's has to do with support next cloud syncing support.
It's designed for GNOME, but it seems to work wonderfully on Plasma as well.
And I'm curious if either of you gave this a shot
because I spent a little bit of time with it.
Yeah, so I've been really looking, you know, my holy grail is,
oh, I'm out and about and I remember something
and I add a reminder on my phone and then the next day
or later that afternoon or whatever it might be,
I'm down at my computer, I'm sitting at my computer and I just want to pull up
the list of things I need to do I don't want to go to my phone I want it on my
computer and then I want to check them off on my computer planify nails that
because we use a mix of todoist and next cloud so it's really nice that planify
supports both of those things and it's a good-looking application at at the same
time and it has you know looking application at the same time.
And it has support for all the stuff you might expect
like reoccurring due dates and reminders.
So it works really well for me.
So that's Planify.
Yeah, I did give it a shot.
I will say I ended up off of it after a couple of days.
Oh yeah.
Maybe that wasn't your experience.
And the reason is I think a personal one.
It was a little too simple for me.
It turns out I thought I was looking for something simple and it, uh, there
were a couple of things that just got in the way for me.
I was looking for something that would allow me to just do things really quickly
without, um, the interface getting in the way and things like that.
But, uh, I found actually a couple bugs, you know, how I do that.
And it's, it's annoying.
But also just it turned out that some of the design
decisions didn't work for me.
So your mileage may vary.
It is really beautiful, I agree with all of that.
And I think it would really work for someone.
Chris, I thought of you instantly when I saw this
and I'm glad you're, yeah, giving it a try.
That said, it did lead me to going back to a
productivity system that I talked about quite a few episodes ago Linux unplugged
553 which is called a portably predictable productivity if you will and
I used this for like six months every single day and I just stopped for some reason.
I think I was doing a lot of travel
and that broke up my routines.
But Planify allowed me to kind of get back into the motions
and realize, hey, that tool I was using,
Super Productivity, actually does everything I need it to.
So I jumped right back into Super Productivity.
But you found some news this week, I think, Chris.
Well, it sounds like, you know, they've been working on the Linux version and
getting things in top shape.
And so the developer reached out to us and just said, Hey, you know, I've
been polishing up features and the Linux version has just really gotten into a
great place.
Um, and if you guys want to take a look at it again, I mentioned on the show, I
really love it and we did it's MIT license too.
So it's free and the developer says it will always be open source.
It's got every integration you could think of, Jira, GitHub, GitLab, Git-T, CalDAV integration,
WebDAV integration, Dropbox integration.
I mean, you get my point, right?
Yeah.
So this to me does feel like a power user's productivity tool.
And you could almost have a system in here too because there's time tracking, you have time boxing.
Oh, that is nice.
Yeah. Especially if you're doing a small business or something. You could almost have a system in here too, because there's time tracking, you have time boxing. Oh, that is nice. Yeah, yeah.
Especially if you're doing a small business or something.
What Planifi didn't do that this is doing for you, Brent?
Well, one thing specifically was keyboard input of tasks.
I realized using Planifi, which is a little mouse heavy,
that I actually often do want to use my keyboard
to do most of the input.
And so Planifi is a little more click around than enter things.
And a popular use case is to allow you to define many, many, many things like to do
is like this, I believe, define tags and projects and stuff all in the text line.
And super productivity allows you to do that.
And I realized going to Planify
that I was really missing that.
And I didn't realize that that was such an important feature
for me when I was looking at Planify,
but turns out you learn things about yourself
when you try software.
It's especially, especially to-do apps.
It's something about to-do apps.
Yeah, it's such a personal thing.
Yeah, maybe there's another great one out there
that works on the Linux desktop and syncs to mobile.
I mean, is this also why to-do MVC
is the classic front- end demo for frameworks?
I always hear about to do dot text.
I always hear that too.
Like, oh, you got it on Linux, you gotta use to do dot text.
I don't know if somebody's got a to do like workflow
that works really well and across machines,
boost in and tell us about it.
I'd love to, you know, I'm not,
I've just started using planify.
I'm not married to it.
I'd love to get something really great.
I bet there's still some good task warrior users out there with their own servers going.
Oh, I bet.
That was me for a while.
I daydream of an E Ink display by the door here
so when I'm leaving, I can have reminders
and to-dos right there.
Ooh, like that.
I just daydream of that.
I just think maybe one day.
Your birthday is coming.
Ah, dude, next episode, the birthday.
Yikes.
It's on, it's an actual, it's one of the weeks
where the birthday's gonna be in the episode, so.
Oh, my goodness.
That's how I'm selling my birthday is I'm doing a show.
Bring your party hats, everyone.
Whoo!
It's gonna be on birthday, which means absolutely nothing.
The real question in my mind,
is it gonna be a different, that channel?
Right. So we've been experimenting with
a little bit earlier in the morning. We're doing 10 a.m
Pacific which is what 1 p.m.. Eastern am I doing that math right? I believe you are and I think that's 6 p.m.
UTC I could be wrong always double check Chris's math at Jupiter broadcasting comm slash calendar
Maybe do you want to try it again next week? Let's do it. Okay, right you agree
We try the earlier live time next week. Yeah, I do agree
Let's do it. OK. Brent, you agree we try the earlier live time next week?
Yeah, I do agree. OK. So if you're a podcasting to a listener, we'll just mark it
pending earlier in your feed. You don't have to do anything.
But you can also go to Jupiter broadcasting dot com slash calendar
and always get those live days, hopefully, hopefully the calendar updates.
Sometimes my calendar luck is just really bad.
But that'll be streamed at JB live TV as always
So perhaps it's a new bad time in a new bad channel. See you next week same bad time same bad
Steve remember we want your feedback help us steel man the other side of the Knicks argument
And if you think maybe it really does come down to just workflow expectations
Love to hear your thoughts boost in with that anything else you'd like to talk about and respond to, even from
several episodes ago, we always liked it.
Don't forget, links to what we talked about, you can find those on our website, Linuxunplugged.com
slash five nine eight.
Oh my goodness!
Getting close!
Woo!
Shout out to our Mumble Room details at jupiterbroadcasting.com slash mumble.
Thank you so much for joining us. And we'll see you right back here next Tuesday, as in Sunday! So
Thanks for watching!