Skip to main content

eza-themes-picker - Command line tool to select and activate themes from the eza-themes project

PyPi

eza-themes-picker is a command line utility to select and activate eza themes from the eza-themes project.

Run it on the command line in a terminal and it presents a list of eza themes:

$ eza-themes-picker
 1: black
 2: catppuccin-frappe
 3: catppuccin-latte
 4: catppuccin-macchiato
 5: catppuccin-mocha
 6: default              (active)
 7: dracula
 8: frosty
 9: gruvbox-dark
10: gruvbox-light
11: one_dark
12: rose-pine-dawn
13: rose-pine-moon
14: rose-pine
15: solarized-dark
16: tokyonight
17: white
Select a theme by number (or <CR>=quit, n=next, p=prev): 

Press a number, e.g. 16 to change from default to tokyonight:

 1: black
 2: catppuccin-frappe
 3: catppuccin-latte
 4: catppuccin-macchiato
 5: catppuccin-mocha
 6: default
 7: dracula
 8: frosty
 9: gruvbox-dark
10: gruvbox-light
11: one_dark
12: rose-pine-dawn
13: rose-pine-moon
14: rose-pine
15: solarized-dark
16: tokyonight           (active)
17: white
Select a theme by number (or <CR>=quit, n=next, p=prev): 

The selected theme is now active and the program loops for further theme selection so you can easily try out different eza themes, e.g. by running eza in an adjacent terminal window. Press <CR> to quit after you have tried various themes and are happy with your final selection. The selected theme will remain active until you change it again.

This tool has been developed and tested on Linux but should work on other platforms.

The latest version and documentation is available at https://github.com/bulletmark/eza-themes-picker.

Installation

The easiest way to install and run eza-themes-picker is via uvx. Ensure uv is installed on your system and then run:

$ uvx eza-themes-picker

Of course eza-themes-picker is available from PyPi so you can alternately choose to install it formally using uv tool or pipx or pipxu if you prefer a traditional installation.

Initial Setup

So that this tool knows where eza theme source files are located on your system, you first need to symlink a theme as per the instructions for the eza-themes project.

You only need to do this once. After that, you just run eza-themes-picker anytime to select and change/activate eza themes.

Alternately, you can just run eza-themes-picker <theme-dir> to specify the theme source files directory explicitly as an argument, for first time usage, and eza-themes-picker will create the necessary symlink for you. Again, you only need to do this once and after that you can just run eza-themes-picker anytime to select and change/activate eza themes.

I.e. to install eza-themes from github and enable + start eza-themes-picker selection, do the following:

$ git clone https://github.com/eza-community/eza-themes.git
$ eza-themes-picker eza-themes/themes

Command Line Options

Type eza-themes-picker -h to view the usage summary:

usage: eza-themes-picker [-h] [-1] [-d] [themes_dir]

Command line tool to select and activate eza themes from the community eza-
themes project at https://github.com/eza-community/eza-themes.

positional arguments:
  themes_dir    Optionally specify theme source directory location for first
                time usage

options:
  -h, --help    show this help message and exit
  -1, --once    just prompt for a single theme selection and then exit
                (instead of looping until <CR>)
  -d, --delete  just delete any current theme symlink and exit

Note you can set default starting options in ~/.config/eza-themes-picker-
flags.conf.

Command Default Options

You can add default options to a personal configuration file ~/.config/eza-themes-picker-flags.conf (depending on your platform). If that file exists then each line of options will be concatenated and automatically prepended to your eza-themes-picker command line arguments. Comments in the file (i.e. lines starting with a #) are ignored. Type eza-themes-picker -h to see all supported options.

You can use this to set --once as a default option if you prefer to always just select a single theme and immediately exit, and/or if you want to always specify the themes_dir directory.

License

Copyright (C) 2026 Mark Blakeney. This program is distributed under the terms of the GNU General Public License. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License at https://www.gnu.org/licenses/gpl-3.0.html for more details.

Metadata

Release files for eza-themes-picker 1.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for eza-themes-picker 1.5
File Size Uploaded
eza_themes_picker-1.5.tar.gz 5.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for eza-themes-picker 1.5
File Interpreter ABI Platform
eza_themes_picker-1.5-py3-none-any.whl Python 3 none any Details

Total release size: 11.5 kB

Release files / eza_themes_picker-1.5.tar.gz

Download URL eza_themes_picker-1.5.tar.gz
Size 5.8 kB
Tags Source
SHA-256 checksum
How to use checksums
f239c1da30aa5c1266806ff3b61e931ae5831b68c9f97695aa5c6c2ed7421f84
BLAKE2b-256 checksum
How to use checksums
2664f6b307fbfc7c24a524ac9553466d0354ef0908b8e553c74337b626d50a4b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.15 {"installer":{"name":"uv","version":"0.12.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / eza_themes_picker-1.5-py3-none-any.whl

Download URL eza_themes_picker-1.5-py3-none-any.whl
Size 5.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
92285132d0c8609f8c5be8f4a7aaa60e4c47dd7356e4bb9585b32fb8643619f1
BLAKE2b-256 checksum
How to use checksums
448c5446d2c155e651aeaea10eb6b6439457b1b9757a38f1df65680d1a562303
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.15 {"installer":{"name":"uv","version":"0.12.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

1.5 This release

2 release files

1.4

2 release files

1.3

2 release files

1.2

2 release files

1.1

2 release files

1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page