about summary refs log tree commit diff
path: root/home/ssh/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'home/ssh/default.nix')
-rw-r--r--home/ssh/default.nix23
1 files changed, 23 insertions, 0 deletions
diff --git a/home/ssh/default.nix b/home/ssh/default.nix
new file mode 100644
index 0000000..1088e80
--- /dev/null
+++ b/home/ssh/default.nix
@@ -0,0 +1,23 @@
+{ config, lib, ... }:
+let cfg = config.my.home.ssh;
+in {
+  options.my.home.ssh = with lib; {
+    enable = mkEnableOption "ssh configuration";
+  };
+
+  config.programs.ssh = lib.mkIf cfg.enable {
+    enable = true;
+    forwardAgent = true;
+    serverAliveInterval = 60;
+    controlMaster = "auto";
+    controlPersist = "30m";
+    matchBlocks = {
+      "github.com" = {
+        hostname = "github.com";
+        user = "git";
+        forwardAgent = false;
+        extraOptions = { preferredAuthentications = "publickey"; };
+      };
+    };
+  };
+}