nix-configs/modules/desktop/networking.nix

90 lines
2.2 KiB
Nix

{ 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"
];
"10.31.208.10" = [
"club-assistant.ccchh.net"
];
"10.31.208.23" = [
"light.z9"
"light.ccchh.net"
];
"10.31.210.31" = [
"octopi.z9.ccchh.net"
];
"10.31.210.33" = [
"wled-kueche.z9.ccchh.net"
];
"10.31.210.34" = [
"wled-serverschrank.z9.ccchh.net"
];
"10.31.208.25" = [
"zigbee2mqtt.ccchh.net"
];
"10.31.208.24" = [
"esphome.ccchh.net"
];
};
};
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
];
};
};
}