about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ops/nixos/nugget/default.nix1
-rw-r--r--third_party/default.nix2
-rw-r--r--third_party/guile/default.nix12
-rw-r--r--third_party/guile/setup-hook-3.0.sh13
4 files changed, 27 insertions, 1 deletions
diff --git a/ops/nixos/nugget/default.nix b/ops/nixos/nugget/default.nix
index cd1c5e42d328..cffb555d821e 100644
--- a/ops/nixos/nugget/default.nix
+++ b/ops/nixos/nugget/default.nix
@@ -84,6 +84,7 @@ in pkgs.lib.fix(self: {
       lieer
       ops.kontemplate
       third_party.git
+      third_party.guile
       tools.emacs
     ]) ++
 
diff --git a/third_party/default.nix b/third_party/default.nix
index 410e1b03de87..1df13abd2e92 100644
--- a/third_party/default.nix
+++ b/third_party/default.nix
@@ -108,7 +108,7 @@ in exposed // {
 
   # Packages to be overridden
   originals = {
-    inherit (nixpkgs) git notmuch;
+    inherit (nixpkgs) git guile notmuch;
   };
 
   # Make NixOS available
diff --git a/third_party/guile/default.nix b/third_party/guile/default.nix
new file mode 100644
index 000000000000..7a54a7cd92fe
--- /dev/null
+++ b/third_party/guile/default.nix
@@ -0,0 +1,12 @@
+# Override Guile to version 3.0.0
+{ pkgs, ... }:
+
+pkgs.third_party.originals.guile.overrideAttrs(old: rec {
+  name = "guile-${version}";
+  version = "3.0.0";
+
+  src = pkgs.third_party.fetchurl {
+    url = "mirror://gnu/guile/${name}.tar.xz";
+    sha256 = "0x8ca6q1qdmk29lh12gj6ngvgn7kp79w42rxfgwrpxm9jmjqs4y9";
+  };
+})
diff --git a/third_party/guile/setup-hook-3.0.sh b/third_party/guile/setup-hook-3.0.sh
new file mode 100644
index 000000000000..61d0af988c99
--- /dev/null
+++ b/third_party/guile/setup-hook-3.0.sh
@@ -0,0 +1,13 @@
+addGuileLibPath () {
+    if test -d "$1/share/guile/site/3.0"
+    then
+        export GUILE_LOAD_PATH="${GUILE_LOAD_PATH}${GUILE_LOAD_PATH:+:}$1/share/guile/site/3.0"
+        export GUILE_LOAD_COMPILED_PATH="${GUILE_LOAD_COMPILED_PATH}${GUILE_LOAD_COMPILED_PATH:+:}$1/share/guile/site/3.0"
+    elif test -d "$1/share/guile/site"
+    then
+        export GUILE_LOAD_PATH="${GUILE_LOAD_PATH}${GUILE_LOAD_PATH:+:}$1/share/guile/site"
+        export GUILE_LOAD_COMPILED_PATH="${GUILE_LOAD_COMPILED_PATH}${GUILE_LOAD_COMPILED_PATH:+:}$1/share/guile/site"
+    fi
+}
+
+addEnvHooks "$hostOffset" addGuileLibPath