1{ fetchFromGitHub
2, lib
3, stdenvNoCC
4}:
5
6stdenvNoCC.mkDerivation rec {
7 pname = "ssh-agents";
8 version = "1.0.1";
9
10 src = fetchFromGitHub {
11 owner = "kalbasit";
12 repo = "ssh-agents";
13 rev = "v${version}";
14 sha256 = "1l09zy87033v7hd17lhkxikwikqz5nj9x6c2w80rqpad4lp9ihwz";
15 };
16
17 installFlags = [ "PREFIX=$(out)" ];
18
19 meta = with lib; {
20 description = "ssh-agents capable of spawning and maintaining multiple ssh-agents across terminals";
21 longDescription = ''
22 The SSH agent is usually spawned by running eval $(ssh-agent), however this
23 spawns a new SSH agent at every invocation. This project provides an
24 ssh-agent wrapper called ssh-agents that is capable of spawning an SSH
25 agent and caching the environment variables for later invocation.
26
27 Features
28 - One SSH agent across all terminals
29 - Add all un-encrypted SSH keys to the agent upon spawning. Please note
30 that encrypted SSH keys can only be added via ssh-add after having
31 started the agent.
32 - Ability to have different keys in different agents for security purposes.
33 - Multiple SSH agents
34 - To use multi-SSH agents, start ssh agent with the --name flag. The
35 given name is expected to be a folder under ~/.ssh/name containing the
36 keys to include in the agent.
37 '';
38 homepage = "https://github.com/kalbasit/ssh-agents";
39 license = licenses.mit;
40 maintainers = with maintainers; [ kalbasit ];
41 platforms = platforms.unix;
42 };
43}