If the store is read only, return an error early.
This is bit of a compromise. Not all operations of the daemon need the store
as writable. For example, if hello package is built already `guix build hello`
could previously succeed even if store is RO.
* nix/libstore/local-store.cc
(makeStoreWritable): Rename to ensureStoreWritable.
(ensureStoreWritable): As non-root, check that the store is writable and if
not, throw an error.
(LocalStore::LocalStore): Use it.
* nix/libstore/local-store.hh: Rename makeStoreWritable to ensureStoreWritable.
Change-Id: I94783ba7e32d57bfa77e37e84b6ac316f95e31e2
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Commit 7c70a1080a ("gnu/system: Simplify the
creation of /etc (was: Turn /etc/localtime into a symlink)") made all of the
files under /etc other than sudoers symlinks to their store target. This
causes a problem at least for the vpn-slice service, which expects to be able
to write to said file.
* gnu/build/activation.scm (activate-etc): Special-case /etc/hosts to make it
a regular file.
Change-Id: Ia42dacd8731edba5e72442ab0399bdc3f7101989
Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
Modified-by: Maxim Cournoyer <maxim@guixotic.coop>
Fixes: #4800
* gnu/packages/luanti.scm (luanti-mineclonia)
[synopsis]: Drop leading article.
[description]: Use double spaces.
Change-Id: I3c0decb3135cbdeb925636633e16bc3a9267f53a
* gnu/packages/containers.scm (podman-compose):
[arguments] <test-backend, test-flags>: Use unittest as seen in
project's GitHub Actons.
<phases>: Remove 'pre-check.
[native-inputs]: Remove python-pytest and python-wheel.
Change-Id: I6da2f7f4c55f4cd22919d7f7827b2be58993f2e2
* gnu/packages/containers.scm (podman-compose): Update to 1.5.0.
[arguments] <test-flags>: Only run tests in `tests/unit`.
[arguments] <phases>: Add before-checks phase to fix a ModuleNotFoundError.
Change-Id: Ia9b8900bd71c848559b067d48e7eb4bf212f0f73
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
* gnu/packages/password-utils.scm (xkcdpass)[source]: Use direct #:url.
[home-page]: Move before synopsis.
Change-Id: I6ba4325818f2c6deff3b67a22b48f0cb4cdda929
* gnu/packages/patches/dvdbackup-with-libdvdread-6.1.0+.patch: Add the
patch to fix the build.
* gnu/local.mk: Ship it.
* gnu/packages/video.scm: Use it.
See <https://codeberg.org/guix/guix/issues/4704#issuecomment-8751141>.
* doc/guix.texi (Build Environment Setup): Add warning in case the nologin
binary is not found.
Reported-by: FuncProgLinux
Change-Id: Ib8aa2bdaf0aef6a589afe638e2fcd539c8276ac7
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
There is no longer a guix package in Debian. Adapt the instructions to avoid
having to list how to install on every package manager. The specific
instructions for Parabola are kept since it is a FSDG system.
* doc/guix.texi (Binary Installation): Remove Debian and OpenSUSE installation
instructions. Update examples of distros with a guix package. Add
instructions for other package managers.
Change-Id: Ie34b40d7224593df8e51d62d665a15a1b16b8e70
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
This is a recent change. If the services do not depend on it, it's possible
user-file-systems will try to unmount the file systems byt itself first.
* doc/guix.texi (Shepherd Services): Mention services should depend on
user-file-systems if they do mounts.
Change-Id: I87f459aa43c2a59ffcae35750e02a08abc3c1f8a
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Newly user-file-systems should be required by services
that do operations with mounts.
Change-Id: Ib0438bb2e783e1d7131dcea6a8c166e83850de81
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
* gnu/services/base.scm (file-system-shepherd-services): Reverse order of
mount-points in service 'user-file-systems.
Change-Id: I68df0c22bc6bacdc866b9adf62e7059f20e5842f
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Previously 'user-file-systems depended only on 'file-systems without any requirements.
This inverts the logic to have
file-systems <- user-file-systems <- user-processes
to ensure that all user mounts are already unmounted when shepherd managed
file systems get unmounted.
Fixes: guix/guix#4445Fixes: guix/guix#1703
* gnu/services/base.scm (file-system-shepherd-services): Remove requirement
of 'file-systems on 'user-file-systems.
Add dependency of 'user-file-systems on 'file-systems.
(file-system-service-type): Add 'user-file-systems to user-processes extension.
Change-Id: I9d89f682fb4b4673fa135d17b2b188788b9f8db1
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
This allows better integration of packages installed by Guix with the
foreign distro. E.g.:
1. .desktop files from applications installed by Guix can be found by
the user's desktop environment.
2. Fonts installed in ~/.guix-profile/share/fonts can be found by GUI
applications without having to install the fontconfig package, as the
the "Application Setup" section of the manual recommends.
* etc/guix-install.sh (sys_create_init_profile): Add $GUIX_PROFILE/share
to XDG_DATA_DIRS.
Change-Id: Iba74b0782ffbad64d64cc1c5889b04012963a3e0
Signed-off-by: Rutherther <rutherther@ditigal.xyz>