From 9a17eb4903b9f74c49c1b81198397a666cf4998a Mon Sep 17 00:00:00 2001 From: Romain GARBAGE Date: Wed, 20 Aug 2025 17:05:54 +0200 Subject: Add "Getting started" instructions. * README.rst: Add "Getting started" instructions. --- README.rst | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'README.rst') diff --git a/README.rst b/README.rst index 7f3579c..b407b83 100644 --- a/README.rst +++ b/README.rst @@ -67,6 +67,11 @@ Submissions of unfinished packaging attempts are welcome as well, as there is a good chance that others can help finish the work. Please prefix pull requests for unfinished contributions with WIP. +When submitting a new package or a modification to a package, make sure to run: + +.. code:: console + guix lint -L /path/to/your/guix/science/checkout + When obtaining a fresh checkout of this repository, run the following command: @@ -77,3 +82,34 @@ command: The command authenticates your checkout and installs Git hooks such that ``git pull`` and ``git push`` automatically authenticate it from there on. + +Hacking this repository +--------------------------------------- + +Package definitions are stored in ``guix-science/packages/*.scm``, +each ``.scm`` file being a `Guile module`_ containing several package +definitions. + +.. _Guile module: https://guix.gnu.org/manual/devel/en/html_node/Package-Modules.html + +A new package definition can be added in the relevant module. + +For example, after adding a package definition such as: + +.. code:: scheme + (define-public my-package-variable + (package + (name "my-package-name") + ... )) + +can be built using the following command: + +.. code:: console + guix build -L /path/to/guix/science/checkout my-package-name + +Note that generally the same string is used for the package name and +the Guile variable that points to the package object. + +You can learn more about working with a channel in the `Guix manual`_. + +.. _Guix manual: https://guix.gnu.org/manual/devel/en/html_node/Creating-a-Channel.html -- cgit v1.2.3