diff --git a/hosts/darwin02/configuration.nix b/hosts/darwin02/configuration.nix
index 84f1d93..4ec0ccb 100644
--- a/hosts/darwin02/configuration.nix
+++ b/hosts/darwin02/configuration.nix
@@ -8,7 +8,6 @@
     inputs.self.darwinModules.remote-builder
   ];
 
-  # on nix-darwin if user is removed the keys need to be removed manually from /etc/ssh/authorized_keys.d
   nixCommunity.remote-builder.key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEmdo1x1QkRepZf7nSe+OdEWX+wOjkBLF70vX9F+xf68 builder";
 
   nix.settings.sandbox = "relaxed";
diff --git a/hosts/darwin03/configuration.nix b/hosts/darwin03/configuration.nix
index 3f12a8a..6359769 100644
--- a/hosts/darwin03/configuration.nix
+++ b/hosts/darwin03/configuration.nix
@@ -8,7 +8,6 @@
     inputs.self.darwinModules.remote-builder
   ];
 
-  # on nix-darwin if user is removed the keys need to be removed manually from /etc/ssh/authorized_keys.d
   nixCommunity.remote-builder.key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEmdo1x1QkRepZf7nSe+OdEWX+wOjkBLF70vX9F+xf68 builder";
 
   nix.settings.sandbox = "relaxed";
diff --git a/modules/darwin/common/default.nix b/modules/darwin/common/default.nix
index 04408ff..29c0016 100644
--- a/modules/darwin/common/default.nix
+++ b/modules/darwin/common/default.nix
@@ -19,7 +19,6 @@ in
   ];
 
   # TODO: refactor this to share /users with nixos
-  # if user is removed the keys need to be removed manually from /etc/ssh/authorized_keys.d
   users.users = {
     customer.openssh = { inherit authorizedKeys; };
     hetzner.openssh = { inherit authorizedKeys; };
@@ -68,15 +67,12 @@ in
   # disable application layer firewall, telegraf needs an incoming connection
   system.defaults.alf.globalstate = 0;
 
-  # srvos
-  services.openssh.authorizedKeysFiles = pkgs.lib.mkForce [ "/etc/ssh/authorized_keys.d/%u" ];
-
   # srvos
   environment.etc."ssh/sshd_config.d/darwin.conf".text = ''
+    AuthorizedKeysFile none
     HostKey /etc/ssh/ssh_host_ed25519_key
     KbdInteractiveAuthentication no
     PasswordAuthentication no
-    StrictModes no
   '';
 
   # Make sure to disable netbios on activation
diff --git a/modules/darwin/community-builder/users.nix b/modules/darwin/community-builder/users.nix
index 72dec6f..22236a8 100644
--- a/modules/darwin/community-builder/users.nix
+++ b/modules/darwin/community-builder/users.nix
@@ -10,228 +10,272 @@ let
       name = "winter";
       trusted = true;
       uid = 502;
+      keys = ./keys/winter;
     }
     {
       name = "stephank";
       trusted = true;
       uid = 503;
+      keys = ./keys/stephank;
     }
     {
       name = "hexa";
       trusted = true;
       uid = 504;
+      keys = ./keys/hexa;
     }
     {
       name = "0x4A6F";
       trusted = true;
       uid = 505;
+      keys = ./keys/0x4A6F;
     }
     {
       name = "artturin";
       trusted = true;
       uid = 506;
+      keys = ./keys/artturin;
     }
     {
       name = "figsoda";
       trusted = true;
       uid = 507;
+      keys = ./keys/figsoda;
     }
     {
       name = "raitobezarius";
       trusted = true;
       uid = 508;
+      keys = ./keys/raitobezarius;
     }
     {
       name = "k900";
       trusted = true;
       uid = 509;
+      keys = ./keys/k900;
     }
     {
       name = "julienmalka";
       trusted = true;
       uid = 510;
+      keys = ./keys/julienmalka;
     }
     {
       name = "dotlambda";
       trusted = true;
       uid = 511;
+      keys = ./keys/dotlambda;
     }
     {
       name = "lily";
       trusted = true;
       uid = 512;
+      keys = ./keys/lily;
     }
     {
       name = "ma27";
       trusted = true;
       uid = 513;
+      keys = ./keys/ma27;
     }
     {
       name = "fab";
       trusted = true;
       uid = 514;
+      keys = ./keys/fab;
     }
     {
       name = "phaer";
       trusted = true;
       uid = 515;
+      keys = ./keys/phaer;
     }
     {
       name = "emilylange";
       trusted = true;
       uid = 516;
+      keys = ./keys/emilylange;
     }
     {
       name = "emilytrau";
       trusted = true;
       uid = 517;
+      keys = ./keys/emilytrau;
     }
     {
       name = "janik";
       trusted = true;
       uid = 518;
+      keys = ./keys/janik;
     }
     {
       name = "delroth";
       trusted = true;
       uid = 519;
+      keys = ./keys/delroth;
     }
     {
       name = "toonn";
       trusted = true;
       uid = 520;
+      keys = ./keys/toonn;
     }
     {
       name = "glepage";
       trusted = true;
       uid = 521;
+      keys = ./keys/glepage;
     }
     {
       name = "anthonyroussel";
       trusted = true;
       uid = 522;
+      keys = ./keys/anthonyroussel;
     }
     {
       name = "sgo";
       trusted = true;
       uid = 523;
+      keys = ./keys/sgo;
     }
     {
       name = "chayleaf";
       trusted = true;
       uid = 524;
+      keys = ./keys/chayleaf;
     }
     {
       # https://github.com/lf-
       name = "jade";
       trusted = true;
       uid = 525;
+      keys = ./keys/jade;
     }
     {
       name = "kranzes";
       trusted = true;
       uid = 526;
+      keys = ./keys/kranzes;
     }
     {
       name = "sternenseemann";
       trusted = true;
       uid = 527;
+      keys = ./keys/sternenseemann;
     }
     {
       name = "jtojnar";
       trusted = true;
       uid = 528;
+      keys = ./keys/jtojnar;
     }
     {
       name = "corngood";
       trusted = true;
       uid = 529;
+      keys = ./keys/corngood;
     }
     {
       name = "teto";
       trusted = true;
       uid = 530;
+      keys = ./keys/teto;
     }
     {
       name = "matthewcroughan";
       trusted = true;
       uid = 531;
+      keys = ./keys/matthewcroughan;
     }
     {
       name = "pennae";
       trusted = true;
       uid = 532;
+      keys = ./keys/pennae;
     }
     {
       name = "jopejoe1";
       trusted = true;
       uid = 533;
+      keys = ./keys/jopejoe1;
     }
     {
       name = "puckipedia";
       trusted = true;
       uid = 534;
+      keys = ./keys/puckipedia;
     }
     {
       name = "kenji";
       trusted = true;
       uid = 535;
+      keys = ./keys/kenji;
     }
     {
       name = "pinpox";
       trusted = true;
       uid = 536;
+      keys = ./keys/pinpox;
     }
     {
       # https://github.com/n0emis
       name = "ember";
       trusted = true;
       uid = 537;
+      keys = ./keys/ember;
     }
     {
       # lib.maintainers.nicoo, @nbraud on github.com
       name = "nicoo";
       trusted = true;
       uid = 538;
+      keys = ./keys/nicoo;
     }
     {
       name = "imincik";
       trusted = true;
       uid = 539;
+      keys = ./keys/imincik;
     }
     {
       name = "wolfgangwalther";
       trusted = true;
       uid = 540;
+      keys = ./keys/wolfgangwalther;
     }
     {
       name = "tnias";
       trusted = true;
       uid = 541;
+      keys = ./keys/tnias;
     }
     {
       # lib.maintainers.emily, https://github.com/emilazy
       name = "emily";
       trusted = true;
       uid = 542;
+      keys = ./keys/emily;
     }
     {
       # lib.maintainers.johnrtitor, https://github.com/JohnRTitor
       name = "johnrtitor";
       trusted = true;
       uid = 543;
+      keys = ./keys/johnrtitor;
     }
     {
       # lib.maintainers.kashw2, https://github.com/kashw2
       name = "kashw2";
       trusted = true;
       uid = 544;
+      keys = ./keys/kashw2;
     }
     {
       # lib.maintainers.superherointj, https://github.com/superherointj
       name = "superherointj";
       trusted = true;
       uid = 545;
+      keys = ./keys/superherointj;
     }
   ];
 in
@@ -244,6 +288,9 @@ in
         home = "/Users/${u.name}";
         createHome = true;
         shell = "/bin/zsh";
+        openssh.authorizedKeys.keyFiles = [
+          u.keys
+        ];
       };
     })
     users);
@@ -252,12 +299,5 @@ in
 
   users.forceRecreate = true;
 
-  environment.etc = builtins.listToAttrs (builtins.map
-    (u: {
-      name = "ssh/authorized_keys.d/${u.name}";
-      value = { source = ./keys/${u.name}; };
-    })
-    users);
-
   nix.settings.trusted-users = builtins.map (u: u.name) (builtins.filter (u: u.trusted) users);
 }