From 8da7f4a1103abc2abeef1ba149e6beb8b7966ab2 Mon Sep 17 00:00:00 2001 From: Nicolas Graves Date: Sun, 14 Apr 2024 01:33:04 +0200 Subject: [PATCH] home: services: channels: Remove duplicate channels. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/home/services/guix.scm (extend-channel-list): Add function. (home-channels-service-type)[extend]: Use extend-channel-list. Change-Id: I587207b86216f075a54b6ed0b8fa998896bbed74 Signed-off-by: Ludovic Courtès --- 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)))