aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2020-06-16 19:47:08 +0200
committertv <tv@krebsco.de>2020-06-16 19:47:08 +0200
commit56a066d4705f6f9f28b713e5f8a50a6596063dce (patch)
tree8b4ed2b11b21c38c860882338a086bb06435deb1 /README.md
parent44e8dd5cea9cdae04eecd7e15cdfc45a96643cd5 (diff)
parentbe3fa4608b23b1e24f838903d6f7be932b299776 (diff)
Merge remote-tracking branch 'krebs/master'
Diffstat (limited to 'README.md')
-rw-r--r--README.md60
1 files changed, 58 insertions, 2 deletions
diff --git a/README.md b/README.md
index c8a4c19..d6f921f 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`