(define-record-type* <custom-profile-configuration> custom-profile-configuration make-custom-profile-configuration custom-profile-configuration? (name custom-profile-name (default "profile")) (packages custom-profile-packages (default (list)))) (define (custom-profile-entries config) "Return a system entry for the profile containing PACKAGES." (mlet %store-monad ((_ (current-target-system))) (return `((,(custom-profile-name config) ,(profile (content (packages->manifest (map identity (delete-duplicates (custom-profile-packages config) eq?)))))))))) (define home-custom-profile-service-type (service-type (name 'custom-profile) (extensions (list (service-extension home-service-type custom-profile-entries))) (description "This is a custom profile and can be found in @file{~/.guix-home/custom-profile}.")))