{ config, pkgs, lib, hostName, ... }: let wg-intra-peers = import wireguard/wg-intra/peers.nix; in { networking = { hostName = hostName; domain = lib.mkDefault "localdomain"; search = [ "sourcephile.fr" ]; firewall = { enable = lib.mkDefault true; allowPing = lib.mkDefault true; }; }; programs.mtr.enable = true; services.avahi = { enable = lib.mkDefault true; nssmdns = lib.mkDefault true; openFirewall = lib.mkDefault false; publish.enable = lib.mkDefault false; }; services.openssh = { enable = lib.mkDefault true; forwardX11 = lib.mkDefault true; openFirewall = lib.mkDefault false; listenAddresses = [ { addr = wg-intra-peers.${hostName}.ipv4; port = 22; } ]; }; networking.firewall.extraCommands = lib.mkIf config.services.openssh.enable '' ip46tables -A nixos-fw -i wg-intra -p tcp -m tcp --dport 22 -j ACCEPT ''; systemd.services.sshd.after = ["wireguard-wg-intra.service"]; }