Skip to content

Commit

Permalink
Replace package database with independently installed package reposit…
Browse files Browse the repository at this point in the history
…ories (#427)

Replace package database with independently installed package repositories

- Add support for fetching and installing from package repositories containing package URLs and metadata
- Support multiple package repository sources
- Add new repo command
- Remove submit command
- Enhance describe and search commands
- Fix and improve help text for new and adjusted commands
- Fix bundle install exit status
- Refer to plugins as "plugins" instead of the general term "packages"
- Code clarity improvements
- Put plugin/theme distinction into package metadata
  • Loading branch information
sagebind committed Feb 5, 2017
1 parent e2c3343 commit 2d1deeb
Show file tree
Hide file tree
Showing 189 changed files with 506 additions and 456 deletions.
13 changes: 5 additions & 8 deletions README.md
Expand Up @@ -50,7 +50,7 @@ Oh My Fish includes a small utility `omf` to fetch and install new packages and

#### `omf update` _`[omf]`_ _`[<package>...]`_

Update the framework and installed packages.
Update Oh My Fish, all package repositories, and all installed packages.

- When called without arguments, update core and all installed packages.
- You can choose to update only the core, by running `omf update omf`.
Expand All @@ -64,6 +64,10 @@ Install one _or more_ packages.
- You can install packages directly by URL via `omf install URL`
- When called without arguments, install missing packages from [bundle](#dotfiles).

#### `omf repositories` _`[list|add|remove]`_

Manage user-installed package repositories. Package repositories are where packages come from used by commands like `omf install`. By default the [official repository](https://github.com/oh-my-fish/packages-main) is always installed and available.

#### `omf list`

List installed packages.
Expand Down Expand Up @@ -94,13 +98,6 @@ Scaffold out a new package or theme.

Searches Oh My Fish's database for a given package, theme or both. It also supports fuzzy search, so if you are not sure of the name you can simply `omf search simple`.

#### `omf submit` _`pkg/<name>`_ _`[<url>]`_

Add a new package. To add a theme, use `omf submit` _`themes/<name>`_ _`<url>`_.
Please note that the _`[<url>]`_ portion of the command should be the url to your repo on github. For example, with the `example` plugin, the command run should be `omf submit pkg/example https://github.com/oh-my-fish/example`.

Make sure to [send us a PR][omf-pulls-link] to update the registry.

#### `omf channel`

Gets or changes the update channel.
Expand Down
2 changes: 1 addition & 1 deletion bin/install
Expand Up @@ -489,7 +489,7 @@ end

# Assert that all tools we need are available.
function assert_cmds
set -l cmds basename cp cut date dirname fold head mkdir mv rm sed sort tar tr
set -l cmds awk basename cp cut date dirname fold head mkdir mv rm sed sort tar tr

for cmd in $cmds
type -f -q $cmd
Expand Down
1 change: 0 additions & 1 deletion db/pkg/android-sdk

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/ansible

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/apt

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/archlinux

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/argu

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/artisan

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/await

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/aws

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/bak

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/balias

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/bang-bang

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/basename-compat

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/battery

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/blt

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/brew

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/bundler

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/cd

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/composer

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/config

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/direnv

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/docker-machine

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/dpaste

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/emacs

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/errno

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/exenv

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/expand

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/export

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/extract

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/fasd

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/fish_logo

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/fonts

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/foreign-env

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/fzf

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/gem

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/getopts

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/gi

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/git-flow

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/gityaw

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/grc

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/hash

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/homebrew-command-not-found

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/hub

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/iex

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/jump

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/keychain

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/kill-on-port

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/license

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/linuxbrew

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/local-config

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/marlin

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/mix

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/mou

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/mvn

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/node-binpath

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/nodenv

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/nvm

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/osx

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/pbcopy

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/peco

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/php-version

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/phpbrew

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/pj

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/powerline

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/proxy

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/pyenv

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/python

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/rails

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/rbenv

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/rustup

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/rvm

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/spark

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/ssh-config.d

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/ssh-term-helper

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/sublime

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/sudope

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/tab

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/technicolor

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/termux

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/thefuck

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/tiny

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/title

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/tmux-zen

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/vcs

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/vi-mode

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/virtualfish

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/vundle

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/wd

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/weather

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/wifi-password

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/wttr

This file was deleted.

1 change: 0 additions & 1 deletion db/pkg/z

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/agnoster

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/batman

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/beloglazov

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/bira

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/bobthefish

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/budspencer

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/cbjohnson

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/chain

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/clearance

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/cmorrell

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/coffeeandcode

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/cor

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/cyan

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/dangerous

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/default

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/eclm

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/edan

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/eden

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/emoji-powerline

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/es

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/fishbone

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/fishface

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/fishy-drupal

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/fisk

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/flash

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/fox

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/gentoo

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/gianu

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/gitstatus

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/gnuykeaj

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/godfather

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/hulk

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/idan

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/integral

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/jacaetevha

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/kawasaki

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/krisleech

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/l

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/lambda

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/lolfish

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/mars

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/mokou

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/mtahmed

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/nai

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/nelsonjchen

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/numist

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/ocean

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/pastfish

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/perryh

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/plain

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/pure

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/red-snapper

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/robbyrussell

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/scorphish

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/shellder

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/simple-ass-prompt

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/simplevi

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/slavic-cat

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/sushi

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/syl20bnr

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/taktoa

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/technopagan

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/toaster

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/tomita

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/trout

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/uggedal

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/will

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/yimmy

This file was deleted.

1 change: 0 additions & 1 deletion db/themes/zish

This file was deleted.

18 changes: 2 additions & 16 deletions docs/en-US/Packages.md
Expand Up @@ -116,25 +116,11 @@ Inside this hook, you can access two package-related variables:

Packages can use this hook to clean up custom resources, etc.

>Note: for backwards-compatibility, uninstall hooks will also be run if they are located at `uninstall.fish` in the package root.
> Note: for backwards-compatibility, uninstall hooks will also be run if they are located at `uninstall.fish` in the package root.

# Make it public

Oh My Fish keeps a registry of public packages under `$OMF_PATH/db/`.

To add your package to the registry you need to:

```fish
# For packages:
omf submit pkg/hello_world https://github.com/oh-my-fish/plugin-hello_world.git

# For themes
omf submit theme/my_theme https://github.com/oh-my-fish/theme-my_theme.git
```

This will add a new entry to your local copy of the registry. Now you just need to [send us a PR][omf-pulls-link] to update the global registry.

>When sending pull requests with package URL under Oh My Fish organization (https://github.com/oh-my-fish) we will allocate a repository inside the organization so you can push your work and join the community! :tada:
The official registry of public packages is managed in the [oh-my-fish/packages-main](https://github.com/oh-my-fish/packages-main) repository. See the README of that repository for instructions on how to add your package to the official package database.


[fish-bind]: http://fishshell.com/docs/current/commands.html#bind
Expand Down

0 comments on commit 2d1deeb

Please sign in to comment.