all 16 comments

sorted by: hot top controversial new old
[–] 9 points 4 months ago (10 children)

Why do people seem to especially like fish?

  • source
  • hideshow 10 child comments
  • [+] 29 points 4 months ago (1 child)
  • [–] 1 point 4 months ago

    exact same experience I had. used bash for years, got so tired of it, switched to zsh with plugins and it was amazing, but so slow to load. Finally got tired of that and tried fish and it's just zsh, but ... good ...

    I've never had issues with fish as login shell though. Probably niche OSes

  • source
  • parent
  • [–] 9 points 4 months ago (1 child)

    it's zsh without having to add in all the plugins. on my NixOS systems zsh+plugins caused it to run slow. Fish just doesn't have that issue as everything is baked into it. setting up functions is also a breeze and the built in themes are great. just one install and no need to configure much if anything.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 0 points 4 months ago

    yeah pretty much every zsh plugin loader have filed issues about the long load times and running slowly. fish just doesn't have that. it starts as fast as zsh with no plugins, and it's a better all around experience.

  • source
  • parent
  • [–] 4 points 4 months ago* (2 children)

    As a ux/ui nerd for me its mostly that its a very thoughtful user experience. I have been more or less good at the terminal at different points in time, but if you don't spend much time there its easy to forget every command and how to do things. And ultimately, I don't really enjoy using it as an interface. Its a blank void with little to nothing in the way of affordances-- remember the magic words and you can do anything. But the fact its only used by technical folks means often no one cares to add affordances or ease of use even when it might be possible, and when they do its from a power user perspective.

    Fish feels like a much more thoughtful execution of how to interact with a command line interface, and doesnt require a ton of time spent in a terminal to achieve that better ux. Though I still want to set up a nice prompt that improves legibility and make things a bit easier still, I just haven't played with starship enough yet.

    There are more things I'd wish for in a perfect world, but for me fish is a very nice step in the right direction :)

  • source
  • parent
  • hideshow 2 child comments
  • [–] 3 points 4 months ago

    zero downsides and all upsides? like, zsh with plugins is just fish out of the box. I used zsh for a long long time (and several other shells), but with the plugins you want to have you immediately hit long loading times to actually start your shell. and then when it's finally loaded it's still a worse experience than fish.

  • source
  • parent
  • [–] 5 points 4 months ago* (last edited 4 months ago) (4 children)

    I used to use fish but I don't like their weird scripting language. I want my shell to be POSIX compliant.

    ( yes, even my interactive shell )

  • source
  • hideshow 4 child comments
  • [–] 14 points 4 months ago* (3 children)

    Basically every non-Windows system comes with a POSIX-compliant shell at /bin/sh. If you're using shebangs in your POSIX shell scripts like you should, using Fish as your Friendly Interactive Shell shouldn't be a problem.

  • source
  • parent
  • hideshow 3 child comments
  • [–] 0 points 4 months ago (1 child)

    Don't try to out-nerd me, your shebang advice isn't even POSIX compliant ! Use #!/usr/bin/env sh, there are systems (incl. NixOS) where there is no /bin/sh

    And Fish's scripting language leaks into the interactive shell. Setting variables via export a=b doesn't work, for example. I don't like that.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 2 points 4 months ago*

    Actually, /bin/sh is available on NixOS 🤓

    Yes, it's true that #!/usr/bin/env bash is a more reliable way to get bash, but you mentioned that you wanted a POSIX shell, not that you specifically needed bash, so #!/bin/sh will work on any system including NixOS.

    Also, export a=b does work in Fish. But you don't have to use it if you don't know how it works.

  • source
  • parent