Skip to content

Software and Tools

Antoniy Chonkov edited this page May 22, 2020 · 16 revisions

Software & Tools

Here is a list of most of the software and tools I use on a day to day basis. There are also specialized items listed or duplicates of stuff I used before I replaced them with other tools but they are still my backups. I've omitted most basic system installation tools for X, networking, video drivers, linux base, etc.

Terminal

  • st: I use a suckless terminal build with a set of patches suitable for my uses (dotfiles)
  • termite: My fallback terminal of choice is termite (dotfiles)

Text Editor

  • neovim: drop-in replacement fork of Vim
  • sublime text: gui text editor - great for editting text, multiple cursors, etc.
  • VSCode: text editor with many IDE-like features, lots of plugins and cross-platform

Shell & Tools

  • zsh: powerful shell with lots of features (dotfiles)
  • zplug: plugin manager for ZSH
  • tmux: tmux is part of my "essential package" and it does not need any introduction (dotfiles)
  • exa: modern ls replacement with nice visuals and easy to use features
  • fzf: fuzzy finder written in go: opinioated find alternative - faster, colors, easier features
  • the_silver_searcher: code searcher tool. I use it as a dependency of fzf.vim Vim plugin.
  • fd: opinioated find alternative - faster, colors, a lot of features (close to find)
  • highlight: source code to formatted text converted - very useful for highlighting code and config files in the shell
  • bat: cat with syntax highlighting and numbers
  • delta: more human readable diffs: use that before diff-so-fancy
  • diff-so-fancy: more human readable diffs - git configuration in the project readme
  • grc: generic colorizer - colorize the contents of files or output of other tools
  • fasd: productivity tool - quick access to files and directories
  • dmenu: general purpose menu tool part of the suckless project
  • j4-dmenu-desktop: dmenu with the ability to find .desktop files and start applications
  • odt2txt: converter for ODT to text - used for previewing file content
  • pdftotext: used for previewing PDFs as text
  • mupdf-tools: used for previewing PDFs as text using mutool command
  • jq: command-line JSON processor
  • yq: command-line YAML/XML processor
  • fx: command-line JSON viewer
  • terminal_markdown_viewer: styled terminal markdown viewer
  • pet: Simple command-line snippet manager, written in Go.
  • up: Ultimate Plumber is a tool for writing Linux pipes with instant live preview
  • buku: browser independent CLI bookmarks manager
  • thefuck: Correct you previous command based on lots of rules
  • wttr.in: Online weather http endpoint that outputs all kinds of weather format for terminal use
  • stow: symlink manager used in for dotfiles management
  • vidir: useful script for bulk rename/delete filenames - already incorporated into .local/bin/vidir

X and WMs

  • Xorg utilities

    • xdg-utils: tools to interact with desktop environment:
      • xdg-desktop-menu - Install desktop menu items
      • xdg-desktop-icon - Install icons on the user's desktop
      • xdg-email - Compose a new email in the user's preferred email client, potentially with subject and other info filled in
      • xdg-icon-resource - Install icon resources
      • xdg-mime - Query and install MIME types and associations
      • xdg-open - Open a URL in the user's preferred application that handles the respective URL or file type
      • xdg-screensaver - Enable, disable, or suspend the screensaver
      • xdg-settings - Get or set the default web browser and URL handlers
    • xclip: command-line utility to work with X11 server clipboard
    • xsel: command-line interface to X11 clipboard
    • xdo: small X utility to perform actions on windows
    • xdotool: command-line X11 automation tool
    • xwininfo: X window information
    • xprop: X window properties inspector
    • xautolock: automatic lock/screensaver trigger
    • xset: preference utility for X
    • xev: print contents of X events. example: xev -event keyboard
    • xsetroot: X root window parameter set utility - used for setting mouse pointer style.
    • i3lock: simple and lightweight screen locker
    • picom: compositor for WM
  • Window Manager

  • Old configs

Notification Daemon

  • dunst: lightweight, customizable notification daemon (dotfiles)

Browsers

  • firefox: my main browser
  • Opera: fallback browser build on chromium
  • Chromium: fallback browser
  • qutebrowser: lightweight browser with support of vim bindings
  • lynx: text-based browser
  • surf: lightweight and fast browser, part of suckless utilities, useful to use in combination with command-line tools to open stuff in a lightweight browser
  • w3m: minimal browser and pager - used for files preview
  • elinks: feature rich text mode browser

File Managers

  • nnn: super fast and small file manager with bulk rename support + many other features
  • lf: ranger-like file manager written in go an works way faster than ranger. Use it as my main terminal file manager. (dotfiles)
  • ranger: terminal file manager written in python with lots of features. It's my backup file manager.
  • pcmanfm: LXDE file manager for GUI work

Images, Audio & Video

  • sxiv: Simple X Image Viewer - lightweight and fully functional image viewer.
  • feh: Fast and lightweight image viewer - I use it to set my wallpaper.
  • gimp - for various image manipulations
  • audacity: audio editting software
  • ffmpeg: no comment - anyone need that even if he doesn't know it
  • mpv: my preferred video player
  • vlc: my fallback video player
  • mediainfo: information about video and audio files
  • handbrake: GUI tool for converting video from/to any format
  • pulseaudio: sound system I use
  • pulsemixer: pulse audio CLI mixer
  • pavucontrol: control mixer for PulseAudio
  • shotcut: open source video editor
  • openshot: another open source video editor
  • unflac: split flac files
  • Peek: simple screen recorder that allows making gif screencasts in seconds
  • screenkey: screencast tool to display keys pressed
  • kdenlive: open-source non-linear video editor
  • asciinema: record and share terminal sessions in a text-based form - no video involved
  • beets: awesome music library manager and tagger

Presentation

  • sent: very simple and efficient tool for creating and rendering a presentation out of plain text files - part of the suckless tools

PDF Viewer

Fonts

Security

  • gnupg: open-source OpenPGP implementation
  • VeraCrypt: disk encryption tool - create encrypted volumes in files or encrypt the actual partition itself
  • cryptomator: open source tool for client-side encryption of cloud files
  • bitwarden: bitwarden password manger desktop app
  • keybase: secure communication, communites, files, git, etc. app
  • pass: password manager for the terminal

Backup & Synchronization

  • rsync: incremental file transfer and sync
  • rClone: rsync for the Cloud - synchronizes with many, many different cloud storage providers
  • syncthing: personal file sync between devices and self-hosted servers
  • duplicity: encrypted backup utility for local, remote and cloud using rsync algorithm
  • filezilla: FTP, SFTP, FTPS utility to work with remote FTP servers
  • timeshift: linux system backup/restore/snapshots tool

Monitoring

  • htop: much better and colorful alternative to top for process viewer (dotfiles)
  • glances: system monitoring similar to htop but showing more information
  • nmon: network monitoring CLI tool
  • gotop: another brother of htop with CLI
  • powertop: CLI tool for monitoring power consumption

Archivers

  • bzip2, gzip, p7zip, zip, unzip, unrar, xz, tar, unace
  • atool: Script for managing various file archives - used for preview
  • xarchiver: frontend for multiple archive tools - 7z, zip, rar, tar, bzip2, gzip, etc.

Social

  • youtube-viewer: lightweight CLI app for searching and streaming youtube videos from command line
  • rtv: command-line Reddit browser

Download Utilities

  • wget: download utility
  • curl: command-line tool to transfer data to/from endpoints - HTTP, FTP, IMAP, LDAP, POP3, and many more
  • httpie: command-line HTTP client with nice interface, colors and lots of features
  • youtube-dl: command-line tool for downloading audio and video streams from hundreds of different sources (not just YouTube)
  • qbittorrent: robust and fast torrent client with GUI
  • rtorrent: command-line fast torrent client with lots of features
  • transmission: used only transmission-show utility for previewing .torrent files

Keyboard

  • xcape: allows to set additional behavior to a modifier key when pressed and release on its own. I use it to remap Caps Lock key to Escape when pressed alone (not in a combination with another key).
  • xorg-setxkbmap: utility that comes with Xorg which allow us to set keyboard layouts and modifier keys behavior. I also use it to map Caps Lock key to act as Ctrl key when pressed in combination with another key.
  • sxhkd: Simple X hotkey daemon
  • sbxkb: keyboard layout indicator and switcher for status bars
  • xkb-switch: switch X keyboard layouts from command line (dependency of vim-xkbswitch)

VPN

  • wireguard: fast, modern, lightweight, stealthy VPN tool

Chat & IM

  • weechat: CLI extensible chat client with multiple protocol support
  • hexchat: GUI IRC client based on XChat
  • telegram: no comment
  • viber: even less comment
  • skype: why is that even here?
  • slack: team-based chat
  • discord: team-based chat platform - mostly for gaming and communities

Misc

  • maim: command line screenshot utility
  • imagemagick: command line image processing tools
  • xbanish: simple tool to hide mouse cursor when typing
  • protonmail-bridge: exposes IMAP/SMTP endpoints to be able to use other mail clients for ProtonMail
  • redshift: small tool which changes color temperature of the screen based on sunrise/sunset and geolocation information
  • calibre: ebook management software

Networking

  • net-tools: networking tools - arp, ifconfig, netstat, route, etc.
  • bind-tools: DNS tools package with lots of utilities - dig, nslookup, etc
  • network-manager: network manager daemon
    • network-manager-applet: network manager status bar applet
    • network-manager-editor: network manager GUI connection editor
    • network-manager-vpnc: VPN plugin for VPNC
    • network-manager-openvpn: VPN plugin for OpenVPN
    • network-manager-pptp: VPN plugin for PPTP
    • network-manager-openconnect: VPN plugin for OpenConnect
  • ethercap: suite for MITM attacks - traffic sniffer
    • ettercap-gtk: GTK GUI for ettercap
  • nmap: host, network, port, security scanner
  • inetutils: a collection of common network utils
  • iputils: network monitoring tools - including ping
  • iproute2: IP routing utilities
  • openssh: SSH client and server
  • mosh: UDP based alternative to SSH with roaming support (use SSH authentication) and does not requre root access to run
  • socat: multipurpose relay tool
  • wireshark: GUI-based network protocol analyzer and traffic sniffer
  • speedtest-cli: CLI interface for speedtest.net

System

  • yay: AUR helper written in Go
  • cronie: cron daemon
  • findutils - common find tools - find, locate, xargs, updatedb
  • gawk: additional text processor to awk
  • lsof: files, sockets, processes information tool
  • gparted: partition manager
  • ncdu: disk usage analyzer for the terminal with ncurses interface
  • ntfs-3g: open source ntfs driver

Virtualization & Conternarization

  • docker: container management for Linux
    • docker-compose
  • VirtualBox: virtualization software

Development

  • git: distributed VCS
  • hub: command-line wrapper for git to work with GitHub
  • gradle: java build and dependency management tool
  • maven: java build and dependency management tool
  • sbt: scala build tool
  • OpenJDK: Java development kit
  • scala: Scala language and runtime
  • cloc: count lines of code, comments, physical lines, etc.
  • jetbrains-toolbox: JetBrains app installer and launcher
  • VisualVM: jvm monitoring GUI tool

IntelliJ IDEA Plugins

  • .ignore: support for various VCS ignore files
  • AceJump: jump to any symbol in the editor with a keybinding
  • BashSupport: bash and shell script language support
  • CheckStyle-IDEA: CheckStyle inspection plugin
  • CSV Plugin: CSV highlighting, validation and formatter
  • Grep Console: grep functionality for the console tab
  • HOCON: HOCON format highlighting, validation, formatter, breadcrumbs, etc.
  • Key Promoter X: train yourself to use the IDE keybindings more efficiently
  • IdeaVim: Vim emulation for IntelliJ
  • IdeaVim-EasyMotion: enables the easymotion ideavim plugin
  • Lombok: Project Lombok plugin for IntelliJ
  • Scala: Scala language support
  • Statistic: shows project statistics

Browser Extensions

  • Bitwarden: bitwarden password manager plugin
  • uBlock Origin: very customizable blocker plugin with lots of features
  • Decentraleyes: prevents tracking by CDNs by caching locally
  • HTTPS Everywhere: tries to open every site over HTTPS and if not possible prompts the user if he wants the non-secure version
  • Vimium-FF: vim key bindings for the browser
  • Cookie Autodelete: automatically delete cookies from all websites (there are also whitelist for sites to ignore)

Ham Radio

  • rtl-sdr: RTL SDR driver
  • chirp: open source software for programming amateur radio
  • gqrx: open source software-defined radio - SDR
  • gnuradio: open source software for signal processing and implement software radios
  • fldigi: software for digital work, remote controlling radio from a PC, etc
  • klog: HAM radio logger
  • kochmorse: Morse code tutor based on Koch method

Subtitles

MacOSX Specific Tools

  • iterm2: terminal emulator with dropdown support
  • karabiner: keyboard remap tool for MacOSX (dotfiles)
  • f.lux: screen color temperature auto adjustment tool
  • Clocker: show multiple timezone clocks in the status bar
  • Scroll Reverser: configure the scroll direction for mouse and trackpad to make it sane again