Skip to content

Framework for managing your fish shell configuration inspired by Oh My ZSH.

License

Notifications You must be signed in to change notification settings

jgeromero/oh-my-fish

 
 

Repository files navigation

About | Installation | Usage | Contribute | Uninstall | License

Build Status ![](https://img.shields.io/badge/Framework-Oh My Fish-blue.svg?style=flat) Join the chat at https://gitter.im/bpinto/oh-my-fish

Oh My Fish!

Why?

Developing on a shell should be a pleasure. Our goal is to help developers that do not want to spend time configuring their own computer to spend time doing what they want.

How?

With the power of our community, we take the already awesome fish shell to another level by creating simple-to-use plugins and themes.

What?

Oh-my-fish is a user-friendly framework for managing your fish-shell configuration. It includes optional plugins (brew, git-flow, rails, python, node, etc) and themes.


## Installation

Oh-my-fish is built for recent versions of the fish shell, namely "fish 2.0".

curl -L https://github.com/bpinto/oh-my-fish/raw/master/tools/install.fish | fish

NOTE: The installation script renames your existing config.fish to config.orig, and replaces it with the default oh-my-fish config. If you have existing customizations to your fish config, you will need to manually include those customizations after the install.

If you want to install it manually, keep reading.

Usage

Enabling a new plugin or theme is as easy as it should be. Open your fish configuration file ~/.config/fish/config.fish and specify the theme and the plugins you want to use.

As an example, to enable rails and git-flow plugins add this line set fish_plugins git-flow rails to your configuration file.

Before setting down on a theme, you might want to have a go with all themes using our quick theme switcher by typing theme --help on your shell.

Customization

If you have many functions which go well together, you can create custom plugin in the custom/plugins/PLUGIN_NAME directory and add to it as many functions as you want.

If you would like to override the functionality of a plugin distributed with oh-my-fish, create a plugin of the same name in the custom/plugins/ directory and it will be loaded instead of the one shipped with oh-my-fish.

If you would like to use your custom theme, move it with the same name in the custom/themes/ directory and it will override the original theme in themes/.

If you just want to override any of the default behavior or add some environment variables, just add a new file (ending in .load) into the custom/ directory.

Send us your theme!

We are hoping to collect a bunch of themes for our command prompts. You can see existing ones in the themes directory.

Note: Theme authors, make sure to include a screenshot in your pull request.

Manual installation

  1. Clone the repository

    git clone git://github.com/bpinto/oh-my-fish.git ~/.oh-my-fish
  2. Create a new fish config by copying the fish template we've provided.

    cp ~/.oh-my-fish/templates/config.fish ~/.config/fish/config.fish
  3. Start / restart fish (just open a new terminal)

Uninstall

rm -rf ~/.oh-my-fish

License

MIT © Contributors

Logo by marcker🔹 Attribution CC 4.0

About

Framework for managing your fish shell configuration inspired by Oh My ZSH.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 97.7%
  • Python 2.3%