<section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="sec-ipv4">
  <title>IPv4 Configuration</title>
  <para>
    By default, NixOS uses DHCP (specifically,
    <literal>dhcpcd</literal>) to automatically configure network
    interfaces. However, you can configure an interface manually as
    follows:
  </para>
  <programlisting language="bash">
networking.interfaces.eth0.ipv4.addresses = [ {
  address = &quot;192.168.1.2&quot;;
  prefixLength = 24;
} ];
</programlisting>
  <para>
    Typically you’ll also want to set a default gateway and set of name
    servers:
  </para>
  <programlisting language="bash">
networking.defaultGateway = &quot;192.168.1.1&quot;;
networking.nameservers = [ &quot;8.8.8.8&quot; ];
</programlisting>
  <note>
    <para>
      Statically configured interfaces are set up by the systemd service
      <literal>interface-name-cfg.service</literal>. The default gateway
      and name server configuration is performed by
      <literal>network-setup.service</literal>.
    </para>
  </note>
  <para>
    The host name is set using
    <xref linkend="opt-networking.hostName" />:
  </para>
  <programlisting language="bash">
networking.hostName = &quot;cartman&quot;;
</programlisting>
  <para>
    The default host name is <literal>nixos</literal>. Set it to the
    empty string (<literal>&quot;&quot;</literal>) to allow the DHCP
    server to provide the host name.
  </para>
</section>
