From f81c7a8def0549aea40d39d2914be4b2cb4b45e2 Mon Sep 17 00:00:00 2001 From: Nicolas Graves Date: Sun, 14 Apr 2024 01:33:04 +0200 Subject: gnu: guix: Correct home-channels-service-type extension logic. * gnu/home/services/guix.scm (extend-channel-list): Add function. (home-channels-service-type)[extend]: Use extend-channel-list. Change-Id: I587207b86216f075a54b6ed0b8fa998896bbed74 --- gnu/home/services/guix.scm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/gnu/home/services/guix.scm b/gnu/home/services/guix.scm index 819b20b6c9..d31d3126bb 100644 --- a/gnu/home/services/guix.scm +++ b/gnu/home/services/guix.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2022 Reily Siegel +;;; Copyright © 2024 Nicolas Graves ;;; ;;; This file is part of GNU Guix. ;;; @@ -24,6 +25,12 @@ #:use-module (srfi srfi-1) #:export (home-channels-service-type)) +(define (extend-channel-list initial new) + (delete-duplicates + (append initial new) + (lambda (channel1 channel2) + (eq? (channel-name channel1) (channel-name channel2))))) + (define (channels-xdg-files channels) `(("guix/channels.scm" ,(plain-file @@ -37,7 +44,7 @@ (name 'home-channels) (default-value %default-channels) (compose concatenate) - (extend append) + (extend extend-channel-list) (extensions (list (service-extension home-xdg-configuration-files-service-type channels-xdg-files))) -- cgit v1.2.3