Hi, Chris Marusich <[email protected]> skribis:
> It's possible to get the current Guix version via %guix-version, > exported by (guix config). This is useful, among other reasons, for > embedding in package definitions that produce artifacts that are > destined to leave the store (e.g., a statically linked program you want > to ship off somewhere else). Is it possible to programmatically get the > channel commits currently in use, also? Recently I added ‘profile-channels’, which does what you want I think: --8<---------------cut here---------------start------------->8--- $ guix repl GNU Guile 2.2.4 Copyright (C) 1995-2017 Free Software Foundation, Inc. Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'. This program is free software, and you are welcome to redistribute it under certain conditions; type `,show c' for details. Enter `,help' for help. scheme@(guix-user)> ,use(guix channels) scheme@(guix-user)> ,use(guix describe) scheme@(guix-user)> (profile-channels (current-profile)) $1 = (#<<channel> name: guix url: "https://git.savannah.gnu.org/git/guix.git" branch: "master" commit: "178f1d1f75a8d512b517f474f63da507beaebd49" location: ((line . 549) (column . 19) (filename . "guix/channels.scm"))>) --8<---------------cut here---------------end--------------->8--- I’d recommend against embedding such metadata into build results by default, though. See also ‘guix pack --save-provenance’. HTH! Ludo’.
