2015-09-05 23:45:24 +08:00
< img src = "docs/logo.png" align = "left" width = "192px" height = "192px" / >
< img src = "" align = "left" width = "0" height = "192px" hspace = "10" / >
2015-08-27 01:04:34 +08:00
2015-09-05 23:45:24 +08:00
> The <a href="http://fishshell.com">Fishshell</a> Framework
2015-08-26 23:20:13 +08:00
2015-09-05 23:45:24 +08:00
[![MIT License ](https://img.shields.io/badge/license-MIT-007EC7.svg?style=flat-square )](/LICENSE.md) [![Fish Shell Version ](https://img.shields.io/badge/fish-v2.2.0-007EC7.svg?style=flat-square )](http://fishshell.com) [![Travis Build Status ](http://img.shields.io/travis/oh-my-fish/oh-my-fish.svg?style=flat-square )](https://travis-ci.org/oh-my-fish/oh-my-fish) [![Travis Build Status ](https://img.shields.io/badge/gitter-join_chat-brightgreen.svg?style=flat-square )](https://gitter.im/oh-my-fish/oh-my-fish?utm_source=badge& utm_medium=badge& utm_campaign=pr-badge& utm_content=badge)
2015-08-26 23:20:13 +08:00
2015-09-05 23:45:24 +08:00
Oh My Fish provides core infrastructure to allow you to install packages which extend or modify the look of your shell. It's fast, extensible and easy to use.
2015-08-27 00:49:23 +08:00
2015-09-05 23:45:24 +08:00
< br > < br >
2013-05-17 21:05:41 +08:00
2015-08-26 23:20:13 +08:00
# Install
2013-05-17 21:05:41 +08:00
2015-08-27 01:04:34 +08:00
```fish
2015-09-04 02:35:19 +08:00
curl -L github.com/oh-my-fish/oh-my-fish/raw/master/bin/install | sh
2015-08-26 23:20:13 +08:00
omf help
```
2013-05-17 21:05:41 +08:00
2015-08-26 23:20:13 +08:00
Or _download_ and run it yourself:
2015-08-27 01:04:34 +08:00
```fish
2015-09-04 02:35:19 +08:00
curl -L github.com/oh-my-fish/oh-my-fish/raw/master/bin/install > install
2015-08-26 23:20:13 +08:00
chmod +x install
./install
```
# :beginner: Getting Started
Oh My Fish includes a small utility `omf` to fetch and install new packages and themes.
## `omf update`
Update framework and installed packages.
2015-08-30 12:39:42 +08:00
## `omf install` _`[package|url ...]`_
2015-08-26 23:20:13 +08:00
2015-08-30 12:39:42 +08:00
Install one _or more_ packages.
2015-08-26 23:20:13 +08:00
2015-08-30 12:39:42 +08:00
- You can install packages directly by URL via `omf install URL`
- When called without arguments, install missing packages from [bundles ](#dotfiles ).
2015-08-26 23:20:13 +08:00
## `omf list`
List installed packages.
2015-08-27 02:06:37 +08:00
## `omf theme` _`<theme>`_
2015-08-26 23:20:13 +08:00
2015-08-27 02:06:37 +08:00
Apply a theme. To list available themes type `omf theme` .
2015-08-26 23:20:13 +08:00
## `omf remove` _`<name>`_
Remove a theme or package.
> Packages subscribed to `uninstall_<pkg>` events are notified before the package is removed to allow custom cleanup of resources. See [Uninstall](#uninstall).
## `omf new pkg | theme` _`<name>`_
Scaffold out a new package or theme.
2015-08-28 01:56:01 +08:00
> This creates a new directory under `$OMF_CONFIG/{pkg | themes}/` with a template.
2015-08-26 23:20:13 +08:00
## `omf submit` _`pkg/<name>`_ _`[<url>]`_
Add a new package. To add a theme use `omf submit` _`themes/<name>`_ _`<url>`_ .
Make sure to [send us a PR][omf-pulls-link] to update the registry.
## `omf query` _`<variable name>`_
Use to inspect all session variables. Useful to dump _path_ variables like `$fish_function_path` , `$fish_complete_path` , `$PATH` , etc.
## `omf destroy`
Uninstall Oh My Fish. See [uninstall ](#uninstall ) for more information.
# :triangular_flag_on_post: Advanced
+ [Startup ](#startup )
2015-08-30 12:40:15 +08:00
+ [Dotfiles ](#dotfiles )
2015-08-26 23:20:13 +08:00
+ [Core Library ](#core-library )
## Startup
2015-08-28 01:56:01 +08:00
This script runs each time a new session begins, autoloading packages, themes and your _config_ path in that order.
2015-08-26 23:20:13 +08:00
2015-08-28 18:59:16 +08:00
The _config_ path (`~/.config/omf` by default) is defined by `$OMF_CONFIG` in `~/.config/fish/config.fish` . Modify this to load your own configuration, if you have any, as discussed in the [FAQ ](FAQ.md#what-does-oh-my-fish-do-exactly ).
2015-08-26 23:20:13 +08:00
2015-08-30 12:40:15 +08:00
## Dotfiles
The `$OMF_CONFIG` directory represents the user state of Oh My Fish, and is the perfect
candidate for being added to your dotfiles and/or checked out to version control. There are two important files:
- __`theme`__ - The current theme
- __`bundle`__ - List of currently installed packages/themes
### About the bundle
Everytime a package/theme is installed or removed the `bundle` file is updated. You can also edit it manually and run `omf install` afterwards to satisfy the changes. Please note that while packages/themes added to the bundle gets automagically installed, a package/theme removed from bundle isn't removed from user installation.
2015-08-26 23:20:13 +08:00
## Core Library
The core library is a minimum set of basic utility functions that extend your shell.
+ [See the documentation ](/lib/README.md ).
# License
2014-04-17 04:01:38 +08:00
2015-08-26 23:20:13 +08:00
MIT © [Oh My Fish][contributors] :metal:
2013-05-17 21:05:41 +08:00
2015-08-26 23:20:13 +08:00
[fishshell]: http://fishshell.com
2015-01-30 08:06:05 +08:00
2015-09-04 02:35:19 +08:00
[contributors]: https://github.com/oh-my-fish/oh-my-fish/graphs/contributors
2013-05-17 21:05:41 +08:00
2015-03-29 11:45:38 +08:00
2015-03-29 12:05:18 +08:00
2015-09-04 02:35:19 +08:00
[omf-pulls-link]: https://github.com/oh-my-fish/oh-my-fish/pulls