diff --git a/doc/manual/man-nixos-deploy-network.xml b/doc/manual/man-nixos-deploy-network.xml
deleted file mode 100644
index 9667fef180ec..000000000000
--- a/doc/manual/man-nixos-deploy-network.xml
+++ /dev/null
@@ -1,112 +0,0 @@
-
-
-
- nixos-deploy-network
- 8
- NixOS
-
-
-
-
- nixos-deploy-network
- deploy a network of NixOS configurations into a network of machines
-
-
-
-
- nixos-deploy-network
-
-
-
- network.nix
-
-
-
-Description
-
-This command automatically deploys a network of NixOS
-configurations into a network of machines.
-First, it tries to build all the system derivations defined
-in the network expression. Then it efficiently transfers
-the closures to the machines in the network. Finally, the configurations
-are activated. In case of a failure, a rollback is performed,
-which brings all the updated configurations back into the previous
-state.
-
-A network Nix expression has the following structure:
-
-
-{
- test1 = {pkgs, config, ...}:
- {
- services.openssh.enable = true;
- nixpkgs.system = "i686-linux";
- deployment.targetHost = "test1.example.net";
-
- # Other NixOS options
- };
-
- test2 = {pkgs, config, ...}:
- {
- services.openssh.enable = true;
- services.httpd.enable = true;
- environment.systemPackages = [ pkgs.lynx ];
- nixpkgs.system = "x86_64-linux";
- deployment.targetHost = "test2.example.net";
-
- # Other NixOS options
- };
-}
-
-
-Each attribute in the expression represents a machine in the network
-(e.g. test1 and test2)
-referring to a function defining a NixOS configuration.
-In each NixOS configuration, two attributes have a special meaning.
-The deployment.targetHost specifies the address
-(domain name or IP address)
-of the system which is used by ssh to perform
-remote deployment operations. The nixpkgs.system
-attribute can be used to specify an architecture for the target machine,
-such as i686-linux which builds a 32-bit NixOS
-configuration. Omitting this property will build the configuration
-for the same architecture as the host system.
-
-
-
-
-Options
-
-This command accepts the following options:
-
-
-
-
-
-
- Shows a trace of the output.
-
-
-
-
-
-
- Do not create a 'result' symlink.
-
-
-
-
- ,
-
- Shows the usage of this command to the user.
-
-
-
-
-
-
-
-
-
diff --git a/doc/manual/man-pages.xml b/doc/manual/man-pages.xml
index ffe0100c5ed3..7840e1b897b0 100644
--- a/doc/manual/man-pages.xml
+++ b/doc/manual/man-pages.xml
@@ -26,6 +26,6 @@
-
+
diff --git a/modules/installer/tools/nixos-deploy-network/deploy.nix b/modules/installer/tools/nixos-deploy-network/deploy.nix
deleted file mode 100644
index 7ece202a990c..000000000000
--- a/modules/installer/tools/nixos-deploy-network/deploy.nix
+++ /dev/null
@@ -1,121 +0,0 @@
-{ nixos ? /etc/nixos/nixos
-, nixpkgs ? /etc/nixos/nixpkgs
-, networkExprs
-, targetProperty ? "targetHost"
-}:
-
-let
- pkgs = import nixpkgs {};
-
- inherit (builtins) attrNames getAttr listToAttrs;
- inherit (pkgs.lib) concatMapStrings zipAttrs;
-
- networks = map (networkExpr: import networkExpr) networkExprs;
-
- network = zipAttrs networks;
-
- generateRollbackSucceededPhase = network: configs:
- concatMapStrings (configurationName:
- let
- config = getAttr configurationName configs;
- in
- ''
- if [ "$rollback" != "$succeeded" ]
- then
- ssh $NIX_SSHOPTS ${getAttr targetProperty (config.deployment)} nix-env -p /nix/var/nix/profiles/system --rollback
- ssh $NIX_SSHOPTS ${getAttr targetProperty (config.deployment)} /nix/var/nix/profiles/system/bin/switch-to-configuration switch
-
- rollback=$((rollback + 1))
- fi
- ''
- ) (attrNames network)
- ;
-
- generateDistributionPhase = network: configs:
- concatMapStrings (configurationName:
- let
- config = getAttr configurationName configs;
- in
- ''
- echo "=== copy system closure to ${getAttr targetProperty (config.deployment)} ==="
- nix-copy-closure --to ${getAttr targetProperty (config.deployment)} ${config.system.build.toplevel}
- ''
- ) (attrNames network)
- ;
-
- generateActivationPhase = network: configs:
- concatMapStrings (configurationName:
- let
- config = getAttr configurationName configs;
- in
- ''
- echo "=== activating system configuration on ${getAttr targetProperty (config.deployment)} ==="
- ssh $NIX_SSHOPTS ${getAttr targetProperty (config.deployment)} nix-env -p /nix/var/nix/profiles/system --set ${config.system.build.toplevel} ||
- (ssh $NIX_SSHOPTS ${getAttr targetProperty (config.deployment)} nix-env -p /nix/var/nix/profiles/system --rollback; rollbackSucceeded)
-
- ssh $NIX_SSHOPTS ${getAttr targetProperty (config.deployment)} /nix/var/nix/profiles/system/bin/switch-to-configuration switch ||
- ( ssh $NIX_SSHOPTS ${getAttr targetProperty (config.deployment)} nix-env -p /nix/var/nix/profiles/system --rollback
- ssh $NIX_SSHOPTS ${getAttr targetProperty (config.deployment)} /nix/var/nix/profiles/system/bin/switch-to-configuration switch
- rollbackSucceeded
- )
-
- succeeded=$((succeeded + 1))
- ''
- ) (attrNames network)
- ;
-
- evaluateMachines = network:
- listToAttrs (map (configurationName:
- let
- modules = getAttr configurationName network;
- in
- { name = configurationName;
- value = (import "${nixos}/lib/eval-config.nix" {
- inherit nixpkgs;
- modules =
- modules ++
- [ # Provide a default hostname and deployment target equal
- # to the attribute name of the machine in the model.
- { key = "set-default-hostname";
- networking.hostName = pkgs.lib.mkOverride 900 configurationName;
- deployment.targetHost = pkgs.lib.mkOverride 900 configurationName;
- }
- ];
- extraArgs = { nodes = evaluateMachines network; };
- }).config; }
- ) (attrNames (network)));
-
- configs = evaluateMachines network;
-in
-pkgs.stdenv.mkDerivation {
- name = "deploy-script";
-
- # This script has a zillion dependencies and is trivial to build, so
- # we don't want to build it remotely.
- preferLocalBuild = true;
-
- buildCommand =
- ''
- ensureDir $out/bin
- cat > $out/bin/deploy-systems << "EOF"
- #! ${pkgs.stdenv.shell} -e
-
- rollbackSucceeded()
- {
- rollback=0
- ${generateRollbackSucceededPhase network configs}
- }
-
- # Distribution phase
-
- ${generateDistributionPhase network configs}
-
- # Activation phase
-
- succeeded=0
-
- ${generateActivationPhase network configs}
- EOF
- chmod +x $out/bin/deploy-systems
- '';
-}
diff --git a/modules/installer/tools/nixos-deploy-network/nixos-deploy-network.sh b/modules/installer/tools/nixos-deploy-network/nixos-deploy-network.sh
deleted file mode 100644
index 28580e2f49de..000000000000
--- a/modules/installer/tools/nixos-deploy-network/nixos-deploy-network.sh
+++ /dev/null
@@ -1,70 +0,0 @@
-#! @shell@ -e
-
-# Shows the usage of this command to the user
-
-showUsage()
-{
- echo "Usage: $0 network_expr [network_expr2 ...]"
- echo "Options:"
- echo
- echo "--show-trace Shows an output trace"
- echo "--no-out-link Do not create a 'result' symlink"
- echo "-h,--help Shows the usage of this command"
-}
-
-# Parse valid argument options
-
-PARAMS=`getopt -n $0 -o h -l show-trace,no-out-link,help -- "$@"`
-
-if [ $? != 0 ]
-then
- showUsage
- exit 1
-fi
-
-eval set -- "$PARAMS"
-
-# Evaluate valid options
-
-while [ "$1" != "--" ]
-do
- case "$1" in
- --show-trace)
- showTraceArg="--show-trace"
- ;;
- --no-out-link)
- noOutLinkArg="--no-out-link"
- ;;
- -h|--help)
- showUsage
- exit 0
- ;;
- esac
-
- shift
-done
-
-shift
-
-# Validate the given options
-
-if [ -z "$NIXOS" ]
-then
- NIXOS=/etc/nixos/nixos
-fi
-
-if [ "$@" = "" ]
-then
- echo "ERROR: At least one network Nix expression must be specified!" >&2
- exit 1
-else
- for i in $@
- do
- networkExprs="$networkExprs \"$(readlink -f $i)\""
- done
-fi
-
-# Deploy the network
-
-vms=`nix-build $NIXOS/modules/installer/tools/nixos-deploy-network/deploy.nix --arg networkExprs "[ $networkExprs ]" --argstr nixos $NIXOS $showTraceArg $noOutLinkArg`
-$vms/bin/deploy-systems
diff --git a/modules/installer/tools/tools.nix b/modules/installer/tools/tools.nix
index 740bfcbbb0cf..b0276bba8812 100644
--- a/modules/installer/tools/tools.nix
+++ b/modules/installer/tools/tools.nix
@@ -17,11 +17,6 @@ let
src = ./nixos-build-vms/nixos-build-vms.sh;
};
- nixosDeployNetwork = makeProg {
- name = "nixos-deploy-network";
- src = ./nixos-deploy-network/nixos-deploy-network.sh;
- };
-
nixosInstall = makeProg {
name = "nixos-install";
src = ./nixos-install.sh;