Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/withfig/config

Fig's integrations with bash, zsh, fish, ssh, and tmux. Also contains Fig's installation and update scripts. Finally, this repo is the root of the .fig folder that is installed on your computer when you download Fig!
https://github.com/withfig/config

autocomplete bash fig fish ssh tmux zsh

Last synced: about 2 months ago
JSON representation

Fig's integrations with bash, zsh, fish, ssh, and tmux. Also contains Fig's installation and update scripts. Finally, this repo is the root of the .fig folder that is installed on your computer when you download Fig!

Awesome Lists containing this project

README

        

This repo is now archived! If you find any bugs, please open an issue in [withfig/fig](https://github.com/withfig/fig/issue/new)
---

# Config Directory (~/.fig/)
Yes, the name **fig** comes from con**fig**uration

Fig's configuration files are located in the `~/.fig` directory.

The config directory is structured like so:

autocomplete/
autocomplete completion specs. See withfig/autocomplete

apps/
installed Fig apps. See withfig/fig-apps

team/
reserved for team apps, runbooks, and completion specs. Not tracked by git

tools/
config scripts e.g. installation, onboarding, uninstallation...

user/
reserved for individual user apps, runbooks, and completion specs. Not tracked by git

fig.sh
establishes Fig's shell and env variables. This file is sourced on every new shell session. See below

# The fig.sh script

Fig sources the `fig.sh script` by adding the following line of code to your `.bashrc`, `.zshrc`, `.zprofile`, `.profile`, and `.bash_profile`

```bash
[ -s ~/.fig/fig.sh ] && source ~/.fig/fig.sh
```

Why do we source `fig.sh` in so many dotfiles? In order to get context on your Terminal (e.g. current working directory), we need to source Fig for each new *shell* session, not just *Terminal* session. e.g. if you open a new terminal, and switch between bash and zsh shells.

### fig.sh sourcing time

Sourcing `fig.sh` takes around **9ms**. We use conditionals to make sure the script is only run once . If you haven't started a new shell session in a while, it could take up to 200ms. But afterwards will go back to 9ms.