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 1 year 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!
- Host: GitHub
- URL: https://github.com/withfig/config
- Owner: withfig
- License: mit
- Archived: true
- Created: 2020-12-12T03:22:00.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2022-07-07T08:54:52.000Z (almost 4 years ago)
- Last Synced: 2024-10-30T12:48:42.529Z (over 1 year ago)
- Topics: autocomplete, bash, fig, fish, ssh, tmux, zsh
- Language: Shell
- Homepage:
- Size: 730 KB
- Stars: 60
- Watchers: 5
- Forks: 14
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
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.