[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#68876] [PATCH 2/2 maintenance] doc: guix-days-2024: Add notes about
From: |
Jonathan Brielmaier |
Subject: |
[bug#68876] [PATCH 2/2 maintenance] doc: guix-days-2024: Add notes about CLI session. |
Date: |
Fri, 2 Feb 2024 17:31:14 +0100 |
* doc/guix-days-2024/cli.md: New file.
Co-authored-by: Adriel Dumas--Jondeau <leirda@disroot.org>
---
doc/guix-days-2024/cli.md | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
create mode 100644 doc/guix-days-2024/cli.md
diff --git a/doc/guix-days-2024/cli.md b/doc/guix-days-2024/cli.md
new file mode 100644
index 0000000..7d7808d
--- /dev/null
+++ b/doc/guix-days-2024/cli.md
@@ -0,0 +1,30 @@
+# CLI of Guix
+
+## How a perfect CLI would look like?
+* consistent
+* self-explaining
+* intuitive
+* mapping between API and CLI (e.g. easier REPL)
+* output can be parsed (composability)
+* flexible outputs
+* override defaults (aliases or extensions)
+* should be fast
+* auto completion, support for tabbing
+
+## What's the current state (good or bad)?
+* consistency in conventions (mostly)
+* fast tab completion
+* 39 top-level commands (`guix top-level-command`)
+* guix refresh / lint / style / challenge / download / hash are toplevel but
really specific
+* Some options are not consistent between different commands
+ * `guix system list-generations` vs `guix pull --list-profile`
+* the `guix import` command is hard coded so we can't plug new importers with
a channel for instance
+* the order of channel specification is important in regard to definitions
(might not be the case anymore)
+* there's a common confusion between the name of the package and the name of
the variable that holds the package
+
+## What we can improve
+* make guix extensions / modules more accessible
+ * there's something about that on a git repo of Andreas
+* package name writing differs between CLI and code (e.g. "glibc:debug" vs
glibc `("debug"))
+* `guix shell --development spec` should accept a = sign (`guix shell
--development=spec`)
+* Having a equivalent of the CLI example for the REPL in documentation
--
2.43.0