From 53e4aeed9ab362fb286bd814307773dbaf08b16e Mon Sep 17 00:00:00 2001 From: Mx Kookie Date: Mon, 21 Dec 2020 06:11:41 +0100 Subject: libkookie: adding root building mechanism --- infra/libkookie/build | 43 +++++++++++++++++++++++++++++++++++++++++++ infra/libkookie/default.nix | 6 ++++++ 2 files changed, 49 insertions(+) mode change 100644 => 100755 infra/libkookie/build create mode 100644 infra/libkookie/default.nix (limited to 'infra/libkookie') diff --git a/infra/libkookie/build b/infra/libkookie/build old mode 100644 new mode 100755 index e69de29bb2d1..e79ae239967a --- a/infra/libkookie/build +++ b/infra/libkookie/build @@ -0,0 +1,43 @@ +#!/bin/sh + +set -eo pipefail + +HOST=$(hostname) +DIR=$(realpath "$(dirname "$0")") +OUT=$(mktemp -du) +ROOT="$DIR/roots/$HOST.nix" + +echo Active tree: "$ROOT" + +## Build the libkookie tree +function build { + NIXPKGS_ALLOW_UNFREE=1 \ + nix build -f '' system \ + -I nixos-config="$ROOT" \ + -I "nixpkgs=$DIR" \ + -I "nixpkgs-overlays=$DIR/overlays" \ + -I "home-manager=$DIR/home-manager" \ + --out-link "$OUT" "$@" +} + +## Build and output build path for debugging +function debug { + build + echo "Build path: $OUT" + exit 0 +} + +## Build and switch to the new configuration (requires root) +function switch { + build + nix-env -p /nix/var/nix/profiles/system --set "$OUT" + "$OUT"/bin/switch-to-configuration switch +} + +case "$1" in + -s* | --switch*) shift; switch ;; + -d* | --debug*) shift; debug ;; + *) build ;; +esac + +rm -rf "$OUT"* diff --git a/infra/libkookie/default.nix b/infra/libkookie/default.nix new file mode 100644 index 000000000000..bfe795bf6f2b --- /dev/null +++ b/infra/libkookie/default.nix @@ -0,0 +1,6 @@ +{ overlays ? [], ... } @ args: + +import ./nixpkgs (args // { + overlays = [ (import ./overlays) ] ++ overlays; +}) + -- cgit v1.2.3