about summary refs log tree commit diff
path: root/home/ssh
diff options
context:
space:
mode:
authorFranck Cuny <franck@fcuny.net>2022-04-07 08:31:05 -0700
committerFranck Cuny <franck@fcuny.net>2022-04-07 08:31:05 -0700
commitdcc0315bba21b4efde7ffc0a6e50af24fdd0fbb4 (patch)
treed8b5aa68afc302a116dafa26f74fcdf73587a8f2 /home/ssh
parentgitea: fix the module (diff)
downloadworld-dcc0315bba21b4efde7ffc0a6e50af24fdd0fbb4.tar.gz
initial attempt to reconfigure home-manager
All the modules that are needed for home-manager should be under
`home/`, and each host will have a `host.nix` where the modules are
enabled as needed. Later on we can create some profiles to make it
easier to consume the configuration.

I apply this only to tahoe for now, as the amount of packages needed for
my user are pretty limited.
Diffstat (limited to 'home/ssh')
-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..a4eabbf
--- /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.my; {
+    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"; };
+      };
+    };
+  };
+}