]> git.ekhem.eu.org Git - guix.git/commit
[home] Fix duplicate service type conflict in home reconfigure.
authorJakub Czajka <jakub@ekhem.eu.org>
Sat, 20 Jun 2026 21:44:28 +0000 (23:44 +0200)
committerJakub Czajka <jakub@ekhem.eu.org>
Wed, 24 Jun 2026 22:53:20 +0000 (00:53 +0200)
commita7cba80318c778322d1122ac2a8878dfd9464380
treec2e29b91b235a0d80a3cb64f63e5e9e5c0500629
parentde10366ec8a386a076705e058ed13646b63e8c5c
[home] Fix duplicate service type conflict in home reconfigure.

home-symlink-service-type was named 'home-profile', colliding with
the built-in home-profile-service-type.  Additionally, both
profile-service (bash.scm) and channels-service (guix.scm) directly
instantiated home-symlink-service-type — but Guix allows only one
direct (service <type> ...) per service type across the entire service
graph.

Changes:
- symlink.scm: Rename service type from 'home-profile' to
  'home-symlink', reflecting its actual purpose.
- bash.scm: Route profile-service through home-program-service-type
  (which extends home-symlink-service-type via service-extension)
  instead of directly instantiating it.  Remove unused
  (conf home symlink) import.
- guix.scm: Same for channels-service.  Switch import from
  (conf home symlink) to (conf home program).

Service extensions can be merged by Guix; direct instantiations
cannot, hence the "more than one target service" error.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
conf/home/bash.scm
conf/home/guix.scm
conf/home/symlink.scm