summary refs log tree commit diff
path: root/gnu/packages/package-management.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludovic.courtes@inria.fr>2024-03-22 12:11:20 +0100
committerLudovic Courtès <ludo@gnu.org>2024-04-05 18:21:24 +0200
commitbe14d41d9be3ef91d11ab24780855682c432cac9 (patch)
tree09ec1d9311cf4f2104a03e19598648dd33f48980 /gnu/packages/package-management.scm
parentd6a3818761736449a27eb44938537798f6f4e85b (diff)
downloadguix-be14d41d9be3ef91d11ab24780855682c432cac9.tar.gz
gnu: guix: Define ‘guix-for-channels’ and document its use.
* gnu/packages/package-management.scm (guix-for-channels): New
procedure.
* doc/guix.texi (Customizing the System-Wide Guix): New section.
(Base Services): Add cross-reference.

Change-Id: Ied51c3bf9bf08dfc629bb3f0a152eb20b869a636
Diffstat (limited to 'gnu/packages/package-management.scm')
-rw-r--r--gnu/packages/package-management.scm14
1 files changed, 13 insertions, 1 deletions
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 1d92888f14..289ee7e8d6 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013-2023 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013-2024 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2015, 2017, 2020, 2021, 2022, 2023 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2017 Muriithi Frederick Muriuki <fredmanglis@gmail.com>
 ;;; Copyright © 2017, 2018 Oleg Pykhalov <go.wigust@gmail.com>
@@ -649,6 +649,18 @@ the Nix package manager.")
       (modify-inputs (package-propagated-inputs guix)
         (delete "guile-ssh"))))))
 
+(define-public (guix-for-channels channels)
+  "Return a package corresponding to CHANNELS."
+  (package
+    (inherit guix)
+    (source (find guix-channel? channels))
+    (build-system channel-build-system)
+    (arguments
+     `(#:channels ,(remove guix-channel? channels)))
+    (inputs '())
+    (native-inputs '())
+    (propagated-inputs '())))
+
 (define-public current-guix-package
   ;; This parameter allows callers to override the package that 'current-guix'
   ;; returns.  This is useful when 'current-guix' cannot compute it by itself,