I’ve been trying nushell and words fail me. It’s like it was made for actual humans to use! 🤯 🤯 🤯
It even repeats the column headers at the end of the table if the output takes more than your screen…
Trying to think of how to do the same thing with awk
/grep
/sort
/whatever
is giving me a headache. Actually just thinking about awk
is giving me a headache. I think I might be allergic.
I’m really curious, what’s your favorite shell? Have you tried other shells than your distro’s default one? Are you an awk wizard or do you run away very fast whenever it’s mentioned?
This feels like ragebait. I have multiple devices, use fish whenever that can be installed and zsh/bash when not, and have none of these issues.
EDIT:
Manually downloading the same shell scripts on every machine is just doing what the package manager is supposed to do for you. I did this once to get some rust utils like eza to get them to work without sudo. It’s terrible.
If you have a package manager available, and what you need is available there, sure. My Synology NAS, my Knulli, my cygwin installs in Windows, my Android device… they are not so easy to have custom shells in (does fish even have a Windows port?).
I rarely have to manually copy, in many of those environments you can at least
git clone
, or use existing syncing mechanisms. In the ones that don’t even have that… well, at least copying the config works, I just scp it, not a big deal, it’s not like I have to do that so often… I could even script it to make it automatic if it ever became a problem.Also, note that I do not just use things like
z
straight away… my custom configuration automatically callsz
as a fallback when I mistype a directory withcd
(or when I intentionally usecd
while in a far/wrong location just so I can reach faster/easier)… I have a lot of things customized, the package install would only be the first step.So you’re willing to do a lot of manual package managing, in general put a lot of work into optimizing your workflow, adjusting to different package availability, adjusting to different operating systems…
…but not writing two different configs?
That is your prerogative but you’re not convincing me. Though I don’t think I’ll be convincing you either.
I have separate configs/aliases/etc for most of my machines just because, well, they are different machines with different hardware, software, data, operating systems and purposes. Even for those (most) that I can easily install fish on.
It’s actually the lazy way. I only work once, then copy that work everywhere. The copying/syncing is surprisingly easy. If that’s what you call “package management” then I guess doing “package management” saves a lot of work.
If I had to re-configure my devices to my liking every time I would waste time in repetition, not in an actual improvement. I configured it the way I liked it once already, so I want to be able to simply copy it over easily instead of re-writing it every time for different systems. It’s the same reason why I’ve been reusing my entire /home partition for ages in my desktop, I preserve all my setup even after testing out multiple distros.
If someone does not customize their defaults much or does not mind re-configuring things all the time, I’m sure for them it would be ok to have different setup on each device… but I prefer working only once and copying it.
And I didn’t say that bash is the only config I have. Coincidentally, my config does include a config.fish I wrote ages ago (14 years ago apparently). I just don’t use it because most devices don’t have fish so it cannot replace POSIX/Bash… as a result it naturally was left very barebones (probably outdated too) and it’s not as well crafted/featureful as the POSIX/bash one which gets used much more.