From b8ca6cf5c43721afa1a0d156b4ac3094c57db407 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nina=20Chlo=C3=A9=20Kassandra=20Rei=C3=9F?= Date: Fri, 27 Feb 2026 21:25:08 +0100 Subject: [PATCH] Generate ssh-key if none available --- home-manager.nix | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/home-manager.nix b/home-manager.nix index d59ec1f..40ec702 100644 --- a/home-manager.nix +++ b/home-manager.nix @@ -1,6 +1,8 @@ { config, pkgs, lib, ... }: let profile = import ./profile.nix; + home-directory = "/home/${profile.username}"; + ssh-filename = "${home-directory}/.ssh/id_ed25519"; in { @@ -37,4 +39,22 @@ in }; }; }; + + systemd.services.generate-ssh-key = { + description = "Generate SSH key if missing"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + serviceConfig = { + Type = "oneshot"; + User = user; + }; + + script = '' + if [ ! -f ${ssh-filename} ]; then + mkdir -p ${home-directory}/.ssh + chmod 700 ${home-directory}/.ssh + ${pkgs.openssh}/bin/ssh-keygen -t ed25519 -N "" -f ${ssh-filename} + fi + ''; + }; }