#!/usr/bin/env fish set -f nix_os (uname) set -f nix_hostname (hostname -s) set -f other_hostname $argv[1] switch $nix_os case Darwin set -f config_dir "$HOME/.config/nixpkgs" case Linux set -f config_dir /etc/nixos case '*' echo "Unsupported OS" exit 1 end pushd "$config_dir" rm -rf result if test "$other_hostname" = "" switch $nix_os case Darwin git pull nom build ".#darwinConfigurations.$nix_hostname.config.system.build.toplevel" env TERM=xterm-256color darwin-rebuild switch --flake ".#$nix_hostname" case Linux sudo git pull sudo nixos-rebuild switch --flake . end else git pull nom build --eval-store auto --store "ssh-ng://builder-$other_hostname" ".#nixosConfigurations.$other_hostname.config.system.build.toplevel" deploy --skip-checks ".#$other_hostname" end rm -f result popd