{ pkgs ? import {} , ownLib ? import ../lib/default.nix { } , dir , rebuildarg , moreargs ? "" , diskId ? (import ((builtins.getEnv "PWD")+"/${dir}/hw.nix") {}).hardware.encryptedDisk.diskId , gitRoot ? "$(git rev-parse --show-toplevel)" }: let rebuildargsSudo = [ "switch" "boot" ]; rebuild = pkgs.writeScript "script" '' #!/usr/bin/env bash set -xe pushd ${gitRoot}/${dir} export NIXOS_CONFIG="$PWD"/configuration.nix [[ -e "''${NIXOS_CONFIG}" ]] ${if (builtins.elem rebuildarg rebuildargsSudo) && builtins.match ".*--target-host.*" moreargs == null then "sudo -E \\" else "" } nixos-rebuild --show-trace -I nixos-config=''${NIXOS_CONFIG} ${rebuildarg} ${moreargs} if test -L result; then rm result fi ''; in { recipes = { inherit rebuild; } // (import ./disk.nix { inherit pkgs ownLib dir rebuildarg moreargs diskId gitRoot; }); }