nix-deploy: Deploy Nix-built software to a NixOS machine

[ apache, program, system ] [ Propose Tags ] [ Report a vulnerability ]

Deploy a NixOS system configuration with nix-deploy system ... to a remote machine and switch the machine to that system configuration. You can also deploy a nix store path with nix-deploy path ... to a remote machine or from a remote machine.

This tool is often used in conjunction with nix-delegate.


[Skip to Readme]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 1.0.0, 1.0.1, 1.0.2, 1.0.3, 1.0.4, 1.0.5, 1.0.6
Change log CHANGELOG.md
Dependencies base (>=4.9.0.0 && <5), bytestring (>=0.10.8.1 && <1.0), neat-interpolation (<0.6), optparse-applicative, optparse-generic (>=1.4.0 && <1.5), text (>=0.7 && <1.3), turtle (>=1.3.6 && <1.6) [details]
License Apache-2.0
Copyright 2017 Awake Networks
Author Awake Networks
Maintainer opensource@awakenetworks.com
Category System
Home page https://github.com/awakesecurity/nix-deploy#readme
Source repo head: git clone https://github.com/awakesecurity/nix-deploy.git
Uploaded by GabrielGonzalez at 2022-06-21T23:53:57Z
Distributions NixOS:1.0.6
Reverse Dependencies 1 direct, 0 indirect [details]
Executables nix-deploy
Downloads 3016 total (1 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
Last success reported on 2022-06-22 [all 1 reports]

Readme for nix-deploy-1.0.6

[back to package description]

nix-deploy

Deploy a NixOS system configuration with nix-deploy system ... to a remote machine and switch the machine to that system configuration. You can also deploy a nix store path with nix-deploy path ... to a remote machine or from a remote machine.

This tool is often used in conjunction with nix-delegate.

$ nix-deploy --help
Deploy software or an entire NixOS system configuration to another NixOS system

Usage: nix-deploy (path | system)

Available options:
  -h,--help                Show this help text

Available commands:
  path
  system
$ nix-deploy path --help
Usage: nix-deploy path (--to USER@HOST | --from USER@HOST) [--sudo] [--noSign]
                       [--path FILEPATH] [--profilePath FILEPATH]
                       [--profileName LINE]

Available options:
  -h,--help                Show this help text
  --to USER@HOST           Deploy software to this address (ex:
                           user@192.168.0.1)
  --from USER@HOST         Deploy software from this address (ex:
                           user@192.168.0.1)
  --sudo                   Prepend with sudo
  --noSign                 Don't sign payload (not recommended)
  --path FILEPATH          Path to deploy
  --profilePath FILEPATH   Path to parent profile directory (default:
                           /nix/var/nix/profiles)
  --profileName LINE       Name of profile to set (example: upgrade-tools)
$ nix-deploy system --help
Usage: nix-deploy system (--to USER@HOST | --from USER@HOST) [--noSign]
                         [--path FILEPATH] [--systemName LINE] ([--switch] |
                         [--boot] | [--test] | [--dry-activate] | [--reboot])

Available options:
  -h,--help                Show this help text
  --to USER@HOST           Deploy software to this address (ex:
                           user@192.168.0.1)
  --from USER@HOST         Deploy software from this address (ex:
                           user@192.168.0.1)
  --noSign                 Don't sign payload (not recommended)
  --path FILEPATH          Path to deploy
  --systemName LINE        Alternative system profile name (default: system)

Usage example

$ nix-deploy --to parnell@remote-server --path $(nix-build --no-out-link --attr foo ~/Development/bar/release.nix)
[+] Downloading: /etc/nix/signing-key.sec
[+] Installing: /etc/nix/signing-key.sec
[+] Downloading: /etc/nix/signing-key.pub
[+] Installing: /etc/nix/signing-key.pub
copying 178 missing paths (474.70 MiB) to ‘parnell@remote-server’...
...
[+] Copying /nix/store/q4c3avwb0szbsg8pkv7x32gcqz4g0wwa-foo-0.1.0.0

copying 4 missing paths (31.83 MiB) to ‘parnell@remote-server’...