aboutsummaryrefslogtreecommitdiff
path: root/build
diff options
context:
space:
mode:
Diffstat (limited to 'build')
-rwxr-xr-xbuild29
1 files changed, 29 insertions, 0 deletions
diff --git a/build b/build
new file mode 100755
index 00000000000..9432a802d13
--- /dev/null
+++ b/build
@@ -0,0 +1,29 @@
+#!/bin/sh
+
+set -eo pipefail
+
+DIR=$(dirname $0)
+D=$(mktemp -du)
+ROOT="$DIR/roots/$(hostname).nix"
+
+function build {
+ NIXPKGS_ALLOW_UNFREE=1 \
+ nix build -f '<nixpkgs/nixos>' config.system.build \
+ -I nixos-config="$ROOT" \
+ -I "nixpkgs=$DIR/nixpkgs" \
+ -I "nixpkgs-overlays=$DIR/overlays" \
+ -I "home-manager=$DIR/home-manager" \
+ --out-link "$D"
+}
+
+function switch {
+ build $ROOT
+ $D-18/activate
+}
+
+case "$1" in
+ -s* | --switch*) switch ;;
+ *) build ;;
+esac
+
+rm -rf $D*