diff options
-rw-r--r-- | README.md | 60 |
1 files changed, 58 insertions, 2 deletions
@@ -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` |