Subject: [PATCH 0/9] VTE integration support / Shell startup files refactor

From: Maxim Cournoyer <[email-masked]>
Date: Thu, 8 May 2025 14:47:54 +0900

The aim of this series was ultimately to add VTE integration support out of
the box, resolving <https://issues.guix.gnu.org/72172>.  In order to do so, I
introduce the new etc-profile-d-service-type and etc-bashrc-d-service-type
service types.

While at it, define SYS_BASHRC in our Bash package to treat /etc/bashrc as a
first class startup file, and get rid of /etc/skel/.bashrc, whose
functionality is moved to /etc/bashrc or /etc/bashrc.d/aliases.sh and
/etc/bashrc.d/bash_completion.sh.

To test, I've used:

--8<---------------cut here---------------start------------->8---
make check-system TESTS='basic openssh dropbear'
--8<---------------cut here---------------end--------------->8---

as well as live testing in a GNOME desktop VM to validate the VTE integration.

Thank you,

Maxim Cournoyer (9):
  system: Source scripts from the /etc/profile.d directory.
  services: Add etc-profile-d-service-type.
  gnu: bash: Define the SYS_BASHRC macro.
  system: Source scripts from the /etc/bashrc.d directory.
  services: Add etc-bashrc-d-service-type.
  system: Migrate sourcing bash_completion.sh to
    etc-bashrc-d-service-type.
  system: Factorize bashrc default configuration.
  services: Add vte-integration-service-type.
  services: Add vte-integration-service-type to %desktop-services.

 doc/guix.texi                |  57 ++++++++++++++++-
 gnu/home/services/shells.scm |  14 ++---
 gnu/packages/bash.scm        |  20 ++++++
 gnu/services.scm             | 116 +++++++++++++++++++++++++++++++++++
 gnu/services/base.scm        |   5 +-
 gnu/services/desktop.scm     |   4 ++
 gnu/system.scm               |  43 ++++++-------
 gnu/system/shadow.scm        |  21 +++----
 gnu/tests/base.scm           |  45 +++++++++++++-
 9 files changed, 278 insertions(+), 47 deletions(-)

base-commit: 9d9a6291c4e61f3af71e94e549926bd9905e99db
-- 
2.49.0