update helper script

auto-flake-update
Yorick van Pelt 2018-03-11 23:18:22 +01:00
parent c4ca9690a5
commit 926e9f6960
2 changed files with 73 additions and 20 deletions

71
conf
View File

@ -5,25 +5,56 @@ then
sudo chgrp nixbld deploy_key sudo chgrp nixbld deploy_key
chmod 640 deploy_key chmod 640 deploy_key
fi fi
export NIX_PATH="ssh-id-file=`pwd`/deploy_key":secrets=`pwd`/secrets.nix:yori-nix=`pwd` export NIX_PATH="ssh-id-file=$PWD/deploy_key":secrets=$PWD/secrets.nix:yori-nix=$PWD
function get_channel {
case $1 in
git)
echo "nixpkgs=https://github.com/NixOS/nixpkgs/archive/master.tar.gz"
;;
stable)
echo "nixpkgs=https://nixos.org/channels/nixos-17.03/nixexprs.tar.xz"
;;
checkout)
echo "nixpkgs=$PWD/../nixpkgs"
;;
channel)
echo "/nix/var/nix/profiles/per-user/root/channels/nixos"
;;
esac
}
case $1 in case $1 in
git) cloc)
export NIX_PATH="nixpkgs=https://github.com/NixOS/nixpkgs/archive/master.tar.gz:nixos-config=`pwd`/logical/$2.nix:$NIX_PATH" exec cloc --read-lang-def=deploy/nix_cloc .
eval ${@:3} ;;
;; copy-keys)
stable) $0 exec "$2" nix build -f "\\<nixpkgs/nixos\\>" config.deployment.keys-copy --out-link copy-keys
export NIX_PATH="nixpkgs=https://nixos.org/channels/nixos-17.03/nixexprs.tar.xz:nixos-config=`pwd`/logical/$2.nix:$NIX_PATH" TARGET_HOST=$(jq -r ".$2.host"<servers.json)
eval ${@:3} ./copy-keys/bin/copy-keys "$TARGET_HOST"
;; # rm ./copy-keys
checkout) ;;
export NIX_PATH="nixpkgs=`pwd`/../nixpkgs:nixos-config=`pwd`/logical/$2.nix:$NIX_PATH" exec)
eval ${@:3} CHANNEL=$(jq -r ".$2.pkgs"<servers.json)
;; export NIX_PATH="$(get_channel "$CHANNEL"):nixos-config=$PWD/logical/$2.nix:$NIX_PATH"
channel) eval "${@:3}"
export NIX_PATH="/nix/var/nix/profiles/per-user/root/channels/nixos:nixos-config=`pwd`/logical/$2.nix:$NIX_PATH" ;;
eval ${@:3} ssh)
;; TARGET_HOST=$(jq -r ".$2.host"<servers.json)
cloc) ssh root@"$TARGET_HOST"
cloc --read-lang-def=deploy/nix_cloc . ;;
;; repl)
exec "$0" exec "$2" nix repl "\\<nixpkgs\\>" "\\<nixpkgs/nixos\\>"
;;
build)
exec "$0" exec "$2" nixos-rebuild build
;;
boot)
TARGET_HOST=$(jq -r ".$2.host"<servers.json)
exec "$0" exec "$2" nixos-rebuild --build-host localhost --target-host "$TARGET_HOST" boot
;;
switch)
TARGET_HOST=$(jq -r ".$2.host"<servers.json)
exec "$0" exec "$2" nixos-rebuild --build-host localhost --target-host "$TARGET_HOST" switch
;;
esac esac

22
servers.json Normal file
View File

@ -0,0 +1,22 @@
{
"pennyworth": {
"pkgs": "channel",
"host": "pennyworth.yori.cc"
},
"jarvis": {
"pkgs": "channel",
"host": "localhost"
},
"ascanius": {
"pkgs": "channel",
"host": "192.168.1.6"
},
"woodhouse": {
"pkgs": "channel",
"host": "192.168.1.9"
},
"frumar": {
"pkgs": "channel",
"host": "frumar.yori.cc"
}
}