diff options
-rw-r--r-- | Documentation/about/architecture.adoc | 2 | ||||
-rw-r--r-- | Documentation/contributing/building-documentation.adoc | 2 | ||||
-rw-r--r-- | Documentation/installation/getting-spectrum.adoc | 8 | ||||
-rw-r--r-- | lib/config.default.nix | 2 | ||||
-rw-r--r-- | lib/nixpkgs.default.nix | 9 | ||||
-rwxr-xr-x | scripts/update-nixpkgs.sh | 35 |
6 files changed, 49 insertions, 9 deletions
diff --git a/Documentation/about/architecture.adoc b/Documentation/about/architecture.adoc index 38e0a22..b5bb387 100644 --- a/Documentation/about/architecture.adoc +++ b/Documentation/about/architecture.adoc @@ -65,7 +65,7 @@ https://github.com/utdemir/nix-tree[nix-tree] in the Spectrum repository: [source,shell] [listing] -nix-build img/live -I nixpkgs=https://spectrum-os.org/git/nixpkgs/snapshot/nixpkgs-rootfs.tar.gz --no-out-link | xargs -o nix-tree +nix-build img/live --no-out-link | xargs -o nix-tree See the https://diode.zone/w/8DBDQ6HQUe5UUdLkpDuL35[video] of Spectrum live image interactive analysis with nix-tree. diff --git a/Documentation/contributing/building-documentation.adoc b/Documentation/contributing/building-documentation.adoc index 1beffa8..fd3c903 100644 --- a/Documentation/contributing/building-documentation.adoc +++ b/Documentation/contributing/building-documentation.adoc @@ -26,7 +26,7 @@ cd spectrum/Documentation + [source,shell] ---- -nix-shell -I nixpkgs=https://spectrum-os.org/git/nixpkgs/snapshot/nixpkgs-rootfs.tar.gz +nix-shell ---- . In the development shell, do an initial build of the documentation site: diff --git a/Documentation/installation/getting-spectrum.adoc b/Documentation/installation/getting-spectrum.adoc index 8ee31b7..3620c79 100644 --- a/Documentation/installation/getting-spectrum.adoc +++ b/Documentation/installation/getting-spectrum.adoc @@ -25,11 +25,8 @@ applications. [source,shell] ---- git clone https://spectrum-os.org/git/spectrum -git clone https://github.com/NixOS/nixpkgs -git clone -b rootfs --reference nixpkgs \ - https://spectrum-os.org/git/nixpkgs nixpkgs-spectrum cd spectrum/host/rootfs -nix-shell -I nixpkgs=../../../nixpkgs-spectrum --run 'make run' +nix-shell --run 'make run' ---- This builds just enough of Spectrum to try it out in a VM, but it will @@ -48,8 +45,7 @@ First, you need to build the Spectrum image: [source,shell] ---- git clone https://spectrum-os.org/git/spectrum -nix-build spectrum/release/combined \ - -I nixpkgs=https://spectrum-os.org/git/nixpkgs/snapshot/nixpkgs-rootfs.tar.gz +nix-build spectrum/release/combined ---- If you haven't set up the xref:binary-cache.adoc[binary cache], this diff --git a/lib/config.default.nix b/lib/config.default.nix index 682c0fc..af01756 100644 --- a/lib/config.default.nix +++ b/lib/config.default.nix @@ -2,5 +2,5 @@ # SPDX-License-Identifier: MIT { - pkgs = import <nixpkgs> {}; + pkgs = import ./nixpkgs.default.nix {}; } diff --git a/lib/nixpkgs.default.nix b/lib/nixpkgs.default.nix new file mode 100644 index 0000000..196e5b7 --- /dev/null +++ b/lib/nixpkgs.default.nix @@ -0,0 +1,9 @@ +# SPDX-License-Identifier: CC0-1.0 +# SPDX-FileCopyrightText: 2023 Alyssa Ross <hi@alyssa.is> + +# Generated by scripts/update-nixpkgs.sh. + +import (builtins.fetchTarball { + url = "https://spectrum-os.org/git/nixpkgs/snapshot/nixpkgs-1440f4cef2673f2a3a7a27114d225ec60d00c2e0.tar.gz"; + sha256 = "062m49hpbkcsbd79nly9xrp9jamdiq3l61qnn7zq621h8fp1g9i1"; +}) diff --git a/scripts/update-nixpkgs.sh b/scripts/update-nixpkgs.sh new file mode 100755 index 0000000..916e92b --- /dev/null +++ b/scripts/update-nixpkgs.sh @@ -0,0 +1,35 @@ +#! /usr/bin/env nix-shell +#! nix-shell -i bash -p curl + +# SPDX-FileCopyrightText: 2023 Alyssa Ross <hi@alyssa.is> +# SPDX-License-Identifier: EUPL-1.2+ +# REUSE-IgnoreStart + +# shellcheck shell=bash + +set -ueo pipefail + +root="$(dirname "$0")/.." +out="$(mktemp -p "$root/lib" -t nixpkgs.default.nix.XXXXXXXXXX)" + +exec > "$out" + +rev="$( + curl -fsLS https://spectrum-os.org/git/nixpkgs.git/info/refs | + awk '$2 == "refs/heads/rootfs" { print $1 }' +)" +url="https://spectrum-os.org/git/nixpkgs/snapshot/nixpkgs-$rev.tar.gz" + +cat <<EOF +# SPDX-License-Identifier: CC0-1.0 +# SPDX-FileCopyrightText: 2023 Alyssa Ross <hi@alyssa.is> + +# Generated by scripts/update-nixpkgs.sh. + +import (builtins.fetchTarball { + url = "$url"; + sha256 = "$(nix-prefetch-url --unpack "$url")"; +}) +EOF + +mv -- "$out" "$root/lib/nixpkgs.default.nix" |