summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlassulus <lassulus@lassul.us>2020-05-12 14:31:39 +0200
committerLassulus <github@lassul.us>2020-05-12 19:19:00 +0200
commitbe3fa4608b23b1e24f838903d6f7be932b299776 (patch)
treebe4893070633d0b8afc317a966ba86a20a0b5931
parent476fb97dc91032dcef7e812a7473ea7df90ae537 (diff)
README: document writeTest & writeCommand
-rw-r--r--README.md60
1 files 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 '<nixpkgs/nixos>'`.
+
+### `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`