Like, best text editor? Helix, Neovim, vim, emacs? All of the above, because why not? Currently leaning helix, becuase there's less setup involved with plugins and what not, but I'm not a serious programmer or anything.

Any reason to use an alternative to bash?

Any cool games? Best terminal file manager? Tmux or Zelij? Etc.

Useful aliases you use?

I'm currently messing around with NixOS, and was trying to build up a replacement for my current debian media server, and (eventually, hopefully, inshallah ) as a replacement to my current windows install.

I like debian a lot, but after installing it on both my laptop and server there was a lot of program drift between the two, when I wanted them to basically be identical, and then I found nix, and thought "this looks neat" and the idea of being able to reproduce everything on each install, with the same config format, appealed to me. I am currently playing around with it in a vm until the config is to my liking.

Seeing as the .nix config files are so portable I started working on a "module" for terminal apps to get about as close to a fully functional system as you can get with only a command line or terminal session, just to see what I could do.

So far I have quite a list, and looked over quite a few top 10 lists for this stuff, but was wondering if there was anything else out there I'm overlooking?

Pic is of my current bash prompt with starship, which was incredibly easy to get working and tweak thanks to home-manager modules. If anyone else is running starship and has a cool config they want to share, please do.

  • WhyEssEff [she/her]
    ·
    edit-2
    8 months ago

    I work outta zsh as it's the default for macOS but I can't evangelize it much because I don't have enough bash experience to differentiate the two. I think it's pretty neat, though.

    I use passion for my theme and spaceship for my prompt. Used to use powerlevel, but I found it to be too visually cluttered for my tastes after a while. With opsec stuff cleared out–here's my neofetch:

    Show

    and here's an example prompt:
    Show

    some useful aliases:

    alias modx="chmod +x" # make file/script executable
    alias calc="bc -e" # quick calculator
    alias sl="ln -s" # symlink
    

    I'd also recommend making a catch-all function for updating your package managers. I call mine shell-update and have it aliased to shu, which is the following function in my config:

    brew update # homebrew sync
    brew upgrade # update packages
    brew cleanup # delete old versions
    
    rustup update # rust toolchain update
    
    npm update -g # node global update
    
    pip3 list -o \  # python mass update
      | cut -f1 -d' ' \
      | tr " " "\n" \
      | awk '{if(NR>=3)print}' \
      | cut -d' ' -f1 \
      | xargs -n1 pip3 install -U
    
    omz update # oh-my-zsh update
    

    Your environment may vary.

    • TheModerateTankie [any]
      hexagon
      ·
      8 months ago

      Cool, thanks!

      A custom update function was something I was thinking of doing. The nix commands are a bit arcane, having a simple "update" command for all of them seems like it would be useful.