#+title: Network Configuration Open the network configuration. #+begin_src nix :tangle ~/.flake/system/network.nix :mkdirp yes { config, lib, pkgs, ... }: { #+end_src This system is called =nixos=. #+begin_src nix :tangle ~/.flake/system/network.nix :mkdirp yes networking.hostName = "nixos"; #+end_src I use NetworkManager to configure my network. #+begin_src nix :tangle ~/.flake/system/network.nix :mkdirp yes networking.networkmanager.enable = true; #+end_src Enable Bluetooth at boot. #+begin_src nix :tangle ~/.flake/system/network.nix :mkdirp yes hardware.bluetooth.enable = true; hardware.bluetooth.powerOnBoot = true; services.blueman.enable = true; #+end_src Enable printing. #+begin_src nix :tangle ~/.flake/system/network.nix :mkdirp yes services.printing.enable = true; #+end_src Enable SSH. #+begin_src nix :tangle ~/.flake/system/network.nix :mkdirp yes services.openssh.enable = true; #+end_src Set up my firewall. #+begin_src nix :tangle ~/.flake/system/network.nix :mkdirp yes networking.firewall = { allowedTCPPorts = [ ]; allowedUDPPorts = [ ]; }; environment.etc = { "openvpn/update-resolv-conf" = { source = ./update-resolv-conf.sh; mode = "0700"; }; }; #+end_src Close the network configuration. #+begin_src nix :tangle ~/.flake/system/network.nix :mkdirp yes } #+end_src