The Trouble with TUIs
Jun 15, 2025
We spent the week learning keybindings, installing dependencies, and cramming for bonus points. Today, we score up and see how we did in the TUI Challenge.
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.
- Unraid: A powerful, easy operating system for servers and storage. Maximize your hardware with unmatched flexibility.
Links:
- 💥 Gets Sats Quick and Easy with Strike
- 📻 LINUX Unplugged on Fountain.FM
- LINUX Unplugged TUI Challenge Rules
- darnir's TUI Report
- zee — A modern text editor for the terminal written in Rust
- Helix Editor
- Browsh — fully-modern text-based browser
- ddgr — 🦆 DuckDuckGo from the terminal
- Ranger - A VIM-inspired filemanager for the console — Ranger is a console file manager with VI key bindings. It provides a minimalistic and nice curses interface with a view on the directory hierarchy.
- Joshuto — Ranger-like terminal file manager written in Rust
- tenere — 🤖 TUI interface for LLMs written in Rust
- elia — A snappy, keyboard-centric terminal user interface for interacting with large language models. Chat with ChatGPT, Claude, Llama 3, Phi 3, Mistral, Gemma and more.
- kpxhs — Interactive Keepass database TUI viewer
- keepass-mode — Emacs mode to open KeePass DB
- gocheat — A beautiful customizable TUI Cheatsheet for keybindings,hotkeys and more in the terminal
- castero: — TUI podcast client for the terminal
- textual-web — Run TUIs and terminals in your browser
- todoist: Todoist CLI Client. — Todoist is a cool TODO list web application. This program will let you use the Todoist in CLI.
- gomuks/gomuks: A TUI Matrix client — A Matrix client written in Go using mautrix.
- orf/gping: Ping, but with a graph
- impala — 🛜 TUI for managing wifi on Linux
- cmus - C\* Music Player — cmus is a small, fast and powerful console music player for Unix-like operating systems.
- systemctl-tui — A fast, simple TUI for interacting with systemd services and their logs.
- tdf — A tui-based PDF viewer
- rainfrog — 🐸A database management TUI
- jqp — A TUI playground to experiment with jq
- andcli — A 2FA TUI for your shell
- iamb — A Matrix client for Vim addicts
- parllama — TUI for ollama and other LLM providers.
- russ — A TUI RSS reader with vim-like controls and a local-first, offline-first focus
- ytui-music — Youtube client in terminal for music (lightweight youtube client)
- wiki-tui — A simple and easy to use Wikipedia Text User Interface
- tuifeed — 📰 A terminal feed reader with a fancy ui
- yazi — 💥 Blazing fast terminal file manager written in Rust, based on async I/O.
- vault-tasks — TUI Markdown Task Manager
- Don's TUI Challenge blog — #TUIChallenge
- Shyfox's TUI Challenge results
- Himalaya — CLI to manage emails, based on email-lib
- jellyfin-tui — Jellyfin music streaming client for the terminal.
- Alacritty — A cross-platform, OpenGL terminal emulator.
- apple/containerization — Containerization is a Swift package for running Linux containers on macOS. Containerization is written in Swift and uses Virtualization.framework on Apple silicon.
- Pick: somo — A human-friendly alternative to netstat for socket and port monitoring on Linux.
Transcript
WEBVTT
00:00:00.005 --> 00:00:01.865
How much caffeine does this actually have?
00:00:01.985 --> 00:00:03.725
Not enough. Let's do a simultaneous sip. You ready?
00:00:03.805 --> 00:00:04.185
Here we go.
00:00:05.165 --> 00:00:06.265
Three, two, cheers.
00:00:07.265 --> 00:00:08.325
Oh, it's so sweet.
00:00:08.925 --> 00:00:09.825
It's sugar-free!
00:00:10.105 --> 00:00:11.425
That doesn't mean it's not sweet.
00:00:24.445 --> 00:00:29.325
Hello, friends, and welcome back to your weekly Linux talk show. My name is Chris.
00:00:29.325 --> 00:00:30.305
My name is Wes.
00:00:30.445 --> 00:00:31.145
And my name is Brent.
00:00:31.285 --> 00:00:35.065
Hello, gentlemen. Well, we have spent the week trying to figure out how to exit
00:00:35.065 --> 00:00:38.725
apps, install dependencies, and try to earn a few bonus points.
00:00:38.725 --> 00:00:42.505
Because today is the conclusion of our TUI challenge.
00:00:42.705 --> 00:00:46.065
We're going to score up how we did and own up to it live on the show.
00:00:47.245 --> 00:00:50.565
And, of course, we'll read some of your challenge reports as well.
00:00:50.745 --> 00:00:53.125
Then we're going to round it all out with some great boosts,
00:00:53.305 --> 00:00:57.985
some picks, and more. So before we go any further, let's say time-appropriate
00:00:57.985 --> 00:01:00.205
greetings to our virtual log. Hello, Mumble Room.
00:01:00.825 --> 00:01:05.065
Hello. Hey, Chris. Hey, Wes. And hello, Brent. Hello. Got a nice tight crew on air.
00:01:05.105 --> 00:01:10.305
And hello, everybody up there in the quiet listening stadium in the special seats.
00:01:10.805 --> 00:01:14.685
Brent will be serving hot dogs later. Don't forget about that.
00:01:14.745 --> 00:01:15.925
They're veggie dogs, but still good.
00:01:16.345 --> 00:01:20.725
And a big good morning to our friends over at Tailscale. Tailscale.com slash
00:01:20.725 --> 00:01:25.385
unplugged. Go there to get it for free on 100 devices and three users,
00:01:25.565 --> 00:01:26.925
no credit card required.
00:01:27.465 --> 00:01:31.405
Tailscale is modern networking for connecting your devices securely directly
00:01:31.405 --> 00:01:34.145
to each other. It's great for companies and it's great for self-hosters.
00:01:34.325 --> 00:01:39.045
And it's powered by... Yeah, it builds out a flat mesh network.
00:01:39.205 --> 00:01:43.545
Secure remote access to your production systems, your databases, whatever it might be.
00:01:43.665 --> 00:01:47.305
And it's fast, really fast. And it's privacy for individuals and it's privacy
00:01:47.305 --> 00:01:48.625
for entire organizations.
00:01:49.485 --> 00:01:53.545
You can get up and running in no time. It's programmable networking that'll
00:01:53.545 --> 00:01:55.625
integrate with your existing authentication infrastructure.
00:01:55.885 --> 00:01:59.285
There's permissions you can set. There's multiple user parameters you can provide.
00:01:59.425 --> 00:02:03.165
And there's so many great features like Tailscale Send, which allows you to
00:02:03.165 --> 00:02:06.845
move files between all your different Tailnet devices, sort of like AirDrop,
00:02:06.905 --> 00:02:12.105
but for everything from like a Linux box to a Mac. It's magic. It can actually be done.
00:02:12.345 --> 00:02:16.165
It's a really cool application and tons of little things that you can build
00:02:16.165 --> 00:02:20.985
on top of Tailscale. So all of my container applications fire up a sidecar container,
00:02:21.185 --> 00:02:22.545
which then connects to my tail net.
00:02:22.665 --> 00:02:25.925
So each application gets its own IP, gets its own DNS name.
00:02:26.085 --> 00:02:31.445
And so I just go to something like code.mydnsname.com and it loads VS Code wherever
00:02:31.445 --> 00:02:32.825
I'm at as long as I'm on my tail net.
00:02:32.905 --> 00:02:38.225
There's a whole ecosystem of great tools. There's like tail scale aware proxies. It's rad.
00:02:38.365 --> 00:02:43.025
It's getting better every day too. So go get it for free on 100 devices and
00:02:43.025 --> 00:02:47.305
up to three users at tailscale.com slash unplugged. It's great for companies.
00:02:47.465 --> 00:02:48.245
It's great for individuals.
00:02:48.485 --> 00:02:51.305
Thousands of companies use it. Thousands of people in our audience use it too.
00:02:51.765 --> 00:02:56.945
So try it for yourself or a business. Just get started at tailscale.com slash unplugged.
00:02:59.665 --> 00:03:03.245
I don't have much in here. Just a reminder, there are a few calls for papers
00:03:03.245 --> 00:03:05.765
open. We have those linked in last week's show notes.
00:03:05.965 --> 00:03:08.045
And I just wanted to say a happy Father's Day.
00:03:08.265 --> 00:03:09.565
Hey, happy Father's Day to you.
00:03:09.745 --> 00:03:12.485
Oh, thank you. Yeah, happy Father's Day to all the dads out there, really.
00:03:13.285 --> 00:03:16.885
Doing the show on a Sunday, so I did my Father's Day festivities last night.
00:03:17.045 --> 00:03:20.705
It was nice. And we're going to have the leftovers for lunch today after the show.
00:03:20.905 --> 00:03:21.245
Oh, hey-o.
00:03:21.405 --> 00:03:24.985
Yeah, so you know it was a good meal. We had some steaks and we have some leftovers.
00:03:28.005 --> 00:03:31.405
So for the last seven days, we've been living in the terminal,
00:03:31.925 --> 00:03:33.585
trying to do everyday tasks.
00:03:33.925 --> 00:03:35.625
And now have more gray hairs.
00:03:35.765 --> 00:03:39.585
That is true. And many of you listening have joined us. Collectively,
00:03:39.585 --> 00:03:42.565
we've all spent many days in the terminal this week.
00:03:43.145 --> 00:03:46.005
And I hope that those of you who are listening after the fact are still going
00:03:46.005 --> 00:03:48.365
to give this a try and then check in and let us know how you did.
00:03:48.385 --> 00:03:50.365
We want to know even down the road how it went for you.
00:03:51.045 --> 00:03:55.605
So let's start with a listener check-in. This is a great email.
00:03:55.845 --> 00:04:00.305
And Brent, you met this listener. They're a long-time listener. And we got a full report.
00:04:00.565 --> 00:04:04.645
Yeah, this is Darnier, who I've met several times in Berlin when I've been there.
00:04:04.725 --> 00:04:06.165
You guys should go sometime.
00:04:06.365 --> 00:04:06.425
Oh, yeah.
00:04:06.505 --> 00:04:07.685
There's some great listeners over there.
00:04:07.885 --> 00:04:08.225
Yeah, we should.
00:04:08.625 --> 00:04:12.965
So Darnier sends a variety of emails because they sent in their TUI results
00:04:12.965 --> 00:04:18.365
via Git patches, sent in via email to our dear Linux Unplugged.
00:04:18.485 --> 00:04:18.925
Amazing.
00:04:19.225 --> 00:04:22.765
But here's the intro, at least. Hello, JB. Very long-time listener.
00:04:22.765 --> 00:04:24.025
Your first email, though.
00:04:24.565 --> 00:04:26.045
Not your oldest lister, I'm sure,
00:04:26.205 --> 00:04:30.045
but I remember watching the Linux action show on YouTube back in 2010.
00:04:30.785 --> 00:04:34.925
And have since followed JB through LAN, Coda Radio, self-hosted,
00:04:35.065 --> 00:04:36.505
and of course Linux Unplugged.
00:04:36.605 --> 00:04:37.165
Thank you, sir.
00:04:37.465 --> 00:04:37.885
Amazing.
00:04:38.665 --> 00:04:42.865
I've been a member for as long as I can remember, but never actually wrote into the show.
00:04:43.265 --> 00:04:48.005
Well, you all finally did it. You made me write in by doing the TUI challenge.
00:04:48.405 --> 00:04:50.425
This is something very close to me.
00:04:50.845 --> 00:04:55.925
As a little bit of a background, I fell in love with 2Es when I did a 2E challenge about 13 years ago.
00:04:56.698 --> 00:05:00.458
back then my friends and i uninstalled xorg entirely
00:05:00.458 --> 00:05:03.618
living purely in the linux console and forced ourselves
00:05:03.618 --> 00:05:08.718
to find ways to get things done amazing my current music setup with mpd still
00:05:08.718 --> 00:05:14.598
uses parts of that original mpd.conf just you know on a different machine today
00:05:14.598 --> 00:05:19.358
i live in the terminal most of the tui challenge therefore wasn't much of a
00:05:19.358 --> 00:05:21.118
challenge just daily life for me,
00:05:21.698 --> 00:05:26.198
Only web browsing and music playback are the categories that I usually use a GUI for.
00:05:26.618 --> 00:05:30.698
However, for honesty's sake, I continue using a web browser at work.
00:05:30.958 --> 00:05:36.158
I don't have a way around that or around using MS Teams as a GUI for video calls.
00:05:36.298 --> 00:05:41.818
At home, though, I've shifted 100% to TUIs since last week, and only web browsing
00:05:41.818 --> 00:05:43.978
has been the pain in the ass.
00:05:44.898 --> 00:05:49.178
Modern web is much worse to load in a TUI compared to 13 years ago.
00:05:49.478 --> 00:05:50.458
That is the truth.
00:05:50.458 --> 00:05:54.358
I hope you enjoy reading the rest of these emails, which are long,
00:05:54.558 --> 00:05:58.498
as much as I've enjoyed listening to you over the years.
00:05:58.758 --> 00:06:05.758
They scored themselves as we encouraged. And, you know, what I did is I took
00:06:05.758 --> 00:06:10.558
the TUI challenge rules and I said, hey, chatbot, make a scorecard out of this.
00:06:10.618 --> 00:06:11.558
Yeah, you should have known.
00:06:11.818 --> 00:06:16.658
I should have known better. I was moving quick. You know, I was trying to 10x my productivity.
00:06:17.018 --> 00:06:20.098
You know, I wanted to be a 10x guy. um so
00:06:20.098 --> 00:06:23.038
but that said i mean
00:06:23.038 --> 00:06:25.858
darnir just crushed this right because he got all of
00:06:25.858 --> 00:06:28.798
the primary points text editing email management
00:06:28.798 --> 00:06:31.898
web browsing music playback file management task management system monitoring
00:06:31.898 --> 00:06:37.218
and terminal multitasking and he got all the bonus points so he has like a score
00:06:37.218 --> 00:06:43.538
of like the max 220 i think is the max it is yeah that's incredible so right
00:06:43.538 --> 00:06:46.578
there i think he's gonna He walks away right there as one of the winners.
00:06:46.818 --> 00:06:47.658
Well deserved.
00:06:48.258 --> 00:06:52.738
This is the challenge he was built for. I love that he did this on his own 13 years ago.
00:06:53.158 --> 00:06:56.418
Darnier also left us a little hidden Easter egg in the emails,
00:06:56.438 --> 00:07:01.038
which we touched on in the members feed, which was a really sweet gesture. Thank you, Darnier.
00:07:01.358 --> 00:07:05.138
Yes, and thank you for listening for so long and for finally checking in. Glad we got you.
00:07:05.858 --> 00:07:12.818
Finally, we got you. Now, we, it hasn't been going as well for us.
00:07:12.818 --> 00:07:14.858
At times, it's been a little rough.
00:07:14.978 --> 00:07:15.858
You don't sound so confident.
00:07:16.158 --> 00:07:21.678
Yeah. And about midweek, I could tell the frustrations were rising amongst me and the boys.
00:07:21.858 --> 00:07:26.758
So I figured it's only fair. We got to capture the bad and the good on the show.
00:07:26.758 --> 00:07:31.658
So let's sit down and capture this. So earlier this week, we did just that.
00:07:35.289 --> 00:07:40.269
Yep. So it's midweek and we thought maybe we should do a check-in because at
00:07:40.269 --> 00:07:44.489
least two out of three of us, I'm not sure about all three of us, are feeling pretty bad.
00:07:44.649 --> 00:07:50.689
And I'll say myself, I'm feeling frustrated, like I am beelining for a failure
00:07:50.689 --> 00:07:56.209
here. And it's not for any of the reasons I expected, which is why it makes me frustrated.
00:07:56.849 --> 00:08:00.849
You know, so I'll get to that. But how are you doing over there, Mr. Brantley?
00:08:01.349 --> 00:08:03.969
Well, I wrote down a couple notes before we sat down to record this,
00:08:04.109 --> 00:08:06.629
and the very first word in the note is frustrated.
00:08:06.909 --> 00:08:07.509
Oh, really?
00:08:07.749 --> 00:08:09.189
But I also added desperate.
00:08:09.969 --> 00:08:10.729
Desperate, uh-oh.
00:08:10.929 --> 00:08:16.169
And then the realization that I, previous to this challenge, was so cozy.
00:08:16.329 --> 00:08:19.009
And now I'm very much not cozy.
00:08:19.149 --> 00:08:20.369
You didn't know how good you had it, did you?
00:08:20.789 --> 00:08:23.829
I didn't really realize it. I guess I should have seen that coming,
00:08:24.049 --> 00:08:30.409
but I figured, oh, yeah, I use the terminal every day to do a bunch of stuff, but it's rough.
00:08:30.409 --> 00:08:33.489
What in particular has struck you as the roughest bit?
00:08:34.269 --> 00:08:36.789
Well, I've taken something like...
00:08:38.012 --> 00:08:43.052
at least two days to try to choose a text editor that just does markdown highlighting by default.
00:08:44.672 --> 00:08:48.652
And I think today I might have found one. So there's that.
00:08:49.012 --> 00:08:54.012
Took me a little while to try to escape out of some of them.
00:08:54.192 --> 00:08:56.592
So Nano's not the only one that...
00:08:56.592 --> 00:08:59.492
You use an editor, right? I thought you were an editor guy now.
00:08:59.692 --> 00:09:01.972
I built you that custom version of it.
00:09:02.672 --> 00:09:04.532
Right. Big NeoVim guy.
00:09:06.012 --> 00:09:09.092
Well there's what i said previous to the challenge starting
00:09:09.092 --> 00:09:12.052
and my hopes and dreams and uh now
00:09:12.052 --> 00:09:15.252
that we're midweek i am drastically changing
00:09:15.252 --> 00:09:18.052
my expectations of what i'm supposed to
00:09:18.052 --> 00:09:21.812
be getting out of this challenge i thought you know had these big dreams of
00:09:21.812 --> 00:09:26.372
yeah i'm gonna learn vim bindings and that's gonna last me the rest of my life
00:09:26.372 --> 00:09:31.532
uh and then but i realized there's like we're we're trying of changed so many
00:09:31.532 --> 00:09:35.672
of our productivity apps that all of them have different key bindings and things.
00:09:35.872 --> 00:09:37.572
And so five days is not enough.
00:09:37.832 --> 00:09:41.412
Hit pause because that's the observation, just kind of watching you fight with
00:09:41.412 --> 00:09:47.152
some of it that has been a bit of a revelation for me because I think I took this bit for granted.
00:09:47.852 --> 00:09:53.832
Before the GUI, back in the old days, before the GUI, every application essentially
00:09:53.832 --> 00:09:55.332
implemented its same interface.
00:09:55.332 --> 00:09:58.652
And there was some standardization over the years, but for the most part,
00:09:58.752 --> 00:10:01.532
especially on unix every application had its own
00:10:01.532 --> 00:10:04.432
ui that you had to discover and that's why it was really common
00:10:04.432 --> 00:10:07.632
for people to just live in a certain application like emacs
00:10:07.632 --> 00:10:11.972
or this definitely happened with particular business applications you would
00:10:11.972 --> 00:10:14.612
learn all the hotkeys and everything and just be able to whip right through
00:10:14.612 --> 00:10:18.432
it once you learned it but every single command line application has its own
00:10:18.432 --> 00:10:23.292
interface and the discoverability is pretty low compared to a gui application
00:10:23.292 --> 00:10:25.652
where you can just look around, discover, and click and browse.
00:10:26.272 --> 00:10:32.972
I remember as a kid playing with the computer that my father and mother supplied us.
00:10:33.012 --> 00:10:36.252
It was like an old Commodore of some kind. So that's the first computer I remember.
00:10:36.692 --> 00:10:39.152
But I remember on that keyboard, they had these...
00:10:41.270 --> 00:10:43.510
little helper i don't know what you call it.
00:10:43.510 --> 00:10:46.530
Oh yeah a little like thing you could stick over the keyboard and then it would.
00:10:46.530 --> 00:10:48.210
Tell you all the key bindings for that very.
00:10:48.210 --> 00:10:50.250
Specific application lots of those is.
00:10:50.250 --> 00:10:53.470
This a new swag item you know to go along with the tui challenge i.
00:10:53.470 --> 00:10:55.210
Feel like i need this this week.
00:10:55.210 --> 00:10:58.990
There you go um we yeah just a bunch of different ones you could print out and
00:10:58.990 --> 00:11:00.110
put over your keyboard yeah.
00:11:00.110 --> 00:11:02.130
You know mpv i would use that one.
00:11:02.130 --> 00:11:06.490
So wes how is the tui challenge going for you oh.
00:11:06.490 --> 00:11:09.370
I'm definitely also feeling some frustration here i
00:11:09.370 --> 00:11:13.170
thought yeah i spend a lot of time in the terminal you know for like a computer
00:11:13.170 --> 00:11:18.310
average computer user in 2025 and i still think i do i almost always have one
00:11:18.310 --> 00:11:24.910
up but i also spend a lot of time in a web browser and it's as impressive as
00:11:24.910 --> 00:11:29.270
stuff like browsh and carbonyl are i i miss full resolution.
00:11:29.270 --> 00:11:31.370
Pixels yeah.
00:11:31.370 --> 00:11:35.370
I was trying to do some route planning and oh man you know something about the
00:11:35.370 --> 00:11:38.910
mapping applications they just they just don't work as good in the terminal
00:11:38.910 --> 00:11:40.730
at least not the ones we have today.
00:11:40.730 --> 00:11:43.450
Yeah and the chatbots chatbots have
00:11:43.450 --> 00:11:46.770
been tricky as we've tried to look a few things up okay so
00:11:46.770 --> 00:11:49.590
here's my frustration and because i have not
00:11:49.590 --> 00:11:52.510
been frustrated with the tui interfaces i find
00:11:52.510 --> 00:11:55.730
it to be nostalgic i remember each application having
00:11:55.730 --> 00:11:58.810
its own bespoke way i set it up in different ways they implemented ways
00:11:58.810 --> 00:12:03.830
to input those configurations and i've kind of been enjoying that i mean i knew
00:12:03.830 --> 00:12:06.650
that coming in that would be something i'd have to do and i've liked that part
00:12:06.650 --> 00:12:14.390
of it i could not have picked a harder worse time to switch to bluefin this
00:12:14.390 --> 00:12:16.830
is you know a cloud native oh.
00:12:16.830 --> 00:12:19.910
So this isn't a this isn't a two-week right fast this is something else.
00:12:19.910 --> 00:12:22.890
Well just slightly because of i mean it's i'm i
00:12:22.890 --> 00:12:26.150
picked probably not the ideal ideal tool for
00:12:26.150 --> 00:12:29.450
this job right um if you want flat pack applications
00:12:29.450 --> 00:12:32.990
you got the the world uh if
00:12:32.990 --> 00:12:35.850
you want something packaged by brew so for
00:12:35.850 --> 00:12:38.910
a lot of so the the ideal combo in bluefin is
00:12:38.910 --> 00:12:41.890
flat pack for your gooey applications brew for
00:12:41.890 --> 00:12:45.570
your command line applications and then if you if you can't find it with brew
00:12:45.570 --> 00:12:50.990
you bounce out to maybe a distro box which they have done a tremendous job with
00:12:50.990 --> 00:12:56.650
the you just command there's like a you just assemble and it assembles a distro
00:12:56.650 --> 00:13:01.650
box for you in just seconds there's a couple of different arches there um some of the standards um.
00:13:02.573 --> 00:13:05.753
And then if you want to create one from scratch and just give it an image name,
00:13:05.793 --> 00:13:09.573
you can do that as well. And it makes it really easy, super integrated.
00:13:09.933 --> 00:13:11.473
Right there is just a tab in my terminal.
00:13:11.953 --> 00:13:14.613
So to set up a distro box, they've nailed that.
00:13:15.233 --> 00:13:21.093
But it actually leads to a secondary effect problem. And that is I have some
00:13:21.093 --> 00:13:24.733
stuff installed via Ubuntu because it was available via apt or PPA.
00:13:24.933 --> 00:13:28.653
I have some stuff installed in my arch distro box because it's in the AUR.
00:13:28.793 --> 00:13:32.653
But not everything because not even everything in the AUR builds. It's gotten really bad.
00:13:32.873 --> 00:13:36.033
I would say three out of the five things I try to install from the AUR,
00:13:36.273 --> 00:13:38.813
TUI apps, fail to build or a dependency fails to build.
00:13:39.393 --> 00:13:44.873
So then, you know, so my first path is I'll try brew because I prefer to have it on my local system.
00:13:45.533 --> 00:13:51.513
And then I go to one of my distro boxes. I often have to also fall down to pip.
00:13:52.413 --> 00:13:57.813
And so pipx has become my friend this week. And a lot of times I'm installing,
00:13:58.033 --> 00:14:03.693
and I'm not exaggerating, 100, 200 dependency packages to say I want to get a music client.
00:14:04.433 --> 00:14:09.133
Oh, okay, that's 200 dependencies because it's a bunch of Python packages,
00:14:09.633 --> 00:14:13.513
a bunch of FFmpeg, and when it's all done and it's all installed,
00:14:13.513 --> 00:14:19.093
I run title DL, for example, and it says FFmpeg isn't in my path, so it doesn't work.
00:14:20.633 --> 00:14:25.233
And it's these little things that it's like, obviously if I was trying to install
00:14:25.233 --> 00:14:30.333
the best-in-class Linux desktop applications and I'm building web applications
00:14:30.333 --> 00:14:34.473
or I'm managing systems, Bluefin would be a killer solution.
00:14:34.713 --> 00:14:38.213
But when you're trying to install a bunch of random, half-supported,
00:14:38.373 --> 00:14:42.313
some underdevelopment, some abandoned TUI applications that some of them are
00:14:42.313 --> 00:14:44.313
Python, some of them are Rust, some of them are Go,
00:14:44.553 --> 00:14:51.553
et cetera, or Bash even, it's a real mixed bag and it could not have been a harder way to do things.
00:14:52.013 --> 00:14:57.973
And I'm sort of saved by the AUR, but so many of them fail to build. Thank you.
00:14:59.335 --> 00:15:03.535
So it's been, honestly, I've spent a lot of time.
00:15:03.695 --> 00:15:06.995
For example, I'm trying to get CMOS going, which is a music TUI client.
00:15:07.575 --> 00:15:08.895
I got that working just great.
00:15:09.515 --> 00:15:12.515
Now I want to populate my music folder with some music.
00:15:12.835 --> 00:15:16.755
Okay, well, I've been using Tidal for a while now, so I'll go get Tidal DL.
00:15:17.055 --> 00:15:21.155
And then I go into these rabbit holes of just trying to get a dependency application
00:15:21.155 --> 00:15:24.175