Nix configurations for my personal machines (Linux & macOS)
1{ 2 delib, 3 host, 4 ... 5}: 6delib.module { 7 name = "networking"; 8 9 options.networking = with delib; { 10 nameservers = listOfOption str ["1.1.1.1" "1.0.0.1"]; 11 hosts = attrsOfOption (listOf str) {}; 12 }; 13 14 nixos.always = { 15 myconfig, 16 cfg, 17 ... 18 }: let 19 inherit (myconfig.constants) username; 20 in { 21 networking = { 22 hostName = host.name; 23 24 firewall.enable = true; 25 networkmanager.enable = true; 26 27 # dhcpcd.extraConfig = "nohook resolv.conf"; 28 # networkmanager.dns = "none"; 29 30 inherit (cfg) hosts nameservers; 31 }; 32 33 # TODO: necessary? 34 services.resolved = { 35 enable = true; 36 # dnssec = "true"; 37 domains = ["~."]; 38 fallbackDns = cfg.nameservers; 39 # dnsovertls = "trues"; 40 }; 41 42 services.tailscale = { 43 enable = true; 44 openFirewall = true; 45 useRoutingFeatures = "client"; 46 }; 47 48 # services.mullvad-vpn.enable = true; 49 # services.mullvad-vpn.package = pkgs.mullvad-vpn; 50 51 users.users.${username}.extraGroups = ["networkmanager"]; 52 }; 53}