install: Show different motd in headless console. motd is shown by the pam module, it doesn't support changing what motd gets displayed easily. The only way to control it is by read permissions on individual motd files, making files unreadable by the user logging in. So instead of that, make a custom script that prints different motd, checking if a temporary file exists. An environment variable would be better suited for this purpose, but those aren't passed through by PAM. * gnu/system/install.scm (%installation-login-pam-service): New variable. Modified login pam service. (%installation-console-login): New variable. Wrapper around login to create a file for PAM rule. (%installation-services): Use new login pam service and wrapper. Change-Id: I5e05e604b3106390181190559ade62ca5e2db216 Signed-off-by: Rutherther <rutherther@ditigal.xyz>
install: Register agetty on primary console on AArch64. This adds the possibility to parse /proc/consoles to find a primary console. Then, on AArch64 this is used in the installation image. On AArch64, the boot usually happens with chosen device tree that contains the serial console. On x86_64, this does not happen so often, so we keep the installation iso minimal there. The primary console is chosen, but there is a fallback to any non-virtual one. Virtual console (/dev/tty0) is skipped, because that one can point to any console, like /dev/tty1 and so on. So it's not safe to register agetty on it. * gnu/build/linux-boot.scm (read-linux-consoles): New variable. * gnu/services/base.scm (default-serial-console): Use primary console as fallback. * gnu/system/install.scm (%installation-services): Add agetty tty for consoles. Change-Id: Iae01f7bc85b5ffdef2e52b1d0710889915b0f54a Signed-off-by: Rutherther <rutherther@ditigal.xyz>
installer: network: Check response code to assess substitute availability. This is to accomodate following situation: - The proxy is up - The substitute server is down When that happens, 5xx is returned from the proxy, typically either Bad Gateway or Gateway Timeout. This implies the substitute server is down. Still, for checking if the user is online, we do not check the response code. If there is a response, even 4xx, 5xx, it still means the user is online. * gnu/installer/newt/network.scm (url-alive?): Add optional argument to to check the response code. (common-urls-alive?): Add the same argument, passing it to url-alive? (check-substitute-availability): Assume offline when non-successful http code returned. Follow up of 9ea2174ba8f05445227c952e0faa17d9f65ddb8f. Change-Id: I52ae8a49407009dd76ad5da3925355770bc25d0c Change-Id: I99a77cb7332198bae84f28a00a6cc0409d5bf3b9 Signed-off-by: Rutherther <rutherther@ditigal.xyz> Merges: #5217
installer: Add Hurd x86_64 as an option. * gnu/installer/newt/kernel.scm (run-kernel-page): Rename "Hurd" to "Hurd 32-bit (experimental)". On 64-bit, also offer "Hurd 64-bit (highly experimental!)", and make these strings translatable. Make "Linux Libre" the first option. Add a line break after "When in doubt...". Upon re-entrry, use pre-selected kernel as the default. Make sure to always [re]set %current-target-system, as this page may be revisited and another kernel choice selected. * gnu/installer/kernel.scm (kernel->configuration): Update accordingly. * gnu/installer/final.scm (install-system): Also cater for the 64-bit Hurd by simply adding --target=(%current-target-system). Change-Id: I14cb2d2815265b8841c16cf9bcc3857b1024f507
gnu: sudo: Add libxcrypt dependency on the Hurd. * gnu/packages/admin.scm (sudo)[inputs]: Add libxcrypt on the Hurd. Change-Id: I3d43526d10ca7d758b4f4870d84923be3a39977d
gnu: hurd: Add libxcrypt dependency. Fixes guix/guix#5538 * gnu/packages/hurd.scm (hurd)[inputs]: Add libxcrypt. Change-Id: I69e9624040d4b265ddb891ce894ce9a26032df36
gnu: llvm-18: Skip tests on powerpc64le-linux. * gnu/packages/llvm.scm (llvm-18)[arguments]: Adjust the tests flag to skip the tests on powerpc64le-linux. Change-Id: I2a1c25642b00b29f53be619b72eea27c005f2db8
guix: Spelling corrections. * guix/gnupg.scm, guix/import/composer.scm, guix/import/cpan.scm, guix/import/crate/cargo-lock.scm, guix/import/hackage.scm, guix/import/json.scm, guix/licenses.scm, guix/packages.scm, guix/scripts/import.scm, guix/ui.scm: Fix misspellings in comments and doc strings. Change-Id: I8e922f8e980214e345a42a995788a7c4adb9184d
etc: Spelling corrections. * etc/apparmor.d/guix, etc/teams/release/artifacts-manifest.scm: Fix misspellings in comments. Change-Id: Iff757784cc82968c25004bdb430f1ae3ad44624e
nix: Spelling corrections. * nix/libstore/globals.hh, nix/libstore/store-api.hh, nix/libutil/util.hh: Fix misspellings in comments. Change-Id: Id77ea2bde1c2582d1a7bec4ed256ea900998c4b8
gnu: freerdp: Update to 3.20.0. Fixes: #5268. * gnu/packages/rdesktop.scm (freerdp): Update to 3.20.0. [source]: Remove patch. [arguments]: Adjust test-exclude, configure-flags for new version. * gnu/packages/patches/freerdp-3.16.0-rpath.patch: Remove file. * gnu/local.mk (dist_patch_DATA): Remove it. Change-Id: If30bfff499cc57b2158c7be5dc9644f8898bb492
etc: release: Add spare space to the release VM image. * etc/teams/release/artifacts-manifest.scm (qcow2-for-system): Make size 20 GiB. Fixes: #5081 Change-Id: I11f932c417efc086b99f41a8ffc1f56ee86234f9 Signed-off-by: Rutherther <rutherther@ditigal.xyz> Merges: #5218
Make sure only Guix channel is used to produce release artifacts. This ensures that only Guix channel is used, with the default url. * Makefile.am (release): Add "-q" to time-machine. Change-Id: I3102660919e946a7df4620318d11599cdbde7ad8 Signed-off-by: Rutherther <rutherther@ditigal.xyz>
gnu: plasma-desktop: Skip failing test on AArch64. The tst_calibrationtool test fails on aarch64 due to floating-point precision issues: QMatrix4x4 comparison fails with tiny differences (1.11759e-08 instead of exact 0). * gnu/packages/kde-plasma.scm (plasma-desktop)[arguments]: Add tst_calibrationtool to test-exclude on aarch64. Change-Id: I3875329704b50b1ecd3ccea41a355d53deb517cf Signed-off-by: Rutherther <rutherther@ditigal.xyz> Merges: #4846 Signed-off-by: Rutherther <rutherther@ditigal.xyz>
gnu: kwin: Skip failing tests on AArch64. * gnu/packages/kde-plasma.scm (kwin)[arguments]: Add kwin-testSecurityContext and kwin-testXwaylandSelection to test-exclude. Change-Id: I0256e0e390552deb54eb0b5368f1799800ec8cb0 Signed-off-by: Rutherther <rutherther@ditigal.xyz>
gnu: bcachefs-static: Do not depend on %current-system in toplevel. Make the variables that depend on %current-system procedures and call them from package arguments, a thunked field. * gnu/packages/file-systems.scm (bcachefs-tools-rust-target): Make it a procedure. (bcachefs-tools-target/release): Make it a procedure. (bcachefs-tools-cargo-args): Make it a procedure. (bcachefs-tools-make-flags): Make it a procedure. (bcachefs-tools-make-install-flags): Make it a procedure. (bcachefs-tools-minimal): Call newly made procedure. (bcachefs-tools): Call newly made procedure. (bcachefs-tools-minimal/static): Call newly made procedure. Fixes: #5195 Change-Id: I9f08b3e34f869b8f9f54b71192eff61357e9cc85 Signed-off-by: Rutherther <rutherther@ditigal.xyz> Merges: #5219 Signed-off-by: Rutherther <rutherther@ditigal.xyz>
etc: guix-install.sh: Set XCURSOR_PATH to proper default value. As can be seen in the Xcursor docs, the default path is `~/.local/share/icons, ~/.icons, /usr/share/icons, /usr/share/pixmaps`, zzz-guix.sh is currently missing the first two. * etc/guix-install.sh (sys_create_init_profile): Add home paths to XCURSOR_PATH. Change-Id: I4284d7648394c06b83e4eba91882b81c8a35d706 Signed-off-by: Rutherther <rutherther@ditigal.xyz> Merges: #5231 Signed-off-by: Rutherther <rutherther@ditigal.xyz>
scripts: package: Encourage unsetting GUIX_PROFILE. GUIX_PROFILE should typically be unset, to prevent issues when sourcing etc/profile of other profiles. So encourage it by showing it in the hint. Followup of 50a2d73eac1577e35b526d3fc91423b97e581aef. * guix/scripts/package.scm (display-search-path-hint): Add unset GUIX_PROFILE to displayed hint. Change-Id: Ie1564750017dde8bf896c79e463067699df709eb Signed-off-by: Rutherther <rutherther@ditigal.xyz> Merges: #5118 Signed-off-by: Rutherther <rutherther@ditigal.xyz>
system: operating-system-etc-service: Unset GUIX_PROFILE. This seems to have been omitted, currently users on default Guix System installations do have GUIX_PROFILE set to their ~/.config/guix/current. This is wrong and can lead to some surprises when sourcing etc/profile of a Guix profile. Followup of 50a2d73eac1577e35b526d3fc91423b97e581aef. * gnu/system.scm (operating-system-etc-services): Clean up GUIX_PROFILE. Change-Id: Ia5bfb1907fa7ae887ac0336e6cd1922e611b6bdf Signed-off-by: Rutherther <rutherther@ditigal.xyz> Merges: #5119 Signed-off-by: Rutherther <rutherther@ditigal.xyz>
doc: Add missing double quotes in ‘mapped-device’ snippet. * doc/guix.texi (Mapped Devices): Add missing double quotes in ‘luks-device-mapping’ example. Change-Id: I5bcd980ec3d5d142ea37697575f539d640bc6466 Signed-off-by: Rutherther <rutherther@ditigal.xyz>