diff options
author | tv <tv@krebsco.de> | 2020-06-16 19:47:08 +0200 |
---|---|---|
committer | tv <tv@krebsco.de> | 2020-06-16 19:47:08 +0200 |
commit | 56a066d4705f6f9f28b713e5f8a50a6596063dce (patch) | |
tree | 8b4ed2b11b21c38c860882338a086bb06435deb1 | |
parent | 44e8dd5cea9cdae04eecd7e15cdfc45a96643cd5 (diff) | |
parent | be3fa4608b23b1e24f838903d6f7be932b299776 (diff) |
Merge remote-tracking branch 'krebs/master'
-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` |