Guix has an overlay facility called $GUIX_PACKAGE_PATH[0]. Packages found there will take precedence over distribution packages.
As an end user you don't really need to know Scheme. The OS configuration and package definitions are very "DSL-like", but you do have the full power of Scheme available.
[0] https://www.gnu.org/software/guix/manual/guix.html#Package-M...