{ pkgs, lib, ... }: { home-manager.users.fhauser.programs.ssh = let forceIdentityThreema = { identityFile = toString (pkgs.writeText "fabian.hauser@threema.ch.pub" '' ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO7h492sXT7zdamf+nbOt+y6jiqxicOnm6+wiuEG1EvZ openpgp:0x18B553DD ''); identitiesOnly = true; }; forceIdentityPrivate = { identityFile = toString (pkgs.writeText "fabian.hauser@qo.is.pub" '' ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDIPF8ZV7vhpbVvLxiKq8ANVusNUHMbtii5MuvjxCbVz7vSNVPo9OOLvYyDqhbRAWMTdQeGZVAaALBufKKmprDTRFMpnA7Ut4TFrdz/5DTaR2KEjJ7P75moH+0xooR/GsbzFGsNBSQSXK3u1igndPYEC/PqCHN++32kDo2wLqTB4VLrEovU3iq8BMckn329Bu1fGbXKTgDpEvUEEwFO2brQZLMmzILGF/v4B9ImEGtinAUNgDSfEpgPN23sdWQH9rwEClGv95JmWNf05tuVomhZzOBtCFoAno3XB1nj16avjsqJ3aGFY2CCcfsNrwKzhIotmm82bcI4BJuJIVRIKbZ1 cardno:000610954665 ''); identitiesOnly = true; }; in { enable = true; matchBlocks = { "work.github.com" = forceIdentityThreema // { hostname = "github.com"; user = "git"; }; "github.com" = forceIdentityPrivate // { user = "git"; }; }; #TODO: Authorized keys implementation, see https://github.com/nix-community/home-manager/pull/9 }; }