diff options
Diffstat (limited to 'build.sh')
-rwxr-xr-x | build.sh | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/build.sh b/build.sh new file mode 100755 index 00000000..357acf58 --- /dev/null +++ b/build.sh @@ -0,0 +1,29 @@ +#!/usr/bin/env sh + +host="${1-tiamat}" +root="$(git rev-parse --show-toplevel)" + +SYSTEM_OUT="$root/result-system" +HOME_OUT="$root/result-home-soispha" + +check() { + file="$1" + if [ -s "$file" ]; then + rm "$file" + elif ! [ -e "$file" ]; then + : "Ignore not existing files" + else + echo "ERROR: '$file' is not a symlink. Not removing it." 1>&2 + exit 1 + fi +} + +system="$(nix build ".#nixosConfigurations.$host.config.system.build.toplevel" --print-out-paths --no-link)" +check "$SYSTEM_OUT" +ln --symbolic "$system" "$SYSTEM_OUT" + +home="$(grep ExecStart= "$SYSTEM_OUT/etc/systemd/system/home-manager-soispha.service" | awk '{print $2}')" +check "$HOME_OUT" +ln --symbolic "$home" "$HOME_OUT" + +# vim: ft=sh |