diff options
-rw-r--r-- | nixos/doc/manual/installation/installing-behind-a-proxy.xml | 47 | ||||
-rw-r--r-- | nixos/doc/manual/installation/installing.xml | 1 | ||||
-rwxr-xr-x[-rw-r--r--] | nixos/modules/installer/tools/nixos-generate-config.pl | 4 | ||||
-rw-r--r-- | nixos/modules/system/activation/top-level.nix | 7 |
4 files changed, 59 insertions, 0 deletions
diff --git a/nixos/doc/manual/installation/installing-behind-a-proxy.xml b/nixos/doc/manual/installation/installing-behind-a-proxy.xml new file mode 100644 index 000000000000..c59d073c61c7 --- /dev/null +++ b/nixos/doc/manual/installation/installing-behind-a-proxy.xml @@ -0,0 +1,47 @@ +<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 = "http://user:password@proxy:port/"; +networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; +</programlisting> + </listitem> + <listitem> + <para> + Setup the proxy environment variables in the shell where you are + running <literal>nixos-install</literal>. + </para> + <programlisting> +# proxy_url="http://user:password@proxy:port/" +# export http_proxy="$proxy_url" +# export HTTP_PROXY="$proxy_url" +# export https_proxy="$proxy_url" +# export HTTPS_PROXY="$proxy_url" +</programlisting> + </listitem> +</orderedlist> + +<note> +<para> + If you are switching networks with different proxy configurations, use the + <literal>nesting.clone</literal> option in + <literal>configuration.nix</literal> to switch proxies at runtime. + Refer to <xref linkend="ch-options" /> for more information. +</para> +</note> +</section> diff --git a/nixos/doc/manual/installation/installing.xml b/nixos/doc/manual/installation/installing.xml index 6f8e0f613b19..916384559e24 100644 --- a/nixos/doc/manual/installation/installing.xml +++ b/nixos/doc/manual/installation/installing.xml @@ -443,4 +443,5 @@ $ nix-env -i w3m</screen> <xi:include href="installing-pxe.xml" /> <xi:include href="installing-virtualbox-guest.xml" /> <xi:include href="installing-from-other-distro.xml" /> + <xi:include href="installing-behind-a-proxy.xml" /> </chapter> diff --git a/nixos/modules/installer/tools/nixos-generate-config.pl b/nixos/modules/installer/tools/nixos-generate-config.pl index bb201d97ded1..04678c919c22 100644..100755 --- a/nixos/modules/installer/tools/nixos-generate-config.pl +++ b/nixos/modules/installer/tools/nixos-generate-config.pl @@ -574,6 +574,10 @@ $bootLoaderConfig # networking.hostName = "nixos"; # Define your hostname. # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. + # Configure network proxy if necessary + # networking.proxy.default = "http://user:password@proxy:port/"; + # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; + # Select internationalisation properties. # i18n = { # consoleFont = "Lat2-Terminus16"; diff --git a/nixos/modules/system/activation/top-level.nix b/nixos/modules/system/activation/top-level.nix index 9d410a8b9ca4..fff88e2c2bf3 100644 --- a/nixos/modules/system/activation/top-level.nix +++ b/nixos/modules/system/activation/top-level.nix @@ -162,6 +162,13 @@ in description = '' Additional configurations to build based on the current configuration which then has a lower priority. + + To switch to a cloned configuration (e.g. <literal>child-1</literal>) + at runtime, run + + <programlisting> + # sudo /run/current-system/fine-tune/child-1/bin/switch-to-configuration test + </programlisting> ''; }; |