nix: add channel configuration and rework update process

This commit is contained in:
steveej 2018-11-03 11:45:40 +01:00
parent 239c2c9c44
commit dd4cd9aaf4
14 changed files with 137 additions and 51 deletions

View file

@ -1,23 +1,25 @@
{ pkgs ? import <nixpkgs> {}
, dir
, rebuildarg ? null
, rebuildarg
, moreargs ? ""
}:
let
diskId = (import ((builtins.getEnv "PWD")+"/${dir}/hw.nix") {}).hardware.encryptedDisk.diskId;
GIT_ROOT=''''$(git rev-parse --show-toplevel)'';
in {
rebuild = pkgs.writeScript "script" ''
#!/usr/bin/env bash
set -xe
pushd ${dir}
pushd ${GIT_ROOT}/${dir}
export NIXOS_CONFIG="$PWD"/configuration.nix
export INSTALL_ROOT="/mnt/$ID-root"
[[ -e "''${NIXOS_CONFIG}" ]]
nixos-rebuild -I nixos-config=''${NIXOS_CONFIG} ${rebuildarg}
nixos-rebuild -I nixos-config=''${NIXOS_CONFIG} ${rebuildarg} ${moreargs}
if test -L result; then
rm result
fi
@ -52,7 +54,7 @@ in {
#!/usr/bin/env bash
set -xe
ID=${diskId}
pushd ${dir}
pushd ${GIT_ROOT}/${dir}
export NIXOS_CONFIG="$PWD"/configuration.nix
export INSTALL_ROOT="/mnt/$ID-root"