29 lines
597 B
Nix
29 lines
597 B
Nix
{
|
|
pkgs,
|
|
...
|
|
}:
|
|
|
|
pkgs.writeShellApplication {
|
|
name = "sysupdate";
|
|
|
|
runtimeInputs = with pkgs; [
|
|
nix-output-monitor nixos-rebuild home-manager
|
|
];
|
|
|
|
text = ''
|
|
NIXCONF="''${NIXCONF:-/etc/nixos}"
|
|
echo Building config from flake at: "$NIXCONF" 1>&2
|
|
if [[ "''${1:-}" == "home" ]]; then
|
|
home-manager switch -L --flake "$NIXCONF" |& nom
|
|
exit $?
|
|
fi
|
|
if [ "$EUID" -ne 0 ]; then
|
|
echo Please rerun as root. 1>&2
|
|
exit 1
|
|
else
|
|
nixos-rebuild switch --log-format internal-json -v --flake "$NIXCONF" |& nom --json && \
|
|
exit $?
|
|
fi
|
|
'';
|
|
}
|