Flake for my NixOS devices
at kill-rofi 60 lines 1.3 kB view raw
1{...}: { 2 config, 3 lib, 4 ... 5}: { 6 options.cow.network = { 7 wireless = lib.mkEnableOption "wireless networking with IWD"; 8 bluetooth = lib.mkEnableOption "bluetooth networking"; 9 }; 10 11 config = { 12 hardware.bluetooth = lib.mkIf config.cow.network.bluetooth { 13 enable = true; 14 settings = { 15 General = { 16 Experimental = true; 17 }; 18 }; 19 }; 20 21 cow.imperm.keepCache = 22 (lib.optional config.cow.network.bluetooth "/var/lib/bluetooth") 23 ++ (lib.optional config.cow.network.wireless "/var/lib/iwd"); 24 25 networking = lib.mkIf config.cow.network.wireless { 26 wireless.iwd.enable = true; 27 useNetworkd = true; 28 useDHCP = true; 29 }; 30 31 systemd.network = { 32 enable = lib.mkDefault config.cow.network.wireless; 33 wait-online = { 34 enable = lib.mkDefault false; 35 }; 36 }; 37 38 services = lib.mkIf config.cow.network.wireless { 39 resolved = { 40 enable = true; 41 llmnr = "false"; 42 fallbackDns = [ 43 "2606:4700:4700::1111" 44 "2606:4700:4700::1001" 45 "1.1.1.1" 46 "1.0.0.1" 47 ]; 48 }; 49 timesyncd.servers = map (x: "time-${x}-g.nist.gov") [ 50 "a" 51 "b" 52 "c" 53 "d" 54 "e" 55 "f" 56 "g" 57 ]; 58 }; 59 }; 60}