my-linux-setup icon indicating copy to clipboard operation
my-linux-setup copied to clipboard

My Fedora Linux list of installed applications and Ansible provision scripts

My Linux machine setup

This repository contains a List of applications and tools that are installed on my Linux Machine (Running Fedora). This is inspired by nikitavoloboev´s my-mac-os, but for Linux Based Systems.

For automated provision scripts, powered by Ansible, please check the provision folder. This scripts will provision the installation of most of these applications in an automatic way, which makes it a lot faster, to start from scratch in a new machine.

Motivation

Setup a new machine from scratch is always a very time consuming task. Last time I did it I took an entire weekend to install everything. And there is a high change of forget some less used command line tool. Also as the Developer I install many tools directly from GitHub and so checking if they are updated is a very manual process, like going to GitHub, check latest release, download the binary and move it to the correct place.

What if most of that, can be automated?

That´s what this repository does. In this README file you will encounter a list of software I use and can be seen as a reference. The more interesting part is in provision folder, which contains a set of Ansible playbooks to automatically install that softtware.

As a Developer I need my main OS to be very stable but I also want to have regularly updated packages. After working with Debian based OSes for many years, in 2019 I decided to give a try to Fedora and so this playbook is optimized for Fedora.

Table of Contents

  • My Linux machine setup
    • Motivation
    • Table of Contents
    • Graphical Applications
      • Productivity
      • Internet
        • Web Apps (powered by Web Catalog)
      • Graphics & Design
      • Sound & Video
      • Development Tools
      • Utilities
      • Games
      • Themes and Icons
      • Fonts
      • Finance
    • Terminal Applications
      • Shell configuration
      • File Navigation and Search
      • Text Mainuplation
      • Multimedia
      • Networking
      • Http Tools
      • Package Managers
      • Version Control
      • Project Scaffolding
      • Snippets and Cheat sheets
      • Cloud clients
      • Docker Tools
    • Infrastucture As Code
      • Security
      • System Utils
      • Other
    • Development Runtimes
    • Gnome Extensions
    • VS Code Extensions
    • Firefox Extensions
    • Ulauncher Extensions

Graphical Applications

In this section will be listed all the Graphical Applications. A separate section with Terminal applications after.

Productivity

  • Obsidian - Obsidian is a powerful knowledge base on top of a local folder of plain text Markdown files.
  • Notejot - Jot your ideas.
  • Espanso - A Privacy-first, Cross-platform Text Expander
  • Gnome TODO - Personal task manager for GNOME.
  • Apostrophe - Edit Markdown in style
  • Gnome Calendar - Calendar application for GNOME
  • Gnome Contacts - Easy access to my Contacts List, syncted with Google Contacts.
  • Dialect - A translation app for GNOME.
  • Drawio - Create flowcharts, process diagrams, org charts, UML, ER diagrams, network diagrams and much more.
  • Libreoffice - Office suite.
  • Evince - A document viewer for the GNOME desktop.
  • Foliate - Epub Reader

Internet

  • Firefox - My primary browser.
  • Google Chrome - My secondary browser.
  • Brave Browser - Browse privately. Search privately. And ditch Big Tech.
  • Microsoft Edge
  • Dropbox - Easly share files between computers.
  • uget - Download manager
  • Connections - View and use other desktops
  • Slack - Official Slack application.
  • Discord - Free Voice and Text Chat for Gamers.
  • Fractal - Matrix group messaging app.
  • ZapZap - Unofficial WhatsApp Web Desktop client.
  • Signal Desktop - Signal Desktop client.
  • Fragments - A BitTorrent Client.
  • WebCatalog - Turn Any Websites Into Real Desktop Apps.
  • Cawbird - Cawbird is a native GTK+ twitter client that provides vital features such as Direct Messages (DMs), tweet notifications, conversation views.
  • Headlines - A GTK4/libAdwaita Reddit client designed for use with Linux phones.
  • NewsFlash - Follow your favorite blogs and news sites.

Web Apps (powered by Web Catalog)

  • TickTick
  • Google Photos
  • Excalidraw
  • Instagram
  • Feedly
  • Google Meet
  • Mermaid Editor

Graphics & Design

  • GIMP - GNU Image Manipulation Program.
  • Figma Desktop - Figma is the first interface design tool based in the browser, making it easier for teams to create software
  • Flameshot - Powerful yet simple to use screenshot software with annotation support and easy upload to Imgur.
  • Peek - Simple animated GIF screen recorder with an easy to use interface
  • Eyedropper - An easy-to-use color picker and editor
  • XnConvert - Batch Image Processing, Image Convertor, Image Resizer
  • Graphviz - Graph Visualization Software
  • Inkscape - Design tool
  • Avvie - A simple tool cropping and downsizing images. Suitable for avatars or cropping photos for use as desktop wallpapers. Convert PNG to JPG. Export in one click to your Pictures folder.
  • Yoga Image optimizer - A graphical tool to convert and optimize JPEG, PNG and WebP images
  • Drawing - Edit screenshots or memes.
  • Boxy SVG - Boxy SVG project goal is to create the best tool for editing SVG files. For beginners as well as for professional web designers and web developers. On any device and operating system.

Sound & Video

  • Spotify - Music for everyone.
  • Pitivi - Create and edit your own movies.
  • VLC - VLC is a free and open source cross-platform multimedia player and framework that plays most multimedia files as well as DVDs, Audio CDs, VCDs, and various streaming protocols.
  • Clapper - Simple and modern GNOME media player.
  • EasyTag - Audio file metadata editor.
  • Audacity - Audio editor.
  • GNOME Music - An easy way to play your music. Automatically discover music on your computer, the local network and internet services.
  • FFaudioConverter - Convert music files between multiple formats
  • Gnome Podcasts - Listen to your favorite podcasts.
  • Headset - Desktop Music Player Built on YouTube And Reddit.
  • Video Downloader - Download videos from websites like YouTube and many others.
  • Video Trimmer - Video Trimmer cuts out a fragment of a video given. the start and end timestamps. The video is never re-encoded, so the process is very fast and does not reduce the video quality.
  • Shortwave - Shortwave is an internet radio player that provides access to a station database with over 25,000 stations.
  • OBS - Open Broadcaster Software to record screencasts and streaming.
  • Kooha - Elegantly record your screen.
  • Mousai - Mousai is a simple application that can identify song similar to Shazam.

Development Tools

  • JetBrains Toolbox - Manage Your Jetbrains Tools with Ease.
    • PHPStorm - The Best PHP IDE by Jetbrains.
    • Intelij - Java and Android IDE.
    • WebStorm - General purpose Web IDE.
    • GoLand - GoLand is a cross-platform IDE built specially for Go developers.
    • DataGrip - The Cross-Platform IDE for Databases & SQL by JetBrains
  • Visual Studio Code - My text editor of choice
  • Meld - Meld is a visual diff and merge tool targeted at developers
  • GitKraken - The legendary Git GUI client for Windows, Mac and Linux.
  • Postman - Rest API Client
  • Regex Tester - A simple app for testing regular expressions.
  • DBeaver - Universal Database Manager
  • Spotlight studio - The API Design Management Platform powering the world's leading API first companies.
  • Text Pieces - Transform text without using random websites
  • Lens - The Kubernetes IDE.
  • Kube Forwarder - Easy to use Kubernetes port forwarding manager.

Utilities

  • Ulauncher - Application Launcher for Linux. A Linux alternative to Alfted
  • Tilix - A tiling terminal emulator for Linux using GTK+ 3.
  • Menulibre - Menu editor
  • Stacer - Linux System Optimizer and Monitoring
  • Restic - Automatic and continuous backup to the cloud.
  • Déjà Dup Backups - Déjà Dup is a simple backup tool. It hides the complexity of backing up the Right Way (encrypted, off-site, and regular) and uses duplicity as the backend.
  • Font Manager - Font Manager is intended to provide a way for average users to easily manage desktop fonts, without having to resort to command line tools or editing configuration files by hand.
  • Font Finder - An application for browsing and installing fonts from Google's font archive from the comfort of your Linux desktop.
  • Cryptomator - Free client-side encryption for your cloud files.
  • Grsync - Grsync is used to synchronize folders, files and make backups. It is a rsync GUI (Graphical User Interface).
  • Authy - The Twilio Authy app generates secure 2 step verification tokens on your device. It help’s you protect your account from hackers and hijackers by adding an additional layer of security.
  • Bitwarden - A secure and free password manager for all of your devices.
  • Obfuscate - Obfuscate lets you redact your private information from any image.
  • Timeshift - System restore tool for Linux. Creates filesystem snapshots using rsync+hardlinks, or BTRFS snapshots. Supports scheduled snapshots, multiple backup levels, and exclude filters. Snapshots can be restored while system is running or from Live CD/USB.
  • Fedora Media Writer
  • Boxes
  • VirtualBox - VirtualBox is a powerful x86 and AMD64/Intel64 virtualization product for enterprise as well as home use.
  • Solaar - Linux Device Manager for Logitech Unifying Receivers and Devices.
  • Blanket - Improve focus and increase your productivity by listening to different sounds.

--

Games


Themes and Icons


Fonts

Finance

  • Markets - A stock, currency and cryptocurrency tracker.

Terminal Applications

A big part of my Development life is spent on the Terminal, so having a good set of tools there is essential.

Shell configuration

I use ZSH shell with the following extras:

  • Starship - Cross-Shell Prompt
  • antidote - Antidote is a feature complete Zsh implementation of the legacy Antibody plugin manager.
  • zsh-completions - Additional completion definitions for Zsh.
  • zsh-you-should-use - ZSH plugin that reminds you to use existing aliases for commands you just typed.
  • zsh-completions - Additional completion definitions for Zsh.
  • zsh-autosuggestions - Fish-like autosuggestions for Zsh.
  • Fig Fig adds IDE-style autocomplete to your existing terminal. Move faster with Fig. (Not compatible with Linux but WIP)

File Navigation and Search

  • urbainvaes/fzf-marks - Plugin to manage bookmarks in bash and zsh
  • ranger - A VIM-inspired filemanager for the console.
  • junegunn/fzf - A command-line fuzzy finder
  • facebook/PathPicker - PathPicker accepts a wide range of input/output from git commands, grep results, searches pretty much anything.After parsing the input, PathPicker presents you with a nice UI to select which files you're interested in. After that you can open them in your favorite editor or execute arbitrary commands.
  • fd - A simple, fast and user-friendly alternative to 'find'
  • ripgrep - ripgrep recursively searches directories for a regex pattern.
  • chmln/sd - Intuitive find & replace CLI (sed alternative)]
  • b4b4r07/enhancd - A next-generation cd command with your interactive filter

Text Mainuplation

  • vim with vim-plug - Terminal based text editor.
  • bat - A cat(1) clone with wings.
  • jq - Command-line JSON processor.
  • yq - yq is a portable command-line YAML processor.
  • tablemark-cli - Generate markdown tables from JSON data at the command line.
  • pandoc - Universal markup converter
  • parse-columns-cli - Parse text columns, like the output of unix commands. Returns JSON that you can manipulate with tools like jq or underscore-cli.
  • mdless - Markdown Viewer for the CLI with highlighting and paging
  • lnav - The Log File Navigator
  • hasha-cli - hashing made simple. Get the hash of text or stdin.

Multimedia

  • jarun/imgp - Multi-core batch image resizer and rotator
  • svg/svgo - Node.js tool for optimizing SVG files
  • youtube-dl - Command-line program to download videos from YouTube.com and other video sites
  • asciinema - Record and share your terminal sessions, the right way
  • svg-term-cli - Share terminal sessions via SVG and CSS]

Networking

  • Netstat
  • iotop
  • nmap
  • get-port-cli - Get an available port
  • mitmproxy - An interactive TLS-capable intercepting HTTP proxy for penetration testers and software developers.

Http Tools

  • httpie - Modern command line HTTP client – user-friendly curl alternative with intuitive UI, JSON support, syntax highlighting, wget-like downloads, extensions, etc
  • Artillery - A modern load testing toolkit.
  • k6 - Load testing for engineering teams.

Package Managers

  • composer - Dependency Manager for PHP
  • Yarn - Modern Javascript Package manager.

Version Control

  • cli/cli - GitHub’s official command line tool
  • lab - Lab wraps Git or Hub, making it simple to clone, fork, and interact with repositories on GitLab
  • tig - Text-mode interface for git
  • git-extras - GIT utilities, repo summary, repl, changelog population, author commit percentages and more
  • arc90/git-sweep - : A command-line tool that helps you clean up Git branches that have been merged into master.
  • conventional-changelog
  • commitizen/cz-cli - The commitizen command line utility.
  • semantic-release - Fully automated version management and package publishing.
  • goreleaser/goreleaser - Deliver Go binaries as fast and easily as possible.
  • cezaraugusto/mklicense - CLI tool for generating Licenses. Easily.
  • TejasQ/add-gitignore - An interactive CLI tool that adds a .gitignore to your projects.

Project Scaffolding

  • saojs/sao - : Futuristic scaffolding tool.
  • hugo - The world’s fastest framework for building websites.
  • Vue CLI 3 - Standard Tooling for Vue.js Development.
  • nuxt/create-nuxt-app - Create Nuxt.js App in seconds.
  • vuejs/vuepress - Minimalistic Vue-powered static site generator
  • @gridsome/cli - A command line tool for creating new Gridsome projects.
  • Symfony CLI - Symfony command line tool
  • serverless/serverless - Serverless Framework – Build web, mobile and IoT applications with serverless architectures using AWS Lambda, Azure Functions, Google CloudFunctions & more!
  • readme-md-generator - CLI that generates beautiful README.md files]

Snippets and Cheat sheets

Cloud clients

  • doctl - A command line tool for DigitalOcean services.
  • Google Cloud SDK - Google Cloud SDK.
  • AWS CLI - AWS Command Line Interface.
  • Netlify Command Line Tools - Netlify’s command line tools let you deploy sites or configure continuous deployment straight from the command line.
  • Vercel CLI
  • The Heroku CLI - The Heroku Command Line Interface (CLI) makes it easy to create and manage your Heroku apps directly from the terminal. It’s an essential part of using Heroku.
  • cloudflare-cli - CLI for interacting with Cloudflare
  • firebase-tools - Firebase Command Line tools

Docker Tools

  • docker-compose - Define and run multi-container applications with Docker
  • ctop - Top-like interface for container metrics
  • dive - A tool for exploring each layer in a docker image
  • kail - kubernetes log viewer.
  • lazydocker - The lazier way to manage everything docker
  • minikube - Run Kubernetes locally
  • Kind - Kubernetes IN Docker - local clusters for testing Kubernete
  • kubectl - Kubernetes Control
  • kubectx - Fast way to switch between clusters and namespaces in kubectl
  • k9s - Kubernetes CLI To Manage Your Clusters In Style!
  • flux - Flux Command line tool.
  • helm - The package manager for Kubernetes.
  • kubeconform - A FAST Kubernetes manifests validator, with support for Custom Resources.

Infrastucture As Code

  • Terraform - Write, Plan, and Create Infrastructure as Code.
  • Ansible - Simple, agentless IT automation that anyone can use.
    • ansible/ansible-lint - Best practices checker for Ansible
    • Ansible Galaxy - Jump-start your automation project with great content from the Ansible community. Galaxy provides pre-packaged units of work known to Ansible as roles.
  • Pulumi - Modern Infrastructure as Code
  • terratest - Terratest is a Go library that makes it easier to write automated tests for your infrastructure code.
  • mozilla/sops - Simple and flexible tool for managing secrets

Security

  • pwgen - make pronounceable passwords.
  • bitwarden/cli - The command line vault (Windows, macOS, & Linux

System Utils

  • htop - htop is an interactive text-mode process viewer for Unix systems.
  • fkill-cli - Fabulously kill processes. Cross-platform.
  • trash-cli - Move files and folders to the trash.
  • tmux and tmuxp - Terminal multiplexer and session manager.
  • yadm - yadm is a tool for managing dotfiles.
  • direnv - direnv is an extension for your shell. It augments existing shells with a new feature that can load and unload environment variables depending on the current directory.
  • ncdu - Disk usage visualization from terminal.
  • glances - Glances an Eye on your system. A top/htop alternative for GNU/Linux, BSD, Mac OS and Windows operating systems.

Other

  • localtunnel/localtunnel - expose your machine to the world.
  • FiloSottile/mkcert: A simple zero-config tool to make locally trusted development certificates with any names you'd like.
  • mycli - MyCLI is a command line interface for MySQL, MariaDB, and Percona with auto-completion and syntax highlighting.
  • figlet - FIGlet is a program for making large letters out of ordinary text
  • sitespeed.io - Open source tool that helps you monitor, analyze and optimize your website speed and performance, based on performance best practices advices.
  • mermaid.cli - Generate Diagrams using Mermaid.
  • Devilspie2 - Devilspie2 is a window matching utility, allowing the user to perform scripted actions on windows as they are created. For example you can script a terminal program to always be positioned at a specific screen position, or position a window on a specific workspace
  • wmctrl - wmctrl is a command that can be used to interact with an X Window manager that is compatible with the EWMH/NetWM specification.
  • lefthook - Fast and powerful Git hooks manager for any type of projects.

Development Runtimes

  • PHP
  • NodeJS
  • Golang
  • Ruby
  • Python
  • Rust

Gnome Extensions

  • AppIndicator and KStatusNotifierItem Support - Adds AppIndicator, KStatusNotifierItem and legacy Tray icons support to the Shell.
  • Caffeine - Disable the screensaver and auto suspend
  • Clipboard Indicator - Clipboard Manager extension for Gnome-Shell - Adds a clipboard indicator to the top panel, and caches clipboard history.
  • Coverflow Alt-Tab - Replacement of Alt-Tab, iterates through windows in a cover-flow manner.
  • Emoji Selector - This extension provides a parametrable popup menu displaying most emojis, clicking on an emoji copies it to the clipboard.
  • GSConnect - KDE Connect allows devices to securely share content like notifications or files and other features like SMS messaging and remote control.
  • Always Indicator - Always show the new messages indicator on new messages. Features: 1) New message indicator is always shown if there are notifications.
  • Time ++ - A todo.txt manager, time tracker, timer, stopwatch, pomodoro, and alarm clock
  • Vitals - A glimpse into your computer's temperature, voltage, fan speed, memory usage, processor load, system resources, speed and storage stats.
  • pop-os/shell: Pop!_OS Shell - Pop Shell is a keyboard-driven layer for GNOME Shell which allows for quick and sensible navigation and management of windows.
  • Auto Move Windows - Move applications to specific workspaces when they create windows.
  • Status Area Horizontal Spacing
  • Cast to TV - Cast files to Chromecast, web browser or media player app over local network.
  • VSCode Search Provider - Provide recent VSCode projects as search results in overview
  • Proxy Profiles - Swich easily between several proxy profiles.
  • Easy Docker Containers - A GNOME Shell extension (GNOME Panel applet) to be able to generally control your available Docker containers.
  • Dash to Panel - An icon taskbar for the Gnome Shell.
  • Sound Input & Output Device Chooser - Shows a list of sound output and input devices (similar to gnome sound settings) in the status menu below the volume slider.
  • Mpris Indicator Button - A full featured MPRIS indicator.

VS Code Extensions

  • 42Crunch.vscode-openapi
  • adamhartford.vscode-base64
  • adrianwilczynski.alpine-js-intellisense
  • akamud.vscode-caniuse
  • AlanWalk.markdown-toc
  • alefragnani.project-manager
  • alexkrechik.cucumberautocomplete
  • andischerer.theme-atom-one-dark
  • anseki.vscode-color
  • axetroy.vscode-comment-autocomplete
  • be5invis.toml
  • benjaminromano.typings-installer
  • bradlc.vscode-tailwindcss
  • brpaz.contextual-snips
  • Cacher.cacher-vscode
  • capaj.vscode-exports-autocomplete
  • christian-kohler.npm-intellisense
  • codezombiech.gitignore
  • CoenraadS.bracket-pair-colorizer
  • cssho.vscode-svgviewer
  • dbaeumer.vscode-eslint
  • dinhani.divider
  • DotJoshJohnson.xml
  • eamodio.gitlens
  • EditorConfig.EditorConfig
  • eg2.vscode-npm-script
  • emilast.LogFileHighlighter
  • ericadamski.carbon-now-sh
  • eriklynd.json-tools
  • esbenp.prettier-vscode
  • fauna.faunadb
  • felixfbecker.php-debug
  • GitHub.vscode-pull-request-github
  • GitLab.gitlab-workflow
  • golang.go
  • haaaad.ansible
  • hashicorp.terraform
  • idleberg.badges
  • idleberg.icon-fonts
  • ipedrazas.kubernetes-snippets
  • JakeWilson.vscode-placeholder-images
  • jcmordan.mark-as-excluded
  • jgsqware.gitlab-ci-templates
  • johnpapa.vscode-peacock
  • mads-hartmann.bash-ide-vscode
  • marclipovsky.string-manipulation
  • MattiasPernhult.vscode-todo
  • michelemelluso.gitignore
  • mikestead.dotenv
  • milovidov.escape-quotes
  • mindginative.terraform-snippets
  • ms-azuretools.vscode-docker
  • ms-kubernetes-tools.vscode-kubernetes-tools
  • ms-python.python
  • ms-toolsai.jupyter
  • msjsdiag.debugger-for-chrome
  • nickdemayo.vscode-json-editor
  • octref.vetur
  • octref.vscode-json-transform
  • Orta.vscode-jest
  • pflannery.vscode-versionlens
  • qinjia.view-in-browser
  • quicktype.quicktype
  • rebornix.ruby
  • redhat.vscode-yaml
  • richie5um2.vscode-sort-json
  • rpinski.shebang-snippets
  • rubbersheep.gi
  • rust-lang.rust
  • ryanolsonx.snippet-creator
  • ryu1kn.annotator
  • sdras.vue-vscode-snippets
  • Shan.code-settings-sync
  • shanoor.vscode-nginx
  • Sophisticode.php-formatter
  • sourcegraph.sourcegraph
  • stylelint.vscode-stylelint
  • thomas-baumgaertner.vcl
  • Tim-Koehler.helm-intellisense
  • toiroakr.stringified-json-editor
  • tsandall.opa
  • Tyriar.lorem-ipsum
  • ultram4rine.vscode-choosealicense
  • vscoss.vscode-ansible
  • whatwedo.twig
  • wholroyd.jinja
  • wingrunr21.vscode-ruby
  • wix.vscode-import-cost
  • wmontalvo.vsc-meta-snippet
  • xyz.local-history
  • yzhang.markdown-all-in-one
  • zhuangtongfa.material-theme
  • Zignd.html-css-class-completion

Firefox Extensions

  • Add to Feedly Plus — quasiyoke
  • Auto Tab Discard :: add0n.com
  • Bitwarden
  • Brotab
  • CSS Scan
  • Web Developer - The Web Developer extension adds various web developer tools to the browser.
  • Enchancer For Youtube - Take control of YouTube and boost your user experience!
  • I Don´t care about cookies - Get rid of cookie warnings from almost all websites!
  • Memex - Remember Everything You Read Online.
  • Raindrop - All-in-one bookmark manager
  • uBlock Origin - Finally, an efficient wide-spectrum content blocker. Easy on CPU and memory.
  • Undo Close Tab - Allows you to restore the tab you just closed with a single click—plus it can offer a list of recently closed tabs within a convenient context menu.
  • Markdown Web Clipper - This extension works like a web clipper, but it downloads articles in a markdown format. Turndown and Readability.js are used as core libraries. It is not guaranteed to work with all websites.
  • Grammarly - Improve your writing with Grammarly's communication assistance. Spell check, grammar check, and punctuation check in one tool.
  • Copy as Markdown - Copy Links, Tabs & Images as Markdown via right clicks
  • Coil - Support websites and creators with Web Monetization.
  • Vue Dev Tools - DevTools extension for debugging Vue.js applications.
  • Firemonkey - Super Lightweight User Script and Style Manager.
  • Google Lighthouse - Lighthouse is an open-source, automated tool for improving the performance, quality, and correctness of your web apps.
  • EditThisCookie - EditThisCookie is a cookie manager. You can add, delete, edit, search, protect and block cookies!
  • Smart HTTPS - This extension automatically changes HTTP web addresses to the secure HTTPS, whenever possible.
  • JSON Light - Fast JSON viewer - highlights, shows items count/size, handles large files.
  • WhatFont - A wrapper for Chengyin Liu's WhatFont tool
  • Whappalyzer - Identify technologies on websites.
  • VideoDownloaderHelper - The easy way to download and convert Web videos from hundreds of YouTube-like sites.
  • zvizvi/GitHub-Web-IDE - Open GitHub repositories in online web IDE.
  • User Agent switcher
  • Fake Data - Fill form fields on the fly with fake random data.

Ulauncher Extensions