refactoring
This commit is contained in:
parent
9313d89b15
commit
3adc5e9f73
40 changed files with 73 additions and 73 deletions
44
modules/mizukios/features/packages/dr.nix
Normal file
44
modules/mizukios/features/packages/dr.nix
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
{ pkgs }:
|
||||
pkgs.writeShellApplication {
|
||||
name = "dr";
|
||||
|
||||
runtimeInputs = with pkgs; [
|
||||
nix-output-monitor
|
||||
coreutils
|
||||
nix
|
||||
attic-client
|
||||
];
|
||||
|
||||
text = ''
|
||||
set -e
|
||||
|
||||
TARGET_NAME="''${1:-$(hostname -s)}"
|
||||
FLAKE_PATH="."
|
||||
UPLOAD_CACHE=true
|
||||
|
||||
while [[ $# -gt 0 ]]; do
|
||||
case "$1" in
|
||||
--no-upload) UPLOAD_CACHE=false ;;
|
||||
*) TARGET_NAME="$1" ;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
echo "macOS 시스템 빌드 중... ($TARGET_NAME)"
|
||||
|
||||
BUILD_PATH=$(nom build "$FLAKE_PATH#darwinConfigurations.$TARGET_NAME.system" --print-out-paths --no-link)
|
||||
|
||||
echo "프로필 등록 및 스위치 중..."
|
||||
|
||||
sudo nix-env --profile /nix/var/nix/profiles/system --set "$BUILD_PATH"
|
||||
|
||||
sudo "$BUILD_PATH/activate"
|
||||
|
||||
if [ "$UPLOAD_CACHE" = true ]; then
|
||||
echo "캐시 업로드 중..."
|
||||
attic push imnyang "$BUILD_PATH" || echo "푸시 실패"
|
||||
fi
|
||||
|
||||
echo "nix-darwin 스위치 완료!"
|
||||
'';
|
||||
}
|
||||
50
modules/mizukios/features/packages/nr.nix
Normal file
50
modules/mizukios/features/packages/nr.nix
Normal 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 "스위치 완료!"
|
||||
'';
|
||||
}
|
||||
59
modules/mizukios/features/packages/nrr.nix
Normal file
59
modules/mizukios/features/packages/nrr.nix
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
{ pkgs }:
|
||||
pkgs.writeShellApplication {
|
||||
name = "nrr";
|
||||
|
||||
runtimeInputs = with pkgs; [
|
||||
nix-output-monitor
|
||||
openssh
|
||||
coreutils
|
||||
];
|
||||
|
||||
text = ''
|
||||
set -e
|
||||
|
||||
TARGET_NAME=""
|
||||
if [ $# -gt 0 ]; then
|
||||
TARGET_NAME="$1"
|
||||
fi
|
||||
FLAKE_PATH="."
|
||||
|
||||
declare -A HOST_MAP
|
||||
HOST_MAP["hikari"]="10.11.8.100"
|
||||
HOST_MAP["hako"]="10.11.8.102"
|
||||
HOST_MAP["kazusa"]="82.21.82.30"
|
||||
HOST_MAP["natsu"]="natsu.icn.mizuki.guru"
|
||||
|
||||
HOST_MAP["mafuyu"]="10.20.30.101"
|
||||
HOST_MAP["mizuki"]="10.20.30.103"
|
||||
HOST_MAP["ena"]="10.20.30.104"
|
||||
|
||||
if [ -z "$TARGET_NAME" ]; then
|
||||
echo "nrr - 로컬에서 NixOS 빌드 후 스위치합니다"
|
||||
echo "사용법: nrr <hostname>"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ -v "HOST_MAP[$TARGET_NAME]" ]]; then
|
||||
TARGET_IP=''${HOST_MAP[$TARGET_NAME]}
|
||||
echo "호스트 사용: $TARGET_NAME -> $TARGET_IP"
|
||||
else
|
||||
echo "매핑되지 않은 호스트입니다."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "시스템 빌드 중..."
|
||||
BUILD_PATH=$(nom build "$FLAKE_PATH#nixosConfigurations.$TARGET_NAME.config.system.build.toplevel" --print-out-paths --no-link --eval-cache --accept-flake-config)
|
||||
|
||||
echo "시스템 복사 중... ($BUILD_PATH -> $TARGET_IP)"
|
||||
nix copy --to "ssh://imnyang@$TARGET_IP" "$BUILD_PATH"
|
||||
|
||||
echo "스위치 중..."
|
||||
# shellcheck disable=SC2029
|
||||
ssh "imnyang@$TARGET_IP" "sudo nix-env --profile /nix/var/nix/profiles/system --set \"$BUILD_PATH\" && sudo $BUILD_PATH/bin/switch-to-configuration switch"
|
||||
|
||||
echo "캐시 업로드 중..."
|
||||
attic push imnyang "$BUILD_PATH" || echo "푸시 실패"
|
||||
|
||||
echo "배포 완료!"
|
||||
'';
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue