#!/usr/bin/env bash if ! [ -e deploy_key ] || ! [ -e secrets.nix ] then git crypt unlock sudo chgrp nixbld deploy_key chmod 640 deploy_key fi 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-18.03/nixexprs.tar.xz" ;; checkout) echo "nixpkgs=$PWD/../projects/nixpkgs" ;; channel) echo "/nix/var/nix/profiles/per-user/root/channels/nixos" ;; esac } case $1 in cloc) exec cloc --read-lang-def=deploy/nix_cloc . ;; copy-keys) $0 exec "$2" nix build -f "\\" config.deployment.keys-copy --out-link copy-keys TARGET_HOST=$(jq -r ".$2.host"" "\\" ;; build) exec "$0" exec "$2" nixos-rebuild build ;; copy) TARGET_HOST=$(jq -r ".$2.host"