feat: Link SSH keys into ~/{public,private}-keys

This commit is contained in:
Madeleine Sydney
2025-02-21 21:14:41 -07:00
parent c738bed3d8
commit 441405a7bc
2 changed files with 17 additions and 1 deletions

View File

@@ -185,6 +185,10 @@ Used as a server admin account with little configuration.
*** TODO [#A] [[id:6141dc5c-2232-4bc0-9464-410c21135c86][Strategies]] *** TODO [#A] [[id:6141dc5c-2232-4bc0-9464-410c21135c86][Strategies]]
*** TODO Integrate Eshell with Evil registers
I'm imagining ~cat some-file > /dev/reg/+~
*** TODO When visiting a package, set read-only mode by default *** TODO When visiting a package, set read-only mode by default
*** TODO Evil ~:rxs~ command *** TODO Evil ~:rxs~ command
@@ -697,5 +701,5 @@ The beloved Faye's Wishsys is an incredibly impressive 3-kloc NixOS config with
- [[https://github.com/Fuco1/smartparens][Smartparens]] - [[https://github.com/Fuco1/smartparens][Smartparens]]
# Local Variables: # Local Variables:
# jinx-local-words: "Wishsys" # jinx-local-words: "Eshell Wishsys"
# End: # End:

View File

@@ -3,10 +3,22 @@
let mutableSymlink = config.lib.file.mkOutOfStoreSymlink; let mutableSymlink = config.lib.file.mkOutOfStoreSymlink;
in lib.mkMerge [ in lib.mkMerge [
{ {
# Link private SSH keys to ~/.ssh/id_ed25519 (where SSH will automatically
# find them) and ~/private-keys (where humans will find them). Remember
# that private keys must always be linked with mutable symlinks as to not
# copy them into the world-readable Nix store!!
home.file.".ssh/id_ed25519".source = home.file.".ssh/id_ed25519".source =
mutableSymlink "/persist/private-keys/ssh/crumb-at-nixos-testbed"; mutableSymlink "/persist/private-keys/ssh/crumb-at-nixos-testbed";
home.file."private-keys/ssh/crumb-at-nixos-testbed".source =
mutableSymlink "/persist/private-keys/ssh/crumb-at-nixos-testbed";
# Similarly, public keys are linked where SSH will find them as well as a
# human-friendly ~/public-keys.
home.file.".ssh/id_ed25519.pub".source = home.file.".ssh/id_ed25519.pub".source =
../../public-keys/ssh/crumb-at-nixos-testbed.pub; ../../public-keys/ssh/crumb-at-nixos-testbed.pub;
home.file."public-keys/ssh/crumb-at-nixos-testbed".source =
../../public-keys/ssh/crumb-at-nixos-testbed.pub;
} }
{ {