diff options
author | Ludovic Courtès <ludo@gnu.org> | 2021-10-01 22:47:33 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2021-10-25 19:02:33 +0200 |
commit | 9730692d9f06f8c412b45ef108006921298983c4 (patch) | |
tree | f778fff90b81323c47612419710fd26e40f912df /etc | |
parent | 2cb0b3709ace41078872578f657ab0ee45d20ac9 (diff) | |
download | guix-9730692d9f06f8c412b45ef108006921298983c4.tar guix-9730692d9f06f8c412b45ef108006921298983c4.tar.gz |
shell: Maintain a profile cache.
shell: Maintain a profile cache.
With this change, running "guix shell" (no arguments) is equivalent to:
guix environment -r ~/.cache/guix/profiles/some-root -l guix.scm
This is the cache miss. On cache hit, it's equivalent to:
guix environment -p ~/.cache/guix/profiles/some-root
... which can run in 0.1s.
* guix/scripts/shell.scm (options-with-caching): New procedure.
(parse-args): Use it.
(%profile-cache-directory): New variable.
(profile-cache-key, profile-cached-gc-root): New procedures.
(show-help, %options): Add '--rebuild-cache'.
(guix-shell)[cache-entries, entry-expiration]: New procedures.
Add call to 'maybe-remove-expired-cache-entries'.
* doc/guix.texi (Invoking guix shell): Document '--rebuild-cache'.
Diffstat (limited to 'etc')
0 files changed, 0 insertions, 0 deletions