{ config, lib, pkgs, ... }: let addNuShebang = path: builtins.concatStringsSep "\n\n" [ "#!${pkgs.nushellFull}/bin/nu" (builtins.readFile path) ]; in { config = { networking = { networkmanager = { wifi.backend = "wpa_supplicant"; dispatcherScripts = [ { type = "basic"; source = pkgs.writeText "dispatcher" (addNuShebang ../../other/scripts/dispatcher.nu); } ]; }; hosts = { "127.0.0.1" = [ "www.tiktok.com" "www.twitter.com" "www.instagram.com" "www.facebook.com" "www.snapchat.com" "tiktok.com" "twitter.com" "instagram.com" "facebook.com" "snapchat.com" "google-analytics.com" "stats.g.doubleclick.net" "googleadservices.com" "googletagmanager.com" "googletagservices.com" "googlesyndication.com" ]; "10.31.208.9" = [ "mqtt.z9" ]; }; }; environment.etc = (with builtins; ( listToAttrs ( map (v: { name = "networkhooks/${v}"; value = { text = addNuShebang ../../other/scripts/networkhooks/${v}; mode = "0755"; }; }) (attrNames (readDir ../../other/scripts/networkhooks)) ) )); systemd.services."NetworkManager-wait-online".enable = false; services.mullvad-vpn.enable = true; home-manager.users.jade = { pkgs, ... }: { home.packages = with pkgs; [ networkmanagerapplet mullvad-vpn speedtest-cli ]; }; }; }