31 lines
717 B
Nix
31 lines
717 B
Nix
|
{ pkgs ? import <nixpkgs> {}
|
||
|
, 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
|
||
|
rebuild = pkgs.writeScript "script" ''
|
||
|
#!/usr/bin/env bash
|
||
|
set -xe
|
||
|
|
||
|
pushd ${gitRoot}/${dir}
|
||
|
export NIXOS_CONFIG="$PWD"/configuration.nix
|
||
|
|
||
|
[[ -e "''${NIXOS_CONFIG}" ]]
|
||
|
|
||
|
nixos-rebuild -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; });
|
||
|
}
|