From be3fa4608b23b1e24f838903d6f7be932b299776 Mon Sep 17 00:00:00 2001 From: lassulus Date: Tue, 12 May 2020 14:31:39 +0200 Subject: README: document writeTest & writeCommand --- README.md | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 58 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1ac0b54..c4e2b4d 100644 --- a/README.md +++ b/README.md @@ -52,11 +52,13 @@ in ``` and run `$(nix-build --no-out-link krops.nix)` to deploy the target machine. +krops exports some funtions under `krops.` namely: -Under the hood, this will make the sources available on the target machine +## writeDeploy + +This will make the sources available on the target machine below `/var/src`, and execute `nixos-rebuild switch -I /var/src`. -## Deployment Attributes ### `target` @@ -130,6 +132,60 @@ in a dedicated `nix build` step. Create the sentinel file (`/var/src/.populate`) before syncing the new source. +## writeTest + +Very similiar to writeDeploy, but just builds the system on the target without +activating it. + +This basically makes the sources available on the target machine +below `/var/src`, and executes `NIX_PATH=/var/src nix-build -A system ''`. + +### `target` + +[see `writeDeploy`](#writeDeploy) + +### `backup` (optional, defaults to false) + +[see `writeDeploy`](#writeDeploy) + +### `force` (optional, defaults to false) + +[see `writeDeploy`](#writeDeploy) + +## writeCommand + +This can be used to run other commands than `nixos-rebuild` or pre/post build hooks. + +### `command` + +A function which takes the targetPath as an attribute. +Example to activate/deactivate a swapfile before/after build: + +```nix +pkgs.krops.writeCommand "deploy-with-swap" { + source = source; + target = "root@YOUR_IP_ADDRESS_OR_HOST_NAME_HERE"; + command = targetPath: '' + swapon /var/swapfile + nixos-rebuild -I ${targetPath} switch + swapoff /var/swapfile + ''; +} +``` + +### `target` + +[see `writeDeploy`](#writeDeploy) + +### `backup` (optional, defaults to false) + +[see `writeDeploy`](#writeDeploy) + +### `force` (optional, defaults to false) + +[see `writeDeploy`](#writeDeploy) + + ## Source Types ### `derivation` -- cgit v1.2.3