Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
O
oh-my-zsh
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
github
oh-my-zsh
Commits
8961fda1
Unverified
Commit
8961fda1
authored
Dec 31, 2018
by
Robby Russell
Committed by
GitHub
Dec 31, 2018
Browse files
Options
Browse Files
Download
Plain Diff
Add keychain plugin (#7385)
This plugin integrates the Keychain tool[1] in to the project. [1] [keychain](
https://www.funtoo.org/Keychain
)
parents
0cc1266c
95a3b276
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
77 additions
and
0 deletions
+77
-0
README.md
plugins/keychain/README.md
+45
-0
keychain.plugin.zsh
plugins/keychain/keychain.plugin.zsh
+32
-0
No files found.
plugins/keychain/README.md
0 → 100644
View file @
8961fda1
# keychain plugin
This plugin starts automatically
[
`keychain`
](
https://www.funtoo.org/Keychain
)
to set up and load whichever credentials you want for both gpg and ssh
connections.
To enable it, add
`keychain`
to your plugins:
```
zsh
plugins
=(
... keychain
)
```
**NOTE**
: It is HIGHLY recommended to also enable the
`gpg-agent`
plugin.
## Instructions
**IMPORTANT: put these settings _before_ the line that sources oh-my-zsh**
**To adjust the agents**
that keychain manages, use the
`agents`
style as
shown below. By default, only the
`gpg`
agent is managed.
```
zsh
zstyle :omz:plugins:keychain agents gpg,ssh
```
To
**load multiple identities**
use the
`identities`
style, For example:
```
zsh
zstyle :omz:plugins:keychain identities id_ed25519 id_github 2C5879C2
```
**To pass additional options**
to the
`keychain`
program, use the
`options`
style; for example:
```
zsh
zstyle :omz:plugins:keychain options
--quiet
```
## Credits
Based on code from the
`ssh-agent`
plugin.
## References
-
[
Keychain
](
https://www.funtoo.org/Keychain
)
plugins/keychain/keychain.plugin.zsh
0 → 100644
View file @
8961fda1
function
_start_agent
()
{
local
agents
local
-a
identities
local
-a
options
local
_keychain_env_sh
local
_keychain_env_sh_gpg
# load agents to start.
zstyle
-s
:omz:plugins:keychain agents agents
# load identities to manage.
zstyle
-a
:omz:plugins:keychain identities identities
# load additional options
zstyle
-a
:omz:plugins:keychain options options
# start keychain...
keychain
${
^options
:-}
--agents
${
agents
:-
gpg
}
${
^identities
}
# Get the filenames to store/lookup the environment from
_keychain_env_sh
=
"
$HOME
/.keychain/
$SHORT_HOST
-sh"
_keychain_env_sh_gpg
=
"
$HOME
/.keychain/
$SHORT_HOST
-sh-gpg"
# Source environment settings.
[
-f
"
$_keychain_env_sh
"
]
&&
.
"
$_keychain_env_sh
"
[
-f
"
$_keychain_env_sh_gpg
"
]
&&
.
"
$_keychain_env_sh_gpg
"
}
_start_agent
# tidy up after ourselves
unfunction _start_agent
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment