[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
02/03: doc: guix-days-2024: Add notes about CLI session.
From: |
Ludovic Courtès |
Subject: |
02/03: doc: guix-days-2024: Add notes about CLI session. |
Date: |
Sat, 3 Feb 2024 18:54:00 -0500 (EST) |
civodul pushed a commit to branch master
in repository maintenance.
commit d743dbbd03d3ec6b32c878522d53cb4e3b75d95a
Author: Jonathan Brielmaier <jonathan.brielmaier@web.de>
AuthorDate: Fri Feb 2 17:31:14 2024 +0100
doc: guix-days-2024: Add notes about CLI session.
* doc/guix-days-2024/cli.md: New file.
Co-authored-by: Adriel Dumas--Jondeau <leirda@disroot.org>
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
---
doc/guix-days-2024/cli.md | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
diff --git a/doc/guix-days-2024/cli.md b/doc/guix-days-2024/cli.md
new file mode 100644
index 0000000..23b422d
--- /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