From d4ca5907d67c4f2374b6231ff03d8ed36b39ec96 Mon Sep 17 00:00:00 2001 From: tv Date: Wed, 24 Jun 2015 20:10:41 +0200 Subject: s/nixos-fetch-git/fetchgit/ --- bin/fetchgit | 25 +++++++++++++++++++++++++ bin/new-nixos-query | 8 ++++++++ bin/nixos-build | 13 ++++++++++++- bin/nixos-fetch-git | 32 -------------------------------- 4 files changed, 45 insertions(+), 33 deletions(-) create mode 100755 bin/fetchgit create mode 100755 bin/new-nixos-query delete mode 100755 bin/nixos-fetch-git (limited to 'bin') diff --git a/bin/fetchgit b/bin/fetchgit new file mode 100755 index 000000000..b9fe90854 --- /dev/null +++ b/bin/fetchgit @@ -0,0 +1,25 @@ +#! /bin/sh +# usage: fetchgit REVISION URL WORKTREE +set -euf + +git_rev=$1 +git_url=$2 +worktree=$3 + +if [ ! -d "$worktree" ]; then + mkdir -p "$worktree" +fi + +cd "$worktree" + +git init -q + +if ! current_url=$(git config remote.src.url); then + git remote add src "$git_url" +elif [ "$current_url" != "$git_url" ]; then + git remote set-url src "$git_url" +fi + +git fetch src + +git checkout "$git_rev" diff --git a/bin/new-nixos-query b/bin/new-nixos-query new file mode 100755 index 000000000..57761b520 --- /dev/null +++ b/bin/new-nixos-query @@ -0,0 +1,8 @@ +#! /bin/sh +set -euf +nix-instantiate \ + -A config."$1" \ + --eval \ + --json \ + '' \ + | jq -r . diff --git a/bin/nixos-build b/bin/nixos-build index 79b052654..94f3dc1f4 100755 --- a/bin/nixos-build +++ b/bin/nixos-build @@ -14,7 +14,18 @@ nixos_config=$config_root/modules/$host secrets_nix=$secrets_root/$host/nix secrets_rsync=$secrets_root/$host/rsync -nixos-fetch-git "$host" +( + # Notice NIX_PATH used from host + # Notice secrets required to evaluate configuration + NIX_PATH=$NIX_PATH:nixos-config=$nixos_config + NIX_PATH=$NIX_PATH:secrets=$secrets_nix + export NIX_PATH + + rev=$(new-nixos-query nixpkgs.rev) + url=$(new-nixos-query nixpkgs.url) + + fetchgit "$rev" "$url" tmp/nixpkgs/$host +) nix-build \ -I "$nixpkgs" \ diff --git a/bin/nixos-fetch-git b/bin/nixos-fetch-git deleted file mode 100755 index 7002208b5..000000000 --- a/bin/nixos-fetch-git +++ /dev/null @@ -1,32 +0,0 @@ -#! /bin/sh -# -# nixos-fetch-git : nixos-config -> ... -# -set -euf - -host=$1 - -target=root@$host - -git_rev=$(nixos-query "$host" nixpkgs.rev) -git_url=$(nixos-query "$host" nixpkgs.url) - -worktree=$nixpkgs_root/$host - -if [ ! -d "$worktree" ]; then - mkdir -p "$worktree" -fi - -cd "$worktree" - -git init -q - -if ! current_url=$(git config remote.src.url); then - git remote add src "$git_url" -elif [ "$current_url" != "$git_url" ]; then - git remote set-url src "$git_url" -fi - -git fetch src - -git checkout "$git_rev" -- cgit v1.2.3