imnyang/nix-flakes
Watch
1
0
Fork
You've already forked nix-flakes
0

refactoring

This commit is contained in:
암냥 2026-07-05 13:36:31 +09:00
commit 3adc5e9f73
No known key found for this signature in database

View file

@ -0,0 +1,50 @@
{ pkgs }:
pkgs.writeShellApplication {
name = "nr";
runtimeInputs = with pkgs; [
nix-output-monitor
openssh
coreutils
nix
attic-client
];
text = ''
set -e
TARGET_NAME="''${1:-$(hostname)}"
FLAKE_PATH="."
UPLOAD_CACHE=true
while [[ $# -gt 0 ]]; do
case "$1" in
--no-upload) UPLOAD_CACHE=false ;;
*) TARGET_NAME="$1" ;;
esac
shift
done
EXTRA_BUILD_FLAGS=()
if [ "$TARGET_NAME" = "kazusa" ]; then
EXTRA_BUILD_FLAGS+=("--max-substituter-jobs" "2")
fi
echo "시스템 빌드 중... $TARGET_NAME"
# shellcheck disable=SC2086
BUILD_PATH=$(nom build "$FLAKE_PATH#nixosConfigurations.$TARGET_NAME.config.system.build.toplevel" \
"''${EXTRA_BUILD_FLAGS[@]}" \
--print-out-paths --no-link)
echo "스위치 중..."
sudo nix-env --profile /nix/var/nix/profiles/system --set "$BUILD_PATH"
sudo "$BUILD_PATH/bin/switch-to-configuration" switch
if [ "$UPLOAD_CACHE" = true ]; then
echo "캐시 업로드 중..."
attic push imnyang "$BUILD_PATH" || echo "푸시 실패"
fi
echo "스위치 완료!"
'';
}