id = "oh-my-fish" name = "Oh My Fish" homepage = "https://github.com/oh-my-fish/oh-my-fish" description = "The Fish Shell Framework." # The repository's own description. # The logo the project keeps in its own docs directory. icon = "https://raw.githubusercontent.com/oh-my-fish/oh-my-fish/master/docs/logo.svg" # `omf` is the command the framework defines (omf install, omf theme), so it is # the detect name; the entry is filed under the project's own name, the way # oh-my-zsh is. executables = ["omf"] platforms = ["macos", "linux"] [dotfiles] # bin/install builds the two roots from the XDG variables: # # set -q XDG_CONFIG_HOME; and set -g CONFIG_PATH "$XDG_CONFIG_HOME" # or set -g CONFIG_PATH "$HOME/.config" # set -q XDG_DATA_HOME; and set -g OMF_PATH_DEFAULT "$XDG_DATA_HOME/omf" # or set -g OMF_PATH_DEFAULT "$HOME/.local/share/omf" # # so $OMF_CONFIG defaults to $CONFIG_PATH/omf — it reads the variable, which is # what [configHome] means — and $OMF_PATH to $XDG_DATA_HOME/omf, which is # [xdgData] (not [dataHome]: that would be ~/Library/Application Support on a # Mac, which omf never writes). # # The README names what lives in $OMF_CONFIG: "theme — The current theme", # "bundle — List of currently installed packages/themes", "channel — The # channel from which OMF gets updates", plus the optional init.fish, # before.init.fish and key_bindings.fish the user writes. That is the whole of # an Oh My Fish setup, and `omf install` rebuilds the packages from `bundle`. paths = ["[configHome]/omf/"] # $OMF_PATH is the framework's own git checkout plus the package clones it # installs from `bundle`; none of it is the user's. exclude = [ "[xdgData]/omf/", ] secret = [] # No machine_lines: the theme, the bundle list and the user's own init.fish are # exactly what should follow them. config.fish, where a machine-local PATH # would go, belongs to the `fish` entry and has its rule there.