88 lines
2.6 KiB
Nix
88 lines
2.6 KiB
Nix
{ config, lib, pkgs, ... }:
|
|
|
|
let mutableSymlink = config.lib.file.mkOutOfStoreSymlink;
|
|
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 =
|
|
# 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";
|
|
home.file.".ssh/id_ed25519".source =
|
|
mutableSymlink "/persist/private-keys/ssh/msyds-old";
|
|
home.file."private-keys/ssh/msyds-old".source =
|
|
mutableSymlink "/persist/private-keys/ssh/msyds-old";
|
|
|
|
|
|
# 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 =
|
|
# ../../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;
|
|
home.file.".ssh/id_ed25519.pub".source =
|
|
../../public-keys/ssh/msyds-old.pub;
|
|
home.file."public-keys/ssh/msyds-old".source =
|
|
../../public-keys/ssh/msyds-old.pub;
|
|
}
|
|
|
|
{
|
|
### Some basic impermanence setup.
|
|
|
|
sydnix.impermanence = {
|
|
enable = true;
|
|
directories = [
|
|
".wine"
|
|
"Music"
|
|
"Pictures"
|
|
"Documents"
|
|
"Videos"
|
|
"Games"
|
|
"src" # My projects.
|
|
"scratch" # My playgrounds.
|
|
"etc" # Miscellaneous belongings.
|
|
"git" # Other peoples' projects.
|
|
# Should "org" be declared in emacs.nix? I don't think so. I
|
|
# conjecture that my org files are extremely valuable with or without
|
|
# Emacs.
|
|
"org"
|
|
# REVIEW: I think it may be preferable to persist a few individual files
|
|
# under ~/.ssh, rather than the whole directory.
|
|
".ssh"
|
|
];
|
|
};
|
|
}
|
|
|
|
{
|
|
### Syncthing
|
|
|
|
sydnix.syncthing = {
|
|
enable = true;
|
|
includeDevices = [
|
|
"guix-rebound"
|
|
"deertopia"
|
|
];
|
|
directories = {
|
|
"org" = {
|
|
path = "~/org";
|
|
devices = [
|
|
"guix-rebound"
|
|
"deertopia"
|
|
];
|
|
ignorePerms = true;
|
|
};
|
|
# "Music" = {
|
|
# path = "~/Music";
|
|
# devices = [
|
|
# "deertopia"
|
|
# ];
|
|
# ignorePerms = true;
|
|
# };
|
|
};
|
|
};
|
|
}
|
|
]
|