refactor(modules): make sure nothing is added without setting enable

This commit is contained in:
matt1432 2025-01-04 19:02:30 -05:00
parent 4a2ad39114
commit 49dc072b81
56 changed files with 684 additions and 506 deletions
modules/server/tailscale

View file

@ -0,0 +1,52 @@
{
config,
lib,
...
}: let
inherit (lib) mkIf;
inherit (config.networking) hostName;
cfg = config.roles.server;
in {
config = mkIf (cfg.enable && 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 = ./default.nix;
}