summaryrefslogtreecommitdiff
path: root/gnu/system.scm
AgeCommit message (Collapse)AuthorFilesLines
7 daysgnu: linux: Use package properties to modularize initrd build.Sergio Pastor Pérez1-1/+2
* doc/guix.texi (operating-system Reference): Document initrd-modules change. (Initial RAM Disk): Inform about deprecation of '%base-initrd-modules' and document 'base-initrd-modules'. * gnu/packages/linux.scm (make-linux*): New argument 'produced-modules'. Handle GEXP in 'defconfig' arguments. (virtio-modules, default-linux-libre-initrd-modules): New variable. (make-linux-libre*): Adjust to instruct 'make-linux*' which modules a Debian configuration will produce. * gnu/system.scm (<operating-system>): Compute default operating systems initrd modules with 'base-initrd-modules'. * gnu/system/linux-initrd.scm (default-initrd-modules): Remove in favor of 'base-initrd-modules' which takes a mandatory kernel argument from which to extract the initrd-modules from the package properties. (base-initrd-modules): New procedure. (%base-initrd-modules): Deprecate in favor of 'base-initrd-modules'.
8 daysmaint: Replace remaining usages of isc-dhcp with dhcpcd.Maxim Cournoyer1-1/+1
isc-dhcp has been unmaintained since 2022. This is a follow-up to commit 3e713ae41c73b352fad4830b23721ee07935c512. * doc/guix.texi (Keyboard Layout and Networking and Partitioning): Adjust example. * etc/manifests/cross-compile.scm (%system-packages) * etc/manifests/release-desktop.scm (%desktop-packages) * etc/manifests/release-minimal.scm (%system-packages): Replace "isc-dhcp" with "dhcpcd". * gnu/system.scm (%base-packages-networking): Likewise. * gnu/tests/install.scm (%simple-installation-script) (%extlinux-gpt-installation-script) (%simple-installation-script-for-/dev/vda) (%separate-store-installation-script) (%extra-encrypted-packages): Likewise.
11 dayssystem: Fix typo in profile templateSergio Pastor Pérez1-3/+1
* gnu/system.scm (operating-system-etc-service): Remove accidental newline in GUIX_EXTENSIONS_PATH export. Fixes: #10717 Signed-off-by: Vagrant Cascadian <vagrant@debian.org>
13 daysguix: Adjust environment setup so extensions are located without propagating ↵Sergio Pastor Pérez1-0/+3
Guix. This change makes GUIX_EXTENSIONS_PATH handled specially so package extensions do not need to propagate Guix or extend their native search path to locate the extension. * gnu/home/services.scm (environment-variables->setup-environment-script): Setup GUIX_EXTENSIONS_PATH to locate extensions in profiles that do not contain Guix. * gnu/system.scm (operating-system-etc-service): Likewise. * gnu/packages/containers.scm (guix-compose): Remove unneeded 'native-search-paths' specification. * gnu/packages/package-management.scm (toys): Likewise. (guix-xsearch): Likewise. * guix/search-paths.scm ($GUIX_EXTENSIONS_PATH): Adjust comment. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-06-01system: Fix typo in comment.Maxim Cournoyer1-1/+1
* gnu/system.scm (%base-packages-utils): Fix typo in comment. Change-Id: Ia0d439dce38a50c95c01ffd28bf1840703bcff3d
2026-05-13system: hurd: Fix fsck.Janneke Nieuwenhuizen1-0/+1
* gnu/build/hurd-boot.scm (make-hurd-device-nodes): Create "/dev/console". * gnu/system.scm (hurd-multiboot-modules): Run ext2fs.static with --readonly. * gnu/packages/hurd.scm (hurd)[arguments]: Use "fsysopts / --update --writable" and "fsck --preen --writable" and Debian's return value meme. Also substitute "/sbin/" in "sbin/fsck.c". Change-Id: I7bc3cf334939d6f1f00ee8615810338167904e8e Co-authored-by: Yelninei <yelninei@tutamail.com> Fixes: #4820
2026-05-10system: hurd: Add acpi server.Janneke Nieuwenhuizen1-2/+8
See <https://lists.gnu.org/archive/html/bug-hurd/2023-07/msg00000.html>. * gnu/system.scm (hurd-multiboot-modules): Add acpi-command.
2026-05-09system: os-release: Update BUG_REPORT_URL.Hilton Chain1-1/+1
* gnu/system.scm (os-release): Update BUG_REPORT_URL to Codeberg. Merges: https://codeberg.org/guix/guix/pulls/8263 Reviewed-by: Ludovic Courtès <ludo@gnu.org> Reviewed-by: Murilo <murilo@disroot.org> Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-04-20gnu: nvi: Move to (gnu packages text-editors).Anderson Torres1-1/+0
* gnu/packages/nvi.scm (nvi): Deprecate, move from here ... * gnu/packages/text-editors.scm: ... to here. Update copyright headers. * gnu/system.scm: Do not use (gnu packages nvi). Change-Id: I9968c854a7ea42b1f3288ae68a9259bd7d35c685 Merges: https://codeberg.org/guix/guix/pulls/4806 Reviewed-by: Sharlatan Hellseher <sharlatanus@gmail.com> Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-01-04system: operating-system-etc-service: Unset GUIX_PROFILE.Rutherther1-0/+3
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
2025-09-18Reapply "Update Maxim's email address."Maxim Cournoyer1-1/+1
This reverts commit a7db92d9b389cbe565395523882c34c6eff2c21a, this time with the more careful command, to avoid a world rebuild: grep -rl --exclude-dir=build --exclude-dir=patches --exclude=ld-wrapper.in \ --exclude=sitecustomize.py --exclude=guix-emacs.el maxim.cournoyer@gmail.com | xargs sed -i 's/maxim.cournoyer@gmail.com/maxim@guixotic.coop/g' Change-Id: I0871f5cf9ace79e34e78e24154d0da6ea95a3a91
2025-09-18Revert "Update Maxim's email address."Maxim Cournoyer1-1/+1
This reverts commit d0d87a744d724b7e7d5ac013c586039652087bb3. Oops! This caused a world rebuild. Change-Id: I25fff644b2b61d0ee93d69b457b04c72b5b74d15
2025-09-18Update Maxim's email address.Maxim Cournoyer1-1/+1
The change was automated via: git grep -l maxim.cournoyer@gmail.com | xargs sed -i 's/maxim.cournoyer@gmail.com/maxim@guixotic.coop/g' * .mailmap: New entry. Change-Id: Iaa88b1e51c94159c49138fb43910badb990eb169
2025-08-17gnu: nss-certs: Relocate to (gnu packages nss).Maxim Cournoyer1-1/+1
This is made so that the source can be shared without introducing module circular dependencies. * gnu/packages/certs.scm (nss-certs) (nss-certs-for-test): Move to... * gnu/packages/nss.scm: ... here. Adjust the module imports via: git grep -l '(gnu packages certs)' | xargs sed 's/(gnu packages certs)/(gnu packages nss)/' -i Change-Id: I56d7bc52ddcdffbced8a162e8db8ea5071b0cb0f
2025-05-26system: Factorize bashrc default configuration.Maxim Cournoyer1-17/+7
This factorizes out the remaining bashrc bits from /etc/skel/.bashrc to a the template used for both /etc/bashrc on Guix System and ~/.bashrc for home-bash-service-type. Rationale: The use of /etc/skel introduce state: the file is only copied originally when the user account is created, and never (automatically) refreshed again. * gnu/system.scm (operating-system-etc-service): <profile>: Guard against souring /etc/bashrc in non-interactive, SSH case. <bashrc>: Use %default-bashrc, having migrated the remaining definitions to... * gnu/system/shadow.scm (%default-bashrc): ... here. Factorize aliases to... * gnu/services.scm (%default-bash-aliases): ... here. (%default-bashrc-d-aliases): New variable. (%default-etc-bashrc-d-files): Include it in the default configuration. * gnu/services/base.scm (%base-services): Register etc-bashrc-d-service-type. * gnu/home/services/shells.scm (add-bash-configuration): Do not set PS1, now part of %default-bashrc. (home-bash-configuration) [guix-defaults?]: Update doc. [aliases]: Set %default-bash-aliases as the default value. Update doc. * doc/guix.texi (Shells Home Services): Update documentation. (Service Reference): Update example. Change-Id: I340c614983a78fd20a9c4a9705e7fc542ae9b513
2025-05-26system: Migrate sourcing bash_completion.sh to etc-bashrc-d-service-type.Maxim Cournoyer1-10/+0
* gnu/system.scm (operating-system-etc-service): Remove block sourcing bash_completion.sh. (%base-packages-interactive): Delete bash-completion. * gnu/services.scm (%default-etc-bashrc-d-files): New variable, which includes the bash_completion.sh file. (etc-bashrc-d-service-type): Use it. * doc/guix.texi (Service Reference): Update documentation. Change-Id: I2223a5f96f5d761148badc6be29e1c5c80465a1d
2025-05-26system: Source scripts from the /etc/bashrc.d directory.Maxim Cournoyer1-2/+8
* gnu/system.scm (operating-system-etc-service): <bashrc>: Source scripts from the /etc/bashrc.d directory. Change-Id: I27a20a8eae5d736f32e0df55a68529d9bb613b7a
2025-05-26system: Source scripts from the /etc/profile.d directory.Maxim Cournoyer1-0/+11
This is useful since our /etc/profile file is otherwise not easily extendable. * gnu/system.scm (operating-system-etc-service): Source all '.sh' ending files found under the /etc/profile.d directory. Change-Id: Ia6d777195241f69219f00fbd5975e3e6b7c265fb
2025-05-24system: Set "rootfstype" for tmpfs root file system.Hilton Chain1-6/+15
This commit adds configuration for tmpfs root file system. Since there's no file system information in boot parameters, not all tmpfs cases are handled. * gnu/system.scm (bootable-kernel-arguments): Check root file system for tmpfs and set "rootfstype". Change-Id: Ib14f6a9e4040535b3412ca9efa7e9b65c1dc8b39
2025-05-12gnu: %base-packages-artwork: Add guix backgrounds.Efraim Flashner1-2/+3
* gnu/system.scm (%base-packages-artwork): Add guix-backgrounds. Change-Id: Ia34ec7eb8548aa8bcd9e912089c2835cd3db4157
2025-05-12system: Only add guix artwork on a desktop system.Efraim Flashner1-2/+1
* gnu/system.scm (%base-packages): Remove %base-packages-artwork. * gnu/services/desktop.scm (desktop-services-for-system): Add guix-artwork profile service. Change-Id: I4071e8137609dbb7dfdba174d1da2d8811421a00 Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2025-05-08system: Remove a stale comment regarding %base-packages-utils.Maxim Cournoyer1-2/+0
The use of `canonical-package' was dropped a long time ago. * gnu/system.scm (%base-packages-utils): Delete stale comment. Change-Id: Ie91294baf93ba45b3120dd62ac0c9adee04d2265
2025-03-14gnu: system: Cater for Guix Home in PATH.Janneke Nieuwenhuizen1-2/+5
In <https://issues.guix.gnu.org/63009> it was promised to be pushed to master, but that didn't seem to have happened. This resolves that promise. * gnu/system.scm (operating-system-etc-service): Also add a user's <guix-home>/profile/bin directory to PATH, before <guix-profile>/bin. Change-Id: Ibd2866153a211585c4981293027544557f8fa06c
2025-01-16system: Add zstd to ‘%base-packages’.Ludovic Courtès1-2/+3
This is particularly useful now that log files are going to be zstd-compressed by default, among other uses of zstd. * gnu/system.scm (%base-packages-utils): Add ‘zstd’. Change-Id: I766791fea3bc3fca2519a7cd6ac472550be386dd
2024-12-28system: Export ‘…-initrd-file’ and ‘…-root-file-system’.Ludovic Courtès1-1/+3
* gnu/system.scm (operating-system-initrd-file): Fix docstring and export. (operating-system-root-file-system): Export. Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Change-Id: I5254d82ce547e8014027ed20675b8bfe5a5847c5
2024-12-03gnu: hurd: Update to 0.9.git20240714.Janneke Nieuwenhuizen1-1/+0
* gnu/packages/hurd.scm (hurd-headers): Update to 0.9.git20240714. (hurd)[arguments]: Remove rumpdisk build hack from "prepare-addons" stage. Instead, when cross-compiling, add stage "fixup-cross-configure" to enable rumpdisk. * gnu/system.scm (hurd-multiboot-modules): Remove "--x-xattr-translator-records" option that has been removed and is now the default. Change-Id: I4609b5a959c1ece98e2fe1aedbb1d31d6edadcca
2024-11-11system: hurd: Add swap-services to hurd-default-essential-services.Janneke Nieuwenhuizen1-6/+7
* gnu/services/base.scm (swap-service-type): Do not include 'udev' requirement for the Hurd. Use system* with "swapon", "swapoff" for the Hurd. * gnu/system.scm (hurd-default-essential-services): Add swap-services. * gnu/services/base.scm (swap-service-type): Change-Id: I1d4d445c614921752dc84aa0dd6ff42cdbf62aa8
2024-11-03system: %default-privileged-programs: Set ping capabilitiesRutherther1-19/+24
Ping and ping6 don't need setuid, they can work with cap_net_raw capability only. This means that even if ping or ping6 had a vulnerability that could be used for execution as root, it can't anymore if the program is not setuid. * gnu/system.scm (%default-privileged-programs): Remove ping, ping6 setuid programs, add ping, ping6 programs with cap_net_raw=ep capabilities Change-Id: Ie409b477f548dbff3318eec33d0d2ca16a1b3209 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-10-24gnu: system: Privilege programs after creating accounts.Dariqq1-6/+10
Ensure that users and groups are already created when the privileging script runs. The order these scripts appear in the folded activation-service depends on the order these services are instantiated in the operating-system. Fixes <https://issues.guix.gnu.org/73680>. * gnu/system.scm (operating-system-default-essential-services): Move privileged-program-service above account-service. (hurd-default-essential-services): Likewise. * gnu/tests/base.scm (%activation-os): New variable. (run-activation-test): New procedure. (%test-activation): New variable. Change-Id: I59a191c5519475f256e81bdf2dc4cb01b96c31fe Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-08-11system: Add privileged-programs to <operating-system>.Tobias Geerinckx-Rice1-4/+17
* gnu/system.scm (<operating-system>): Add new privileged-programs field, that defaults to… (%default-privileged-programs): …this new variable, renamed from… (%setuid-programs): …this, which is now defined as the empty list. * doc/guix.texi (Setuid Programs): Rename this… (Privileged Programs): …to this. Adjust all refs. Update all mentions of ‘setuid’ (whether in prose, variable names, or code samples) to use the new ‘privilege[d]’ terminology instead. (operating-system Reference, X Window, Invoking guix system) (Service Reference): Adjust likewise.
2024-08-11system: Use privileged-program-service-type by default.Tobias Geerinckx-Rice1-2/+2
* gnu/system.scm (operating-system-default-essential-services) (hurd-default-essential-services): Substitute privileged-program-service-type for setuid-program-service-type.
2024-08-11system: Use /run/privileged/bin in search paths.Tobias Geerinckx-Rice1-4/+4
* gnu/system.scm (operating-system-etc-service): Substitute /run/privileged/bin for deprecated /run/setuid-programs.
2024-08-11system: Disallow file-like setuid-programs.Tobias Geerinckx-Rice1-27/+1
It has been a warning for well over a year now. Now, with privileged-programs coming, don't let's support nested deprecation hacks. * gnu/system.scm (<operating-system>): Don't ‘sanitize’ the setuid-programs field. (ensure-setuid-program-list): Delete syntax. (%ensure-setuid-program-list): Delete variable.
2024-05-15system: Do not delete all nss-certs packages when they are the same object.Maxim Cournoyer1-1/+7
Calling 'delete' on the list of packages would delete *all* occurrences of a given object, not just the first one. This meant that if the user had something like: (packages (cons nss-certs %base-packages)) In their operating system declaration, no nss-certs would end up in the final list. To guard against this, guard against this by checking that more than one nss-certs package exist even after deduplication. * gnu/system.scm (operating-system-packages): Guard against deleting all nss-certs when a single nss-certs package object is listed multiple times. Fixes: https://issues.guix.gnu.org/70850 Change-Id: Id93be9242e026fd2e96a442941df80b94664ef9a
2024-04-28system: Fix duplicate nss-certs check.nathan1-1/+3
* gnu/system.scm (operating-system-packages): Because packages->manifest allows other formats, don't assume it's a package object in the list. Fixes: https://issues.guix.gnu.org/70624 Change-Id: I91c64ca2c463ef5c35fa23856e4622e364e58988 Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2024-04-26system: Warn when multiple nss-certs packages are used.Maxim Cournoyer1-2/+26
This can happen due to users providing 'nss-certs' and adding it to the %base-packages, which now include 'nss-certs'. * gnu/system.scm (operating-system-packages): Warn when multiple nss-certs packages are detected; keep only the latest one. Change-Id: I6104f134ea1cc155ae9e8e0ae70bb5a38fc05800 Reported-by: Ian Eure <ian@retrospec.tv>
2024-04-18system: Add 'nss-certs' to %base-packages-networking.Jacob Hrbek1-0/+2
See the discussion at <https://lists.gnu.org/archive/html/guix-devel/2024-04/msg00020.html>. * gnu/system.scm (%base-packages-networking): Add nss-certs. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Change-Id: I24f336e4bb25561d0ec9344a1a4061d2ecc9aed8
2024-04-17gnu: ath9k-htc-firmware: Split package.Jean-Pierre De Jesus DIAZ1-1/+2
* gnu/local.mk (dist_patch_DATA): Remove ath9k-htc-firmware-objcopy.patch. * gnu/packages/firmware.scm (ath9k-htc-firmware): Remove. (ath9k-htc-ar7010-firmware, ath9k-htc-ar9271-firmware): New variables. * gnu/packages/patches/ath9k-htc-firmware-objcopy.patch: Delete file. * gnu/system.scm (%base-firmware): Use new ath9k packages. Change-Id: I86259e398427abd139c1f310a95bb15e2c03cee3 Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2024-03-22system, home: Validate ‘services’ field value.Ludovic Courtès1-2/+3
This guides newcomers who might stick a single (service …) form in this field. * gnu/services.scm (validate-service-list): New macro. (%validate-service-list): New procedure. * gnu/system.scm (<operating-system>)[services]: Add ‘sanitize’. * gnu/home.scm (<home-environment>)[services]: Add ‘sanitize’. Change-Id: I9e29bd9a078e87b627ab766fd669ba9de79f8473
2024-02-19system: Omit “root=” kernel argument when root device is “none”.Nicolas Graves1-9/+13
* gnu/system.scm (bootable-kernel-arguments): Fallback to tmpfs if root is "none". Change-Id: I35a656e71169dc786e5256d98a3c04c65043086d Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-01-08system: hurd: Use the Shepherd 0.10.x.Ludovic Courtès1-3/+1
* gnu/system.scm (hurd-default-essential-services): Remove reference to ‘shepherd-0.8’. * gnu/system/hurd.scm (%base-packages/hurd): Replace ‘shepherd-0.8’ with ‘shepherd-0.10’. Change-Id: I9f1800693cda456286450d3d0bb6f7e3da85d55e
2023-12-25gnu: Adjust to removing ed.scm and nano.scmEfraim Flashner1-1/+0
This is a follow-up to f6817e71dff7d0d9fdb55db8b85a1d3d04e2bf5a and e11e65a9ad08e18ea2faac3c9f4639a7b189bf76. * gnu/installer.scm, gnu/packages/algebra.scm, gnu/packages/base.scm, gnu/packages/cook.scm, gnu/packages/lisp.scm, gnu/packages/patchutils.scm, gnu/packages/version-control.scm, gnu/packages/web-browsers.scm, gnu/system.scm: Adjust module imports. Change-Id: I25e5519fa003c35a14b81c3dda37b24527858634
2023-07-30system: Fix a blown FUSE.Tobias Geerinckx-Rice1-1/+1
I bungled up a merge conflict between 789f7e9 (gnu: fuse@3: Bind to default FUSE variable.) and my other setuid-related changes. * gnu/system.scm (%setuid-programs): Look for /bin/fusermount in FUSE-2, not 3. Reported by renngar[m] in #guix.
2023-07-23gnu: fuse@3: Bind to default FUSE variable.Tobias Geerinckx-Rice1-1/+1
* gnu/packages/linux.scm (fuse): Rename this… (fuse-2): …to this, and… (fuse-3): …rename this… (fuse): …to this! (fuse-static): Rename this… (fuse-2-static): …to this. Adjust all users.
2023-07-13system: hurd: Boot with pci.arbiter and rumpdisk.Janneke Nieuwenhuizen1-5/+20
* gnu/system.scm (hurd-multiboot-modules): Add commands for pci.arbiter and rumpdisk. Signed-off-by: Josselin Poiret <dev@jpoiret.xyz>
2023-05-10system: Fix reference to Hurd bug in comment.Ludovic Courtès1-1/+1
* gnu/system.scm (hurd-multiboot-modules): Fix bug reference in comment.
2023-04-14Merge branch 'master' into core-updates.Maxim Cournoyer1-9/+1
Conflicts: gnu/local.mk gnu/packages/build-tools.scm gnu/packages/certs.scm gnu/packages/check.scm gnu/packages/compression.scm gnu/packages/cups.scm gnu/packages/fontutils.scm gnu/packages/gnuzilla.scm gnu/packages/guile.scm gnu/packages/ibus.scm gnu/packages/image-processing.scm gnu/packages/linux.scm gnu/packages/music.scm gnu/packages/nss.scm gnu/packages/pdf.scm gnu/packages/python-xyz.scm gnu/packages/qt.scm gnu/packages/ruby.scm gnu/packages/shells.scm gnu/packages/tex.scm gnu/packages/video.scm gnu/packages/vulkan.scm gnu/packages/web.scm gnu/packages/webkit.scm gnu/packages/wm.scm
2023-03-30system: Remove obsolete GUIX_LOCPATH workaround.Bruno Victal1-9/+1
* gnu/system.scm (operating-system-environment-variables): Do not set GUIX_LOCPATH. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-20Merge remote-tracking branch 'origin/master' into core-updatesAndreas Enge1-15/+13
2023-03-16services: etc-service: Deprecate etc-service procedure.Bruno Victal1-1/+1
* gnu/services.scm (etc-service): Deprecate procedure. * gnu/system.scm (operating-system-etc-service): Replace etc-service with etc-service-type. Signed-off-by: Ludovic Courtès <ludo@gnu.org>