diff options
author | tv <tv@krebsco.de> | 2017-07-22 23:44:23 +0200 |
---|---|---|
committer | tv <tv@krebsco.de> | 2017-07-23 01:35:46 +0200 |
commit | 012c88846f05dbeaa98a282f50d961c7cf82efe8 (patch) | |
tree | 77cd22ad44f67937011195641f1f6222c9c0155f | |
parent | 2c7538b70e0c4120264b53e76968df567beeeb87 (diff) |
shell: add get-source command
-rw-r--r-- | shell.nix | 28 |
1 files changed, 21 insertions, 7 deletions
@@ -2,6 +2,10 @@ let lib = import ./lib; pkgs = import <nixpkgs> { overlays = [(import ./krebs/5pkgs)]; }; + # + # high level commands + # + # usage: deploy [--user=USER] --system=SYSTEM [--target=TARGET] cmds.deploy = pkgs.writeDash "cmds.deploy" '' set -efu @@ -29,6 +33,22 @@ let exec ${utils.build} config.system.build.toplevel ''; + # + # low level commands + # + + # usage: get-source SOURCE_FILE + cmds.get-source = pkgs.writeDash "cmds.get-source" '' + set -efu + exec ${pkgs.nix}/bin/nix-instantiate \ + --eval \ + --json \ + --readonly-mode \ + --show-trace \ + --strict \ + "$1" + ''; + init.args = pkgs.writeText "init.args" /* sh */ '' args=$(${pkgs.utillinux}/bin/getopt -n "$command" -s sh \ -o s:t:u: \ @@ -90,13 +110,7 @@ let }; populate = pkgs.writeDash "init.env.populate" '' set -efu - _source=$(${pkgs.nix}/bin/nix-instantiate \ - --eval \ - --json \ - --readonly-mode \ - --show-trace \ - --strict \ - "$source") + _source=$(get-source "$source") echo $_source | ${pkgs.populate}/bin/populate \ "$target_user@$target_host:$target_port$target_path" \ |