{ user ? throw "user argument is required", home ? throw "home argument is required", }: { config, ... }: let hmConfig = config.home-manager.users.${user}; in { home-manager.users.${user} = { sops.secrets = { "ssh/key" = { sopsFile = ../../../../../../../secrets/personal/secrets.yaml; path = "${home}/.ssh/ssh_personal_ed25519_key"; }; "ssh/pass".sopsFile = ../../../../../../../secrets/personal/secrets.yaml; }; programs = { ssh.matchBlocks = { "karaolidis.com" = { hostname = "karaolidis.com"; user = "nick"; identityFile = "${home}/.ssh/ssh_personal_ed25519_key"; }; }; clipbook.bookmarks."SSH Key Passphrase".source = hmConfig.sops.secrets."ssh/pass".path; }; }; }