mirror of
git://git.savannah.gnu.org/guix/maintenance.git
synced 2023-12-14 03:33:04 +01:00
40fa5a2386
* doc/ROADMAP.org: Update with items discussed during the Guix Days. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
4.7 KiB
4.7 KiB
GNU Guix Beyond 1.0—A Road Map
- ‘guix pull’
- UI/UX
- grafts and profile hooks run as “build continuations” <https://bugs.gnu.org/28310>
- ‘package-derivation’ made faster
- (gnu installer) UI can be used to edit config.scm
- ‘guix system status’ shows info about the current status
- packages can be parameterized
- web application to [re]configure a Guix System
- Colorful error messages with in-context source indicating exactly where the error occurred and why
- ‘guix environment’ uses sane defaults and conventions
- GNOME Software backend written (or some other GUI implemented)
- packages made more lightweight (only necessary files are included)
- guix pack docker images use multiple layers
- guix search uses a cache to improve performance
- netboot with nfs root or store works
- guix pack supports parabola's package format
- guix shell containers have simple flags to enable graphics and audio, similar to the network flag
- core
- substitutes can be published and fetched over IPFS <https://issues.guix.gnu.org/issue/33899>
- ‘wip-build-systems-gexp’ branch updated & merged
- labels removed from the inputs fields of packages
- Gash used instead of Bash during bootstrap
- shepherd uses Fibers, logs correctly, can do “socket activation”
- (guix record) provides optional static type checking
- `wip-full-source-bootstrap` branch merged
- `wip-arm-bootstrap` branch merged
- the bootstrap does not use a Guile binary anymore
- the bootstrap does not use old versions of GNU Utilities
- bootstrap OCaml
- bootstrap GHC
- bootstrap Crystal
- bootstrap Idris2
- bootstrap Kotlin
- bootstrap rust on i686, arm, etc.
- Guix falls back to SWH for SVN/HG origins
- sources.json is generated by the build farm
- ‘propagated-build-inputs’ supports multiple outputs
- guix is able to store secrets
- architectures
- Guix System can run GNU/Hurd
- Desktop support on GNU/Hurd
- system/installer images available for armhf
- system/installer images available for aarch64
- riscv64 supported
- ppc64el(le?)/power9 supported
- Riscv substitutes available
- Support cross-compiling to Android
- Installation script supports installing to Android
- build daemon
- devops
- miscellaneous
- infrastructure
- web site officially available at https://guix.gnu.org
- web site includes an interactive package and service browser
- Guix Data Service deployed
- package sources are always archived on Software Heritage
- web site translated in other languages
- official channel registry service available
- Guix Build Coordinator exposes status (running builds, queued builds,
- Have a dedicated space to post meetups and events, whether a web page or mailing list
- Tag first contributions for special handling
- web site mentions infrastructure (mumi, debbugs, …)
- automate patch submission and review (guix review, guix send-email, …)
- have multiple mirrors or CDN for official build farms
- can search packages by the files they contain
This is a roadmap of high-level, medium- to long-term tasks that we’d like to tackle for Guix in the comings months or years. You’re welcome to discuss it on guix-devel@gnu.org!
‘guix pull’
DONE 'guix pull' & commit authentication <https://bugs.gnu.org/22883>
TODO build-self.scm trampoline runs faster
TODO Guix pull shows which channel new/updated packages come from
TODO Guix pull caches the repository at the same location for all users
UI/UX
DONE grafts and profile hooks run as “build continuations” <https://bugs.gnu.org/28310>
TODO ‘package-derivation’ made faster
DONE (gnu installer) UI can be used to edit config.scm
Maybe leave the possibility to specify a file, or even a URL?
TODO ‘guix system status’ shows info about the current status
TODO packages can be parameterized
TODO web application to [re]configure a Guix System
TODO Colorful error messages with in-context source indicating exactly where the error occurred and why
DONE ‘guix environment’ uses sane defaults and conventions
TODO GNOME Software backend written (or some other GUI implemented)
TODO packages made more lightweight (only necessary files are included)
TODO guix pack docker images use multiple layers
TODO guix search uses a cache to improve performance
TODO netboot with nfs root or store works
TODO guix pack supports parabola's package format
TODO guix shell containers have simple flags to enable graphics and audio, similar to the network flag
core
TODO substitutes can be published and fetched over IPFS <https://issues.guix.gnu.org/issue/33899>
DONE ‘wip-build-systems-gexp’ branch updated & merged
TODO labels removed from the inputs fields of packages
DONE Gash used instead of Bash during bootstrap
TODO shepherd uses Fibers, logs correctly, can do “socket activation”
TODO (guix record) provides optional static type checking
TODO `wip-full-source-bootstrap` branch merged
TODO `wip-arm-bootstrap` branch merged
TODO the bootstrap does not use a Guile binary anymore
TODO the bootstrap does not use old versions of GNU Utilities
TODO bootstrap OCaml
TODO bootstrap GHC
TODO bootstrap Crystal
TODO bootstrap Idris2
TODO bootstrap Kotlin
TODO bootstrap rust on i686, arm, etc.
TODO Guix falls back to SWH for SVN/HG origins
TODO sources.json is generated by the build farm
TODO ‘propagated-build-inputs’ supports multiple outputs
TODO guix is able to store secrets
architectures
DONE Guix System can run GNU/Hurd
TODO Desktop support on GNU/Hurd
TODO system/installer images available for armhf
TODO system/installer images available for aarch64
DONE riscv64 supported
DONE ppc64el(le?)/power9 supported
TODO Riscv substitutes available
TODO Support cross-compiling to Android
TODO Installation script supports installing to Android
build daemon
TODO daemon rewritten in Scheme
TODO daemon supports “recursive derivations”
TODO daemon supports more hash algorithms
TODO daemon stores zero or more narinfo signatures per store item
devops
DONE ‘guix deploy’ is a thing
miscellaneous
DONE ‘static-networking-service’ supports IPv6
DONE Debian package for Guix is available
TODO ‘–with-least-authority’ package transformation + ‘guix run’ added
TODO GTK+ can use Guix “powerbox” instead of Flatpak’s
DONE unprivileged user services, managed declaratively by the user
TODO guix shell uses guile-netlink for network
infrastructure
DONE web site officially available at https://guix.gnu.org
TODO web site includes an interactive package and service browser
DONE Guix Data Service deployed
TODO package sources are always archived on Software Heritage
DONE web site translated in other languages
TODO official channel registry service available
TODO Guix Build Coordinator exposes status (running builds, queued builds,
setup failures) through a web interface (bordeaux.guix.gnu.org)