1. Fish Shell

  2. Nushell

  3. Dune

  4. Xonsh

  5. Hilbish

  6. Elvish

  7. Oh

  8. Solidity

  9. Yash

  • Yuu Yin@group.lt
    link
    fedilink
    arrow-up
    7
    ·
    edit-2
    2 years ago

    I use nushell for my terminal/console (alacritty). For POSIX compability, mksh; I set it as SHELL so programs, which expect/assume POSIX, use it instead of nu. This is the way to have best of both worlds.

    • binarypie@lemmy.ml
      link
      fedilink
      arrow-up
      3
      ·
      2 years ago

      I’ve been eyeing nushell but it’s such a departure from posix that it just never sticks. How did you make the switch?

      • Yuu Yin@group.lt
        link
        fedilink
        arrow-up
        4
        ·
        edit-2
        2 years ago

        It is because it departs from POSIX that it is good; I recognize the syntax for some functionality is cumbersome and hard to remember though. There are similarities like command names and piping still…

        I use NixOS and home-manager, so for switching I just

          home-manager.users.yuu = {
            programs.nushell = {
              package = pkgs-update.nushell;
              enable = true;
              configFile.source = ../../config/nushell/config.nu;
              envFile.source = ../../config/nushell/env.nu;  
            };
          };
        

        The config.nu and env.nu is basically the default just with a customized prompt.

        Then in my alacritty.ylm I set shell to the nu binary

        shell:
          program: /etc/profiles/per-user/yuu/bin/nu
        

        Also learned from official resources https://www.nushell.sh/book. When I have doubts, I ask either on Nushell’s GitHub discussions or https://matrix.to/#/#nushell:matrix.org

        And to keep a POSIX shell

        {
          environment = {
            systemPackages = with pkgs; [
              mksh
            ];
        
            sessionVariables = rec {
              TERM = "alacritty";
              TERMINAL = "alacritty";
              SHELL = "${pkgs.mksh}/bin/mksh";
            };
        
          environment.shells = [
            "${pkgs.mksh}/bin/mksh"
          ];
        }
        
          • Yuu Yin@group.lt
            link
            fedilink
            arrow-up
            3
            ·
            2 years ago

            You’re a person of culture as well I see; I upvote comments of culture yes📠

            I remember talking with you at the NixOS matrix; nice to see you here as well💖✨✨✨🌠