Maybe we should add three addition keybinding: 1. Force rebuild the package defined by the current variable definition. 2. Install/upgrade the package defined by the current variable definition. 3 Remove package defined by the current variable definition.
#+BEGIN_COMMENT 4.9 Development By default, when you open a Scheme file, guix-devel-mode will be activated (if you don’t want it, set guix-devel-activate-mode to nil). This minor mode provides the following key bindings: C-c . k Copy the name of the current Guile module into kill ring (guix-devel-copy-module-as-kill). C-c . u Use the current Guile module. Often after opening a Scheme file, you want to use a module it defines, so you switch to the Geiser REPL and write ,use (some module) there. You may just use this command instead (guix-devel-use-module). C-c . b Build a package defined by the current variable definition. The building process is run in the current Geiser REPL. If you modified the current package definition, don’t forget to reevaluate it before calling this command—for example, with C-M-x (see To eval or not to eval in Geiser User Manual) (guix-devel-build-package-definition). C-c . s Build a source derivation of the package defined by the current variable definition. This command has the same meaning as guix build -S shell command (see Invoking guix build) (guix-devel-build-package-source). C-c . l Lint (check) a package defined by the current variable definition (see Invoking guix lint) (guix-devel-lint-package). #+END_COMMENT --