Skip to content

mattmc3/themepak.fish

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

themepack.fish

Popular Fish color schemes

Description

In its 3.4 release, The Fish shell defined a new way of handling themes. Setting themes has always been available via the fish_config web interface, but now there is a robust command line interface as well as the ability to easily define your own themes with .theme files. Many great Fish theme plugins have taken awhile to catch up to this new method. This Theme Pack pulls together some of the best Fish themes into one place and gives you acceess to all the goodies that come now with using .theme files.

Setting up themes this way gives support for [the built-in theme configuration commands](fish_config].

fish_config theme (choose | demo | dump | list | save | show)

themepak.fish is not meant to house every theme. Its intent is to expand the selection of themes you already get with Fish by including additional high-quality themes. This theme pack is designed to co-exist with other properly constructed theme plugins without having to uninstall it to try a new theme.

Installation

The recommended way to install themepack.fish is with Fisher, the popular Fish plugin manager.

fisher install mattmc3/themepack.fish

Theme seletion

Once you have installed themepack.fish, you should see the new themes when you run the fish_config web interface. You can also select the theme via the command line interface (CLI).

fish_config theme choose gruvbox

If you don't see the themes when you run fish_config make sure you have XDG_CONFIG_HOME properly set and exported.

set -Ux XDG_CONFIG_HOME $HOME/.config

Conventions

My preference would be that theme authors host their own themes rather than pulling theme into a single theme pack. However, the current state of Fish themes is pretty rough, and many of the theme plugins available today are just not set up well. The addition of .theme files to Fish gives us a chance to rectify that. As such, I'd like to pose a simple set of Fish theme conventions.

Fish Theme Plugin Conventions

A proper Fish theme plugin meets these simple criteria. The theme:

  • is color scheme only (no prompts)
  • is defined using Fish .theme files and works with fish_config
  • can co-exist with other themes (ie: NO only-set-this-theme scripts in conf.d)
  • is maintained, and defines nearly all modern Fish color variables
  • is properly installable with a theme-aware plugin manager (eg: Fisher)
  • is properly labeled for discoverability (ie: using GitHub's fish-theme topic)

Adding themepack.fish themes

If you have a popular theme that you think should be included in this theme pack, feel free to open an issue.

In an effort to not bloat this project with too many themes, only a limited number of well-known, popular themes (with a permissive open source license) will be accepted. Also, most themes will not be included if they already exist as a stand-alone plugin meeting all the Fish Theme Plugin Conventions. However, this project will maintain a list of those themes.

Discover great Fish themes

Themes included in themepack.fish:

Other great themes

Themes included with Fish

Releases

No releases published

Packages

No packages published