<section xmlns="http://docbook.org/ns/docbook"
         xmlns:xlink="http://www.w3.org/1999/xlink"
         xmlns:xi="http://www.w3.org/2001/XInclude"
         version="5.0"
         xml:id="sec-installing-behind-proxy">
 <title>Installing behind a proxy</title>

 <para>
  To install NixOS behind a proxy, do the following before running
  <literal>nixos-install</literal>.
 </para>

 <orderedlist numeration="arabic">
  <listitem>
   <para>
    Update proxy configuration in
    <literal>/mnt/etc/nixos/configuration.nix</literal> to keep the internet
    accessible after reboot.
   </para>
<programlisting>
networking.proxy.default = &quot;http://user:password@proxy:port/&quot;;
networking.proxy.noProxy = &quot;127.0.0.1,localhost,internal.domain&quot;;
</programlisting>
  </listitem>
  <listitem>
   <para>
    Setup the proxy environment variables in the shell where you are running
    <literal>nixos-install</literal>.
   </para>
<screen>
<prompt># </prompt>proxy_url=&quot;http://user:password@proxy:port/&quot;
<prompt># </prompt>export http_proxy=&quot;$proxy_url&quot;
<prompt># </prompt>export HTTP_PROXY=&quot;$proxy_url&quot;
<prompt># </prompt>export https_proxy=&quot;$proxy_url&quot;
<prompt># </prompt>export HTTPS_PROXY=&quot;$proxy_url&quot;
</screen>
  </listitem>
 </orderedlist>

 <note>
  <para>
   If you are switching networks with different proxy configurations, use the
   <literal>specialisation</literal> option in
   <literal>configuration.nix</literal> to switch proxies at runtime. Refer to
   <xref linkend="ch-options" /> for more information.
  </para>
 </note>
</section>
