I’ll start:
- Tmux
- vim
- ghidra
- okteta (hex editor)
- speedcrunch (calculator with bit manipulation)
- python3 with IPython for nice reply and embed(), pwntools
- This is amazing. Thank you! 
- Holy shit I need this. 
- Another of those rare times I don’t expect to laugh in a thread. 
 
- Depends on what the machine is for. 
- • git 
 • vim
 • openssh
 • openssl
 • fail2ban
 • curl
 • byobu
 • webmin (to give limited access to non-Linux help desk technicians)
- Kitty
- fish + all the shell builtins
- LunarVim (Neovim)
- git + lazygit
- openssh
- npm
- cargo
- docker
 - Edit: - wget
- httpie
- tar & (un)zip
 - Try podman it’s lighter than docker. 😂 - I will! I once already used it for cross compiling and it seemed really nice ^^ 
 
 
- exa
- ripgrep
- tree
- difftastic
- fzf
- git
- neovim
- zsh
- starship
- direnv
- bat
 - clipcopy to pipe output of commands into the system clipboard - cat foo.txt | clipcopy - Til. Thanks for sharing this 
 
 
- As boring as it is, gcc. - I feel that. - I still favor gcc over clang - I switched to clang a long time ago, when gcc’s support for C++11 was not that good. - Why do you personally prefer gcc? - I develop mostly in C and largely for creating shellcode. - I have run into very weird issues with clang relocating code and data segments even when using a custom linker script 
 
 
 
- One that I didn’t see on here that I’ve added to my list - tldr
- simplified man pages with common example commands.-
 
 - If on desktop - distro-box
- yakuake
 
- tldr
- docker (What, you never wanted to use a optimized version of cmatrix that uses only 512KiB of ram while barely scratching your CPU?)
- foot
- brave
- (on docker) btop, cmatrix, lynx
 - What is this optimized cmatrix you speak of? The normal one slows my desktop to a crawl when it runs. - Basically, a “handcrafted” cmatrix with compilation flags focused on optimization and the musl library (which is “technically better” than glib, a standard library on most distros). - Do feel free to try it out however, its only 139KiB – click here. - tl;dr guide on how to get it running - 1- Install docker (docker on most distros – docker.io on ubuntu and friends) - 2- sudo usermod -aG docker (addyourusernamehere) - 3- reboot - 4- run it with “docker run -it --rm --log-driver none --net none --read-only defnotgustavom/cmatrix:marchedition” 
 
 
- zsh+ohmyzsh
- tilix
- neovim
- fzf
- exa
- pv
- htop+iotop+nethogs
- iperf3
- nc
- socat
- nmap
- python3
- ansible
- lolcat
 - If you like exa and fzf, you’ll also like - fd(or sometimes- fd-find).- Woah, how I missed this? Thanks! Seems very comfy and way faster, btw on my deb machines it’s fdfind 
 
 
- neovim
- alacritty
- zsh
- oh my zsh
- starship (promp)
 
- zellij
- btop | htop
- ripgrep
- fd-find
- exa
- fnm (nvm alternative, since nvm starts too slow for me)
- yt-dlp
- bat (batcat)
- the usual base-devel / build-essential
 
- For everything: - vi/vim
- ssh & sshd
 - For everything except firewalls: - C, C++, Perl, Common Lisp, Scheme programming tools
- lynx
- wget/curl
- git
- ksh (on *BSD)
- telnet (yeah, there’s equipment that still uses telnet out there)
 - For a desktop: - Emacs
- xterm
- GNU plotutils
- TeXlive
- X11 utilities (xcalc, editres, etc.)
- Atmel and Arduino toolchains
- xpdf
- KDE
- KiCad
- GIMP
- Inkscape
- Firefox
- Chromium
- Kerbal Space Program
 
- To add to all great comments here I have one that I’ve used for ages and not seen mentioned here: lftp - It supports many protocols for ftp like over ssh and allows for shaky connections with resume and back in the days when this was more common I used to just run it in the background to download huge files that took days to download and it would gracefully just reconnect/resume/retry until done. 
- Adding to that: - neovim for workstations
- curl
- wget
- zsh
 - Edit: So essentially for me, I forgot to include it: vim, my beloved, always and for ever - Def curl and wget! - Zsh is great but I ended up falling back to bash for simplicity. - Im not really into the bash simplicity, but it’s proven and stable. - I just have a git repo with configs on my git Server, I make changes regularly and roll them out with a quick bash script. 
 
 
- deleted by creator 
- A few from the top of my head: - git
- neovim
- nix (package manager)
- mpv + yt-dlp (stream music from yt with --no-videoargument)
- unbound
- caddy (quickly spin up local web servers with https)
 - Edit: almost forgot, I’ve been using zsh + znap package manager and loving it. 










