diff options
author | tv <tv@shackspace.de> | 2015-07-07 05:55:28 +0200 |
---|---|---|
committer | tv <tv@shackspace.de> | 2015-07-07 05:55:28 +0200 |
commit | 366373e9c6d20501e0756a7e97cced2cb96d447d (patch) | |
tree | 94d4afccec8b669ea7564fed069513807fd4ff8b /bin | |
parent | 9c2bc5b4d0c6a87d5902eea3c3838d28dfe89a85 (diff) |
deploy: refactor to use modified/*/paths.nix
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/nixos-build | 24 | ||||
-rwxr-xr-x | bin/nixos-deploy | 16 | ||||
-rwxr-xr-x | bin/prefetch | 88 |
3 files changed, 0 insertions, 128 deletions
diff --git a/bin/nixos-build b/bin/nixos-build deleted file mode 100755 index 3e902fd08..000000000 --- a/bin/nixos-build +++ /dev/null @@ -1,24 +0,0 @@ -#! /bin/sh -# -# nixos-build system_name -> system_path -# -set -euf - -system_name=$1 - -NIXOS_CONFIG=$config_root/modules/$system_name -export NIXOS_CONFIG - -# Notice how host's NIX_PATH is used to prefetch nixpkgs. -prefetch nixpkgs "$nixpkgs_root/$system_name" - -NIX_PATH=$nixpkgs_root/$system_name -NIX_PATH=$NIX_PATH:secrets=$secrets_root/$system_name/nix -NIX_PATH=$NIX_PATH:pubkeys=$config_root/pubkeys -NIX_PATH=$NIX_PATH:retiolum-hosts=$retiolum_hosts -export NIX_PATH - -exec nix-build \ - -A system \ - --no-out-link \ - '<nixos>' diff --git a/bin/nixos-deploy b/bin/nixos-deploy deleted file mode 100755 index fa86a8c88..000000000 --- a/bin/nixos-deploy +++ /dev/null @@ -1,16 +0,0 @@ -#! /bin/sh -# -# nixos-deploy system_name target -# -set -euf - -system_name=$1 -target=$2 - -system=$(nixos-build "$system_name") - -nix-copy-closure --gzip --to "$target" "$system" - -copy-secrets "$system_name" "$target" - -ssh ${NIX_SSHOPTS-} "$target" "$system/bin/switch-to-configuration" switch diff --git a/bin/prefetch b/bin/prefetch deleted file mode 100755 index a87dd1899..000000000 --- a/bin/prefetch +++ /dev/null @@ -1,88 +0,0 @@ -#! /bin/sh -# -# usage: prefetch repo_name out_link -# -# Make the specified repository available as out_link. -# -set -euf - -repo_name=$1 -out_link=$2 - -if test "$repo_name" != nixpkgs; then - echo "prefetch: cannot fetch $repo_name, yet" >&2 - exit -1 -fi - -git_rev=$(nixos-query nixpkgs.rev) -git_url=$(nixos-query nixpkgs.url) -dirty=$(nixos-query nixpkgs.dirty) - -case $dirty in true) - ln -snf "$git_url" "$out_link" - echo "prefetch: using $git_url as it is" >&2 - exit -esac - -# Put all bases in the same place as out_link. -# Notice how out_link must not clash with cache_dir and work_dir. -cache_base=$(dirname "$out_link") -work_base=$(dirname "$out_link") - -# cache_dir points to a (maybe non-existent) directory, where a shared cache of -# the repository should be maintained. The shared cache is used to create -# multiple working trees of the repository. -cache_dir=$cache_base/$(echo "$git_url" | urlencode) - -# work_dir points to a (maybe non-existent) directory, where a specific -# revision of the repository is checked out. -work_dir=$work_base/$(echo "$git_rev" | urlencode) - -cache_git() { - git --git-dir="$cache_dir" "$@" -} - -work_git() { - git -C "$work_dir" "$@" -} - -is_up_to_date() { - test -d "$cache_dir" && - test -d "$work_dir" && - test "$(cache_git rev-parse --verify "$git_rev")" = "$git_rev" && - test "$(work_git rev-parse --verify HEAD)" = "$git_rev" -} - -# Notice how the remote name "origin" has been chosen arbitrarily, but must be -# kept in sync with the default value of nixpkgs.rev. -if ! is_up_to_date; then - if ! test -d "$cache_dir"; then - mkdir -p "$cache_dir" - cache_git init --bare - fi - if ! cache_git_url=$(cache_git config remote.origin.url); then - cache_git remote add origin "$git_url" - elif test "$cache_git_url" != "$git_url"; then - cache_git remote set-url origin "$git_url" - fi - cache_git fetch origin - if ! test -d "$work_dir"; then - git clone -n --shared "$cache_dir" "$work_dir" - fi - commit_name=$(cache_git rev-parse --verify "$git_rev") - work_git checkout "$commit_name" -- "$(readlink -f "$work_dir")" - work_git checkout -q "$commit_name" - work_git submodule init - work_git submodule update -fi -work_git clean -dxf - -# Relative links are nicer, and actually we know that work_dir and out_link are -# the same. But, for robustness, check anyway.. :) -if test "$(dirname "$work_dir")" = "$(dirname "$out_link")"; then - ln -snf "$(basename "$work_dir")" "$out_link" -else - ln -snf "$work_dir" "$out_link" -fi - -echo "prefetch: using $git_url $(work_git log --oneline -n1)" >&2 |