summaryrefslogtreecommitdiffstats
path: root/scripts/fish/functions
diff options
context:
space:
mode:
authorGeorg2021-12-02 22:29:26 +0100
committerGeorg2021-12-02 22:29:26 +0100
commit209f09dc5cde22b913217812fe3dca5c12241489 (patch)
tree51b816bf4a5c262d50c5e376ff8a110e0b1f3433 /scripts/fish/functions
parent6649ec5e45d75f5fcfab0f258f01a1f0696087d4 (diff)
downloadsystem-209f09dc5cde22b913217812fe3dca5c12241489.tar.gz
system-209f09dc5cde22b913217812fe3dca5c12241489.tar.bz2
system-209f09dc5cde22b913217812fe3dca5c12241489.zip
fish greeting with ssh-agent magic
Signed-off-by: Georg <georg@lysergic.dev>
Diffstat (limited to 'scripts/fish/functions')
-rw-r--r--scripts/fish/functions/__ssh_agent_is_key_added.fish9
-rw-r--r--scripts/fish/functions/__ssh_agent_is_started.fish15
-rw-r--r--scripts/fish/functions/__ssh_agent_start.fish6
3 files changed, 30 insertions, 0 deletions
diff --git a/scripts/fish/functions/__ssh_agent_is_key_added.fish b/scripts/fish/functions/__ssh_agent_is_key_added.fish
new file mode 100644
index 0000000..63951fe
--- /dev/null
+++ b/scripts/fish/functions/__ssh_agent_is_key_added.fish
@@ -0,0 +1,9 @@
+# custom
+function __ssh_agent_is_key_added -d "checks if fingerprint is already present"
+ set SSH_FP (ssh-keygen -lf ~/.ssh/id_lysergic-cert.pub | awk '{print $2}')
+ if ! test -z "$SSH_FP"
+ and ssh-add -l | grep -q "$SSH_FP"
+ else
+ return 1
+ end
+end
diff --git a/scripts/fish/functions/__ssh_agent_is_started.fish b/scripts/fish/functions/__ssh_agent_is_started.fish
new file mode 100644
index 0000000..a457102
--- /dev/null
+++ b/scripts/fish/functions/__ssh_agent_is_started.fish
@@ -0,0 +1,15 @@
+# from https://github.com/danhper/fish-ssh-agent/
+function __ssh_agent_is_started -d "check if ssh agent is already started"
+ if begin; test -f $SSH_ENV; and test -z "$SSH_AGENT_PID"; end
+ source $SSH_ENV > /dev/null
+ end
+
+ if begin; test -z "$SSH_AGENT_PID"; and test -z "$SSH_CONNECTION"; end
+ return 1
+ end
+
+ ssh-add -l > /dev/null 2>&1
+ if test $status -eq 2
+ return 1
+ end
+end
diff --git a/scripts/fish/functions/__ssh_agent_start.fish b/scripts/fish/functions/__ssh_agent_start.fish
new file mode 100644
index 0000000..58a762d
--- /dev/null
+++ b/scripts/fish/functions/__ssh_agent_start.fish
@@ -0,0 +1,6 @@
+# from https://github.com/danhper/fish-ssh-agent/
+function __ssh_agent_start -d "start a new ssh agent"
+ ssh-agent -c | sed 's/^echo/#echo/' > $SSH_ENV
+ chmod 600 $SSH_ENV
+ source $SSH_ENV > /dev/null
+end