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.mullvad-vpn.enable = true;
43 # services.mullvad-vpn.package = pkgs.mullvad-vpn;
44
45 users.users.${username}.extraGroups = ["networkmanager"];
46 };
47}