summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRomain GARBAGE <romain.garbage@inria.fr>2025-08-20 17:05:54 +0200
committerRomain GARBAGE <romain.garbage@inria.fr>2025-08-21 15:10:51 +0200
commit9a17eb4903b9f74c49c1b81198397a666cf4998a (patch)
tree8b9d1e1cfd3c6906159616b0755f6f3ebcd46b54
parent18d987f16dfb50b038c429bd2eb92a724212f19b (diff)
Add "Getting started" instructions.
* README.rst: Add "Getting started" instructions.
-rw-r--r--README.rst36
1 files changed, 36 insertions, 0 deletions
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
67a good chance that others can help finish the work. Please prefix pull requests 67a good chance that others can help finish the work. Please prefix pull requests
68for unfinished contributions with WIP. 68for unfinished contributions with WIP.
69 69
70When submitting a new package or a modification to a package, make sure to run:
71
72.. code:: console
73 guix lint -L /path/to/your/guix/science/checkout <package-name>
74
70When obtaining a fresh checkout of this repository, run the following 75When obtaining a fresh checkout of this repository, run the following
71command: 76command:
72 77
@@ -77,3 +82,34 @@ command:
77The command authenticates your checkout and installs Git hooks such that 82The command authenticates your checkout and installs Git hooks such that
78``git pull`` and ``git push`` automatically authenticate it from there 83``git pull`` and ``git push`` automatically authenticate it from there
79on. 84on.
85
86Hacking this repository
87---------------------------------------
88
89Package definitions are stored in ``guix-science/packages/*.scm``,
90each ``.scm`` file being a `Guile module`_ containing several package
91definitions.
92
93.. _Guile module: https://guix.gnu.org/manual/devel/en/html_node/Package-Modules.html
94
95A new package definition can be added in the relevant module.
96
97For example, after adding a package definition such as:
98
99.. code:: scheme
100 (define-public my-package-variable
101 (package
102 (name "my-package-name")
103 ... ))
104
105can be built using the following command:
106
107.. code:: console
108 guix build -L /path/to/guix/science/checkout my-package-name
109
110Note that generally the same string is used for the package name and
111the Guile variable that points to the package object.
112
113You can learn more about working with a channel in the `Guix manual`_.
114
115.. _Guix manual: https://guix.gnu.org/manual/devel/en/html_node/Creating-a-Channel.html