{ config, lib, pkgs, username, ... }: let cfg = config.os.core.ssh; in { options.os.core.ssh.enable = lib.mkEnableOption "enables ssh server setup"; config = lib.mkIf cfg.enable { services.openssh = { enable = true; settings = { PasswordAuthentication = false; KbdInteractiveAuthentication = false; }; }; # programs.ssh.startAgent = true; # services.gnome.gcr-ssh-agent.enable = false; programs.gnupg.agent = { enable = true; enableSSHSupport = true; pinentryPackage = pkgs.pinentry-curses; }; users.users = { ${username}.openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIC610CJfgc3yII7MpLVqzEzQGa8Tsm+dih+CTXHXTnv4 adikro@disroot.org" ]; }; }; }