Fish rules
-
That does sound like a good plan and I do have my own git server but
Can I expect to be able to do this in the various work shells I come across ?
Or do I risk becoming afoul of IT security ?(especially as it is not practical to ask each of them)I mean, that’s not a question I can answer for you. I have never had a problem, myself, but I have no idea what your professional situation is. There are a shit-ton of ways to move git repositories around. If you can ssh out, if you can move physical storage in and out, if you have https out (though that’ll be unidirectional in). I doubt that a typical IT department is going to care about you moving your dotfiles in, so if they do block something, probably worth a try just saying “I just want to pull my dotfiles from home; what’s a good way to do that?” My guess is that most IT departments aren’t going to have an issue with that. If you work for an intelligence service or something that has really super-stringent security requirements, then having any data movement in or out may be more of a headache.
I would be careful to avoid sticking credentials (keys, passwords, anything like that) in any git-managed dotfiles. Not an issue for most software, but there are a few packages that will do that (
neonmodem
, a BBS-themed console Linux Lemmy client, does that…was just trying it yesterday.) You don’t want to be dumping your home credentials all over in your git history, and work isn’t going to want you pushing work credentials out. -
using nushell is my little rebellion against POSIX tyranny
POSIX tryanny? Lmao
-
fish, the friendly interactive shell, is a commandline shell intended to be interactive and user-friendly.
fish is intentionally not fully POSIX compliant, it aims at addressing POSIX inconsistencies (as perceived by the creators) with a simplified or a different syntax. This means that even simple POSIX compliant scripts may require some significant adaptation or even full rewriting to run with fish.
I’m sorry I can’t hear you over my eshell
-
Exactly, use the shell you like (nushell in my case), write POSIX scripts for maintainability, and use shebangs so you don’t have to think about it.
If you like fish but don’t use it as your login shell because it’s not POSIX you’re missing the point of the shebang
Write POSIX scripts for portability*, maintainability doesn’t depend much on the shell
POSIX for the system, Fish for the interaction is how I like my OS :3
-
#!/usr/bin/env bash
-
zsh with oh-my-zsh addon can do the same amount of pretty colours and qol stuff, with the addition of being POSIX compliant. Not that fish is bad or anything, but you don’t want additional troubles with random incompatibility on top of the usual learning curve.
Thanks for the recommendation! I always end up doing things the hard way anyway lol
-
fish, the friendly interactive shell, is a commandline shell intended to be interactive and user-friendly.
fish is intentionally not fully POSIX compliant, it aims at addressing POSIX inconsistencies (as perceived by the creators) with a simplified or a different syntax. This means that even simple POSIX compliant scripts may require some significant adaptation or even full rewriting to run with fish.
Isn’t the list of shells that are “not fully POSIX compliant” basically every shell in modern use aside from sh?