52 lines
1.5 KiB
Nix
52 lines
1.5 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
...
|
|
}: let
|
|
inherit (lib) mkIf;
|
|
inherit (config.networking) hostName;
|
|
|
|
cfg = config.roles.server;
|
|
in {
|
|
config = mkIf cfg.tailscale.enable {
|
|
services = {
|
|
tailscale = {
|
|
enable = true;
|
|
# TODO: add authKeyFile to get extraUpFlags to work
|
|
# https://github.com/juanfont/headscale/issues/1550
|
|
# https://github.com/juanfont/headscale/blob/main/docs/running-headscale-linux-manual.md#register-machine-using-a-pre-authenticated-key
|
|
# https://www.reddit.com/r/NixOS/comments/18kz1nb/tailscale_extraupflags_not_working/
|
|
extraUpFlags = [
|
|
"--login-server https://headscale.nelim.org"
|
|
"--operator=${cfg.user}"
|
|
];
|
|
};
|
|
};
|
|
|
|
home-manager.users.${cfg.user} = {
|
|
programs.bash.shellAliases = {
|
|
# Connect to headscale
|
|
tup = "tailscale up --login-server https://headscale.nelim.org";
|
|
|
|
# Desktop
|
|
pc = "ssh -t matt@binto 'tmux -2u new -At ${hostName}'";
|
|
|
|
# NAS
|
|
nos = "ssh -t matt@nos 'tmux -2u new -At ${hostName}'";
|
|
|
|
# Experimenting server
|
|
servivi = "ssh -t matt@servivi 'tmux -2u new -At ${hostName}'";
|
|
|
|
# Home-assistant
|
|
homie = "ssh -t matt@homie 'tmux -2u new -At ${hostName}'";
|
|
|
|
# Cluster nodes
|
|
thingone = "ssh -t matt@thingone 'tmux -2u new -At ${hostName}'";
|
|
thingtwo = "ssh -t matt@thingtwo 'tmux -2u new -At ${hostName}'";
|
|
};
|
|
};
|
|
};
|
|
|
|
# For accurate stack trace
|
|
_file = ./tailscale.nix;
|
|
}
|