30 lines
910 B
Nix
30 lines
910 B
Nix
{
|
|
writeShellApplication,
|
|
nix-output-monitor,
|
|
jq,
|
|
}:
|
|
writeShellApplication {
|
|
name = "sos";
|
|
|
|
runtimeInputs = [
|
|
nix-output-monitor
|
|
jq
|
|
];
|
|
|
|
# TODO: somehow avoid --no-check-sigs??
|
|
text = ''
|
|
#!/usr/bin/env sh
|
|
# This script performs a nixos system update using the remote builder as remote store.
|
|
# This should improve the system update performance drastically
|
|
|
|
echo "########## building... ##########"
|
|
OUT=$(nom build "$FLAKE#nixosConfigurations.$(hostname).config.system.build.toplevel" --store ssh-ng://nix@builder.julian-mutter.de --eval-store auto --json | jq -r '.[0].outputs.out')
|
|
echo "########## output is: $OUT ##########"
|
|
echo "########## downloading... ##########"
|
|
nix copy --no-check-sigs --from ssh-ng://nix@builder.julian-mutter.de "$OUT"
|
|
|
|
echo "########## activating... ##########"
|
|
sudo "$OUT"/bin/switch-to-configuration switch
|
|
'';
|
|
}
|