If you choose to give Fedora a try, I recommend Ultramarine, which has more set up from the start, including their “Terrs” repository with more updated packages.
Ah yes you can tell by the post title:
best linux terminal emulator
For me: Wezterm. It does pretty much everything. I don’t think Alacritty/Kitty etc. offer anything over it for my usage, and the developer is a pleasure to engage with.
Second place is Konsole – it does a lot, is easy to configure, and obviously integrates nicely with KDE apps.
Honorable mention is Extraterm, which has been working on cool features for a long time, and is now Qt based.
I use my own Zsh project (zpy) to manage venvs stored like ~/.local/share/venvs/HASH-OF-PROJECT-PATH/venv
, so use zpy’s vpy
function to launch a script with its associated Python executable ad-hoc, or add a full path shebang to the script with zpy’s vpyshebang
function.
vpy and vpyshebang in the docs
If anyone else is a Zsh fan and has any questions, I’m more than happy to answer or demo.
Konsole is excellent. Wezterm is even better, and can pretty much do everything, everywhere.
There’s no need to bother with the others if you like either of these.
I don’t know what the install process is like for them, but FYI Siduction offers one image that is minimal but with X11, and one minimal without it.
There are many advantages relative to bash, especially much better array handling, and comprehensive globbing and expansion expressions. You can reduce your reliance on external tools, which may have multiple alternative implementations (a source of unpredictability).
Some defenses are written up at
https://www.arp242.net/why-zsh.html
(not my post)
For me, fish’s differences from older shells count against it without offering any compelling benefits.
Newer shells like nushell and oils/ysh are exciting and have a lot going on, but are not mature or familiar.
For Alpine Linux:
For Arch, you may like a project called aconfmgr.
For Arch Linux:
Thanks. I know that’s the case for Nim’s flexibility, but I didn’t think it applied to the pipe operator stuff like in Roc. I’ll do some reading tonight to confirm.
That’s true, but if the transformations have more than one argument, they go after the name
Yup, I understand. That’s why I’ve not put them in the concatenative section.
Also, there are more languages with this feature, for example D, VimScript or Koka.
Thanks, maybe I’ll add them to the sidebar! I hadn’t heard of Koka.
If you have a suggested heading/description to replace “partially concatenative” I’m interested. Function chaining? And I’m not sure but maybe execline is actually concatenative and needs to be moved out of that section.
Exactly. That’s the second link under “Wikipedia Topics” in the sidebar.
I may be expressing it poorly and inaccurately, but what I mean is that in Nim you can re-order arguments and functions to start with some data followed by a series of transformations. The following two lines are equivalent:
parse_int(read_line(stdin))
stdin.read_line().parse_int()
Roc offers a similar flow with their |>
operator. Here’s a snippet from one of my Advent of Code 2022 solutions:
partOne =
"input.txt"
|> getData
|> Task.await \data ->
data
|> getRangePairs
|> List.keepIf pairHasStrictSubset
|> List.len
|> Num.toStr
|> Stdout.line
Factor!
It’s incredible and elegant and defies some common categorization.
I’ve put some of my favorite resources in the sidebar of https://programming.dev/c/concatenative and I’m happy to walk through any particular challenges/examples – I’ve done about the first week of Advent of Code with it this year, and the most recent handful of Perl Weekly Challenges, and some basic Euler problems.
Plasma may not ever implement window shading for Wayland, but I’m hopeful. That’s probably my last blocker.
wish I cluld have just the folders
You can copy or symlink folders around between themes in ~/.local/share/icons/
.
As someone’s new comments just brought me back to this post, I’ll point out that these days there’s another good option: uv run.