]> Git — Sourcephile - julm/julm-nix.git/blob - hosts/courge/networking.nix
courge: wifi: no need profile
[julm/julm-nix.git] / hosts / courge / networking.nix
1 { pkgs, lib, ... }:
2 {
3 imports = [
4 ../../nixos/profiles/dnscrypt-proxy2.nix
5 ../../nixos/profiles/wireguard/wg-intra.nix
6 ../../nixos/profiles/networking/ssh.nix
7 ./wireguard.nix
8 networking/nftables.nix
9 ];
10 install.substituteOnDestination = false;
11 #networking.domain = "wg";
12 networking.useDHCP = false;
13
14 networking.nftables.ruleset = lib.mkAfter ''
15 table inet filter {
16 chain input {
17 ip daddr 10.0.0.0/8 counter goto input-lan
18 ip daddr 172.16.0.0/12 counter goto input-lan
19 ip daddr 192.168.0.0/16 counter goto input-lan
20 ip daddr 224.0.0.0/3 counter goto input-lan
21 goto input-net
22 }
23 chain output {
24 ip daddr 10.0.0.0/8 counter goto output-lan
25 ip daddr 172.16.0.0/12 counter goto output-lan
26 ip daddr 192.168.0.0/16 counter goto output-lan
27 ip daddr 224.0.0.0/3 counter goto output-lan
28 jump output-net
29 log level warn prefix "output-net: " counter drop
30 }
31 }
32 '';
33
34 networking.interfaces = { };
35
36 networking.networkmanager = {
37 enable = true;
38 unmanaged = [
39 ];
40 };
41
42 services.avahi.enable = true;
43 services.avahi.openFirewall = false;
44 services.avahi.publish.enable = false;
45
46 services.openssh.settings.X11Forwarding = true;
47 systemd.services.sshd.serviceConfig.LoadCredentialEncrypted = [
48 "host.key:${ssh/host.key.cred}"
49 ];
50
51 services.vnstat.enable = true;
52 }