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.

Source

  • interdimensionalmeme@lemmy.ml
    link
    fedilink
    arrow-up
    1
    ·
    21 hours ago

    I have no shell configs of any kind because it seemed like everytime I used another computer, I would not have them and I would end up having the re-learn everything.

    So instead I google every command every time or ask chatgpt, like this

    I find it very annoying there’s isn’t a reliable way to use alias or shells, functions and stuff.

    • tal@lemmy.today
      link
      fedilink
      English
      arrow-up
      2
      ·
      edit-2
      15 hours ago

      I have no shell configs of any kind because it seemed like everytime I used another computer, I would not have them and I would end up having the re-learn everything.

      What I do is store my dotfiles in a git repository, and leave symlinks to the files in that repository. Then, when I move to another computer, pulling over all my configuration consists of doing a git pull to pull the git repo over and then running a command to set up the symlinks on that new computer. I can also make changes and selectively push things in. Some things need to be specific to a computer, and those don’t go in.

      I use a homebrew script to set up the symlinks. A number of people use GNU stow for this.

      kagis for an example of someone using stow

      https://brandon.invergo.net/news/2012-05-26-using-gnu-stow-to-manage-your-dotfiles.html?round=two

      If you edit the symlinks in emacs (and I imagine vim), it picks up on the fact that they’re symlinks into a git repository and that they’re version-controlled.

      So, like:

      • Have a bare git repository on home machine, the “master” copy.

      • Every machine with an account has a non-bare dotfiles git repository checked out and symlinks pointing into that repo.

      • Make any changes on a given machine like you normally would, then git commit them to the local non-bare dotfiles git repo and push them to the master repository.

      • If setting up on a new machine, pull the git repository, and then run the command to set up the symlinks.___