Skip to content

🎨 A curated list of awesome themes, tools and apps for customizing the Linux environment.

License

Notifications You must be signed in to change notification settings

avtzis/awesome-linux-ricing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation


Awesome Linux Ricing

Carefully curated list of awesome Linux customization resources

Awesome Badage

InstallationΒ Β β€’Β  ContributionΒ Β β€’Β  LicenseΒ Β β€’Β  Code of Conduct


Description

This meticulously curated list is designed to assist users in personalizing their Linux desktop, a practice often referred to as 'ricing'. This resource compiles a carefully selected list of themes, tools, and customization options, offering users a comprehensive starting point for customizing their computers. Whether you seek common themes and tools or have specific preferences in mind, this repository provides a structured approach to explore and tailor your Linux desktop to your liking.

Contents


Window Manager

Window Manager (WM) vs Desktop Environment (DE)

A WM is a software that manages the windows on your screen. It controls the placement and appearance of windows, and provides basic functionality like window resizing and moving.

A DE is a collection of software that provides a complete desktop experience. It includes the window manager, along with a file manager, a bar/panel, and other apps, tools and utilities.

DEs usually provide a more integrated and user-friendly experience, while WMs are more lightweight and customizable, requiring you to manually configure and install additional software to get the same functionality as a DE, but with more control over the look and feel of your desktop.


Stacking vs Tiling vs Dynamic WMs
  • Stacking WMs are traditional window managers that place windows on top of each other (like MS Windows). They allow you to move and resize windows freely, but they can be cluttered and hard to manage with many windows open.
  • Tiling WMs automatically arrange windows in a non-overlapping layout. They are efficient and help you make the most of your screen space, but they can be less flexible than stacking WMs.
  • Dynamic WMs combine the best of both worlds. They allow you to switch between tiling and stacking layouts, giving you the flexibility to choose the best layout for your workflow.

X11 vs Wayland

X11 is the traditional display server protocol used in Linux. It is mature and stable, but it has some limitations in terms of security and performance.

Wayland is a newer display server protocol that aims to address the limitations of X11. It is more secure and efficient, allowing for better performance, smoother animations, touch gestures, etc. However, it is still under development, and usually Nvidia GPUs have issues with it.

All applications with a GUI (as well as WMs) are run under a display server and are usually developed for a specific display server protocol, meaning you can't run a Wayland app on X11, or vice versa. However, it is possible to use a compatibility layer like XWayland to run X11 apps on Wayland.


Stacking

  • GNOMEX11 + Wayland - A modern desktop environment that aims to be simple and easy to use.
  • KDEX11 + Wayland - A feature-rich and versatile desktop environment.
  • XFCEX11 - A lightweight desktop environment. It aims to be fast and low on system resources, while still being visually appealing and user-friendly.
  • OpenboxX11 - A highly configurable next generation window manager with extensive standards support.

Tiling

  • bspwmX11 - A tiling window manager that represents windows as the leaves of a full binary tree.
  • i3X11 - A tiling window manager for X11.
  • swayWayland - Ξ‘ tiling Wayland compositor and a drop-in replacement for the i3 window manager for X11.
  • herbstluftwmX11 - A manual tiling window manager for X.

Dynamic

  • Ξ—yprlandWayland - Ξ‘ highly customizable dynamic tiling Wayland compositor that doesn't sacrifice on its looks.
  • awesomeX11 - A highly configurable, next generation framework window manager for X.
  • QTileX11 + Wayland - A full-featured, hackable tiling window manager.
  • XMonadX11 - Ξ‘ small but functional ICCCM-compliant tiling window manager.
  • dwmX11 - Ξ‘ dynamic window manager for X. It manages windows in tiled, monocle and floating layouts.
  • riverWayland - Ξ‘ dynamic tiling Wayland compositor with flexible runtime configuration.
  • ragnarX11 - Minimal, flexible & user-friendly X tiling window manager.

Color Scheme

What are color schemes Color schemes in ricing are a set of carefully selected colors used to create a theme. You can pick and use a specific theme you like to customize the colors of all your configurable apps (i.e WM, bar, terminal, browser, etc...), in order to achieve a consistent look and feel across your desktop.

  • Catppuccin - Soothing pastel theme for the high-spirited.
  • Gruvbox - Retro groove color scheme.
  • Nord - Arctic, north-bluish color palette.
  • Everforest - Comfortable and pleasant green forest color scheme.
  • Dracula - Dark spooky theme.
  • RosΓ© Pine - All natural pine, faux fur and a bit of soho vibes for the classy minimalist.
  • Tokyo Night - Clean, dark theme that celebrates the lights of Tokyo at night.
  • Sweet - Colorful candy theme.
  • Kanagawa - Dark color scheme inspired by the famous painting.
  • BlackLotus - Dark, dim, blue, purple... beautiful.
  • Whale - Dark theme inspired by Ark and Nord.
  • Everblush - Dark, vibrant and beautiful Colorscheme.
  • Shades of purple - Sweet purple theme.
  • opulo - Colorscheme for absolute nerds.
  • camellia - Dark yet vibrant color scheme.

Utilities

  • pywall - Generate and change color-schemes according to your wallpaper.
  • wpgtk - A colorscheme, wallpaper and template manager.

Wallpapers

Some great GitHub repos with wallpaper collections by:

Utilities

  • swwwWayland - Efficient animated wallpaper daemon for wayland, controlled at runtime.
  • mpvpaperWayland - A video wallpaper program for wlroots based wayland compositors.
  • swaybgWayland - Wallpaper tool for Wayland compositors
  • hyprpaperWayland - A fast Wayland wallpaper utility with IPC controls.

Font

Sans vs Serif vs Mono
  • Serif fonts have decorative lines or strokes at the ends of the letters. They are often used for body text in printed materials.
  • Sans-serif fonts are modern and clean, without the decorative flourishes of serif fonts. They are often used for headings and titles.
  • Monospace fonts have equal spacing between characters, making them ideal for coding, editors and terminals.

Sans and Mono are the ones usually used for ricing, as they are more readable and modern.


What are ligatures

Ligatures are special characters that combine two or more letters into a single glyph. They are used to improve the appearance and readability of text, especially in code and terminal applications.

Example:


Sans Fonts

  • Google Sansligatures - Google's custom and versatile sans-serif font.
  • Open Sans - The peace and love issue.
  • Roboto - The Android font.
  • Ubuntu - The Ubuntu font.
  • DejaVu - Font family based on Bitstream Vera.

Monospace Fonts

  • JetBrains Monoligatures - Ξ€ypeface made for developers.
  • FiraCodeligatures - Monospaced font with programming ligatures.
  • Cascadia Codeligatures - Fun font designed to enchance the modern look and feel of the *** Terminal.
  • Iosevkaligatures - Versatile typeface for code, from code.
  • Victor Monoligatures - Free programming font with cursive italics and ligatures.
  • DejaVuCode - Monospaced font with programming ligatures based on DejaVu Sans Mono.
  • Gohufont - Monospace bitmap font.
  • Operator-caskaligatures - Font with ligature and cursive support, combination of both CaskaydiaCove Nerd Font and Operator Mono.
  • monoidligatures - Customisable coding font with alternates, ligatures and contextual positioning.
  • Haskligligatures - Code font with monospaced ligatures.

Nerd Fonts

What are the Nerd Fonts

Nerd Fonts are patched fonts that contain additional glyphs, icons, and ligatures. These fonts are designed to be used in terminals and code editors, providing a more visually appealing and functional experience. Nerd Fonts are compatible with most of the font families.


Tip

In order to make use of glyphs, you should at least have one nerd font installed on your system. Setting your default font as a nerd font is usually not required, as it may show glyphs smaller than they are supposed to be. However, you may need to include a nerd font family along with your default font, when configuring fonts for an application, in order to display the glyphs properly.

Bar

What is bar

A bar is a graphical element usually used to display information about your system, such as the time, date, battery status, volume, etc, like the "Task Bar" in Windows and the "Menu Bar" in MacOS. It is usually placed at the top or bottom of the screen, and can be customized to show the information you want in the style you prefer.


  • PolybarX11 - Fast and easy-to-use status bar.
  • WaybarWayland - Highly customizable Wayland bar.
  • EwwX11 + Wayland - ElKowars wacky widgets.
  • agsX11 + Wayland - Very customizable and extensible shell.
  • lemonbarX11 - Featherweight, lemon-scented, bar based on xcb.
  • gBarWayland - Blazingly fast status bar written with GTK.
  • fabricX11 + Wayland - Next-gen framework for building desktop widgets using Python.

Note

Some of these tools can also be used to create widgets and other UI elements, not just bars.

Cursor

  • Bibata - Open source, compact, and material designed cursor set.
  • BreezeX - Extended KDE cursor.
  • Qogir - Cursor inspired by Qogir icon theme.
  • Apple - Cursor inspired by Apple's macOS.
  • Fuchsia - Cursor inspired by Google's FuchsiaOS.

Utilities

  • hyprcursor - The hyprland cursor format, library and utilities.

Icons

  • Candy - Sweet gradient icons.
  • Papirus - Pixel perfect icon theme.
  • Tela - Flat colorful Design icon theme.
  • BeautyLine - Outlined icons designed to have unified look and comprehensive coverage.
  • Flat Remix - Icon theme inspired by material design.
  • Qogir - Colorful design icon theme.
  • Colloid - Icon theme with a colorful and playful design.

Application Launcher

What is an application launcher

An application launcher is a tool that provides you a graphical interface to quickly search for and launch applications on your system. It provides a convenient way to access your favorite apps without having to navigate through menus or desktop icons. Application launchers can also be used to search for files, folders, and other resources on your system. Most of these app launchers are very customizable.


  • RofiX11 + Wayland - Window switcher, application launcher and dmenu replacement.
    • custom confs - Huge collection of Rofi based custom Applets, Launchers & Powermenus by adi1090x
    • rofi-wifi-menu - Bash script using nmcli and rofi to make a wifi menu.
  • wofiWayland - Launcher/menu program for wlroots based wayland compositors.
  • tofiWayland - Tiny dynamic menu for Wayland.
  • UlauncherX11 + Wayland - Feature rich application Launcher.
  • AnyrunWayland - Wayland native, highly customizable runner.
  • GauntletX11 - Raycast-inspired open-source application launcher with React-based plugins.
  • fuzzelWayland - Application launcher for wlroots based Wayland compositors, similar to rofi's drun mode.

Notifications Daemon

What is a notification daemon

A notification daemon is a software component that provides a way for applications to display notifications to the user. It manages the display of notifications on the screen, including their appearance, duration, and behavior.


  • DunstX11 + Wayland - Lightweight and customizable notification daemon.
  • SwayNCWayland - Simple notification daemon with a GTK gui for notifications and the control center.
  • makoWayland - Lightweight Wayland notification daemon.

Widgets

  • conky - Light-weight system monitor.
  • GLava -OpenGL audio spectrum visualizer.
  • Kando - The Cross-Platform Pie Menu.
  • wallpaper-cava - Display cava on top of your wallpaper.

Logout Menu

  • wlogoutWayland - Wayland based logout menu
  • rofiX11 + Wayland - Window switcher, application launcher and dmenu replacement. Can be used to create logout menu.

Screen Lock

  • i3lockX11 - Improved screen locker.
  • swaylockWayland - Screen locker for Wayland.
  • hyprlockWayland - Hyprland's GPU-accelerated screen locking utility

Terminal

Emulator

Shell

Prompt

Multiplexer

Apps and Tools

Fetch

Fancies

Terminal Visuals

  • pipes.sh - Animated pipes terminal screensaver.
  • cbonsai - Grow bonsai trees in your terminal.
  • Shell Color Scripts - A collection of terminal color scripts.
  • Asciiquarium - Enjoy the mysteries of the sea from the safety of your own terminal!
  • ascii-rain - Ncurses rain effect.
  • Nyancat - Nyancat in your terminal, rendered through ANSI escape sequences.
  • SL - SL(1): Cure your bad habit of mistyping.
  • arttime - text art with functionality of clock / timer / pattern-based time manager.
  • sortty - Sorting algorithms in the terminal.

Clock

  • tty-clock - Clock using lib ncurses.
  • Peaclock - A responsive and customizable clock for the terminal.

Audio Visualizer

  • CAVA - Cross-platform Audio Visualizer.
  • Musializer - Music Visualizer.
  • ReVidia - A highly customizable real time audio visualizer.
  • ReCidia - A highly customizable real time audio visualizer on Linux.

Matrix

  • CMatrix - Terminal based "The Matrix" like implementation.
  • neo - Simulates the digital rain from "The Matrix".
  • unimatrix - Python script to simulate the display from "The Matrix" in terminal.

Character Play

  • cowsay - A configurable talking cow.
  • lovesay - Cowsay, but full of love.
  • ponysay - Pony rewrite of cowsay.
  • boxes - Command line ASCII boxes unlimited!
  • fortune - Random poignant, inspirational, silly or snide phrases.

Pokemon-Themed

  • pokemon-colorscripts - CLI utility to print out images of pokemon to terminal.
  • pokeget-rs - A bash script you can use to display cool sprites of pokemon in your terminal.
  • pokeshell - A featureful shell program to show pokemon sprites in the terminal.
  • krabby - Print pokemon sprites in your terminal.
  • Poketex - Simple Pokedex based on TUI.

Text and Fonts

  • FIGlet - Claudio's FIGlet tree.
  • toilet - The Other Implementation of figLET.
  • lolcat - Rainbows and unicorns!
  • lolcrab - Like lolcat but with noise and more colorful.

UI Apps/Tools

Web Browser

File Manager

Image Viewer

Music Player

Video Streamer

Document Reader

Text Editor

Archive Manager

Email

Calculator

Notes

Workstation - Content Creation

Gaming

App Theming

Firefox

Spotify

  • Spicetify - Powerful CLI tool to take control of the Spotify client.
    • spicetify-themes - The official Spicetify themes repository.
    • comfy - Stay comfy while listening to music.
    • fluent - Spicetify theme inspired by Microsoft's Fluent Design.
    • catppuccin - Soothing pastel theme for Spotify.
    • bloom - Powerful theme to calm your eyes while listening to your favorite beats.
    • nord - Nord themed Spotify.
    • dribbblish-dynamic - Mod of Dribbblish theme for Spicetify.
    • lucid - Dynamic, Highly Customizable Spicetify theme inspired by Bloom and Microsoft Fluent Design.

Discord

VSCode

Display Manager

GRUB

What is GRUB GRUB (GRand Unified Bootloader) is a versatile bootloader commonly used in Linux distributions. It's the software that you first see when your computer starts, allowing you to select which operating system or kernel to boot into. GRUB is very customizable and there is plenty of creative themes made by users.

  • grub2-themes - Modern design GRUB theme collection.
  • Matter - Customizable GRUB theme inspired by Material Design.
  • Dark Matter - Dark Matter GRUB Theme.
  • Tartarus - Basic grub theme with material gruvbox style.
  • Dracula - Dracula GRUB theme.
  • Tokyo Night - GRUB theme using Tokyo Night color scheme based on Dracula GRUB.
  • Poly dark - Poly dark GRUB theme.
  • Minegrub - GRUB theme in Minecraft style.
  • steam-big-picture - Steam Big Picture inspired GRUB theme.

Tip

To install a theme, follow the instructions provided in the respective theme's repo.


Installation

The majority of these items are linked to their corresponding repositories. Please endeavor to find installation instructions within these repositories. Additionally, it's strongly advisable to explore your distribution's package manager to see if a pre-packaged solution is available. PROTIP: It's best to refrain from using the "download" button on Linux.

Contribution

Any helpful contribution is welcome, especially for original content!