Highlights - No need to update flake for every machine anymore, just add a properties.nix file. - Roles are automatically generated from all machine configurations. - Roles and their secrets automatically are grouped and show up in agenix secrets.nix - Machines and their service configs may now query the properties of all machines. - Machine configuration and secrets are now competely isolated into each machine's directory. - Safety checks to ensure no mixing of luks unlocking secrets and hosts with primary ones. - SSH pubkeys no longer centrally stored but instead per machine where the private key lies for better cleanup.
24 lines
408 B
Nix
24 lines
408 B
Nix
{ config, lib, ... }:
|
|
|
|
with lib;
|
|
|
|
let
|
|
cfg = config.networking;
|
|
in
|
|
{
|
|
imports = [
|
|
./pia-openvpn.nix
|
|
./pia-wireguard.nix
|
|
./ping.nix
|
|
./tailscale.nix
|
|
./vpn.nix
|
|
];
|
|
|
|
options.networking.ip_forward = mkEnableOption "Enable ip forwarding";
|
|
|
|
config = mkIf cfg.ip_forward {
|
|
boot.kernel.sysctl."net.ipv4.ip_forward" = 1;
|
|
boot.kernel.sysctl."net.ipv6.conf.all.forwarding" = 1;
|
|
};
|
|
}
|