#!/usr/bin/env nix-shell
#!nix-shell -i zsh --packages nvd zsh

if [[ ${@} =~ "--flake" ]]; then
	args=(${=@})
else
	args=("--flake .#$(hostname -s)" ${=@})
fi

cd /etc/nixos && \
	nix flake update && \
	nixos-rebuild switch --show-trace ${=args} && \
	echo && \
	nixos-rebuild list-generations | cat && \
	echo && \
	res=$(find /nix/var/nix/profiles -iname system-\* -type l -exec ls -ltr \{\} + | awk '{print $9}' | tail -2)

if [[ ${?} -eq 0 && $(echo -E "${res}" | wc -l) -eq 2 ]]; then
	nvd diff $(echo -E "${res}" | xargs)
fi
