about summary refs log tree commit diff stats
path: root/modules/by-name/op/openssh/module.nix
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2025-08-24 15:10:22 +0200
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2025-08-24 15:10:22 +0200
commit0c38364b28e3443ac45b56c08787bb70a2b30b28 (patch)
tree38140123e5283896dea43779ee37e9f3e509a25c /modules/by-name/op/openssh/module.nix
parentmodules/hledger: Remove `hledger-edit` (diff)
downloadnixos-config-0c38364b28e3443ac45b56c08787bb70a2b30b28.zip
modules/: Hard-code user and group ids
This avoids relying on the state in /var/lib/nixos
Diffstat (limited to 'modules/by-name/op/openssh/module.nix')
-rw-r--r--modules/by-name/op/openssh/module.nix42
1 files changed, 30 insertions, 12 deletions
diff --git a/modules/by-name/op/openssh/module.nix b/modules/by-name/op/openssh/module.nix
index 97cf7fd7..f77c357b 100644
--- a/modules/by-name/op/openssh/module.nix
+++ b/modules/by-name/op/openssh/module.nix
@@ -7,18 +7,36 @@
 #
 # You should have received a copy of the License along with this program.
 # If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
-{...}: {
-  services.openssh = {
-    enable = true;
-    hostKeys = [
-      {
-        path = "/srv/sshd/ssh_host_ed25519_key";
-        rounds = 1000;
-        type = "ed25519";
-      }
-    ];
-    settings = {
-      PasswordAuthentication = false;
+{
+  config,
+  lib,
+  libraries,
+  ...
+}: let
+  cfg = config.soispha.services.openssh;
+in {
+  options.soispha.services.openssh = {
+    enable = libraries.base.options.mkEnable "openssh";
+  };
+
+  config = lib.mkIf cfg.enable {
+    services.openssh = {
+      enable = true;
+      hostKeys = [
+        {
+          path = "/srv/sshd/ssh_host_ed25519_key";
+          rounds = 1000;
+          type = "ed25519";
+        }
+      ];
+
+      settings = {
+        PasswordAuthentication = false;
+      };
+    };
+    users = {
+      users.sshd.uid = config.soispha.constants.ids.uids.sshd;
+      groups.sshd.gid = config.soispha.constants.ids.gids.sshd;
     };
   };
 }