dotfiles/home/programs/scripts/nixpkgs-switch

42 lines
785 B
Fish
Executable file

#!/usr/bin/env fish
set -g os (uname)
switch $os
case Darwin
set -g config_dir "$HOME/.config/nixpkgs"
case Linux
set -g config_dir /etc/nixos
case '*'
echo "Unsupported OS"
exit 1
end
pushd "$config_dir"
rm -rf result
set system_old (readlink /run/current-system)
switch $os
case Darwin
git pull
env TERM=xterm-256color darwin-rebuild switch --flake .
case Linux
sudo git pull
sudo nixos-rebuild switch --flake .
end
if test $status -eq 0
set system_new (readlink /run/current-system)
rm -f result
if test -e "$HOME/.bin/upload-nifoc-nix-cache"
echo "Updating nifoc-nix-cache ..."
upload-nifoc-nix-cache
end
nvd diff "$system_old" "$system_new"
end
popd