36 lines
689 B
Plaintext
Executable File
36 lines
689 B
Plaintext
Executable File
|
|
#!/usr/bin/env bash
|
|
#
|
|
# NixOS update and rebuild script
|
|
#
|
|
# original by 0atman: https://gist.github.com/0atman/1a5133b842f929ba4c1e195ee67599d5
|
|
|
|
set -e
|
|
|
|
pushd ~/nix-config
|
|
|
|
nix flake update
|
|
|
|
if git diff --quiet; then
|
|
echo "No changes detected, exiting."
|
|
popd
|
|
exit 0
|
|
fi
|
|
|
|
alejandra . &>/dev/null \
|
|
|| ( alejandra . ; echo "formatting failed!" && exit 1)
|
|
|
|
git diff -U0
|
|
|
|
echo "NixOS rebuilding..."
|
|
|
|
sudo nixos-rebuild switch --flake . &>nixos-switch.log \
|
|
|| (cat nixos-switch.log | grep --color error && exit 1)
|
|
|
|
current=$(nixos-rebuild list-generations | grep current)
|
|
|
|
git commit -am "$current"
|
|
|
|
popd
|
|
|
|
notify-send -e "NixOS Rebuilt OK!" --icon=software-update-available |