system: Define '%base-packages' and use it.
* gnu/system.scm (<operating-system>)[packages]: Change default value to %BASE-PACKAGES. (%base-packages): New variable. * gnu/system/install.scm (installation-os): Use it when defining the 'packages' field. * doc/guix.texi (Using the Configuration System): Use %BASE-PACKAGES in example. Remove now unneeded module imports. Explain this.master
parent
39d4fde3bf
commit
6f436c54d6
|
@ -24,15 +24,7 @@
|
|||
|
||||
(use-modules (gnu)
|
||||
|
||||
(gnu packages zile)
|
||||
(gnu packages xorg)
|
||||
(gnu packages admin)
|
||||
(gnu packages guile)
|
||||
(gnu packages bash)
|
||||
(gnu packages linux)
|
||||
(gnu packages less)
|
||||
(gnu packages tor)
|
||||
(gnu packages package-management)
|
||||
(gnu packages avahi)
|
||||
|
||||
(gnu services networking)
|
||||
|
@ -98,7 +90,5 @@ You can log in as 'guest' or 'root' with no password.
|
|||
(pam-services
|
||||
;; Explicitly allow for empty passwords.
|
||||
(base-pam-services #:allow-empty-passwords? #t))
|
||||
(packages (list bash coreutils findutils grep sed
|
||||
procps psmisc less
|
||||
guile-2.0 dmd guix util-linux inetutils avahi
|
||||
xterm zile)))
|
||||
|
||||
(packages (cons* xterm avahi %base-packages)))
|
||||
|
|
|
@ -3116,14 +3116,8 @@ Linux-Libre kernel, initial RAM disk, and boot loader looks like this:
|
|||
@findex operating-system
|
||||
@lisp
|
||||
(use-modules (gnu) ; for 'user-account', '%base-services', etc.
|
||||
(gnu services ssh) ; for 'lsh-service'
|
||||
(gnu packages base) ; Coreutils, grep, etc.
|
||||
(gnu packages bash) ; Bash
|
||||
(gnu packages admin) ; dmd, Inetutils
|
||||
(gnu packages zile) ; Zile
|
||||
(gnu packages less) ; less
|
||||
(gnu packages guile) ; Guile
|
||||
(gnu packages linux)) ; procps, psmisc
|
||||
(gnu packages emacs) ; for 'emacs'
|
||||
(gnu services ssh)) ; for 'lsh-service'
|
||||
|
||||
(define komputilo
|
||||
(operating-system
|
||||
|
@ -3142,22 +3136,21 @@ Linux-Libre kernel, initial RAM disk, and boot loader looks like this:
|
|||
(uid 1000) (gid 100)
|
||||
(comment "Bob's sister")
|
||||
(home-directory "/home/alice"))))
|
||||
(packages (list coreutils bash guile-2.0
|
||||
guix dmd
|
||||
inetutils
|
||||
findutils grep sed
|
||||
procps psmisc
|
||||
zile less))
|
||||
(packages (cons emacs %base-packages))
|
||||
(services (cons (lsh-service #:port 2222 #:allow-root-login? #t)
|
||||
%base-services))))
|
||||
@end lisp
|
||||
|
||||
This example should be self-describing. The @code{packages} field lists
|
||||
packages provided by the various @code{(gnu packages ...)} modules above
|
||||
(@pxref{Package Modules}). These are the packages that will be globally
|
||||
visible on the system, for all user accounts---i.e., in every user's
|
||||
@code{PATH} environment variable---in addition to the per-user profiles
|
||||
(@pxref{Invoking guix package}).
|
||||
packages that will be globally visible on the system, for all user
|
||||
accounts---i.e., in every user's @code{PATH} environment variable---in
|
||||
addition to the per-user profiles (@pxref{Invoking guix package}). The
|
||||
@var{%base-packages} variables provides all the tools one would expect
|
||||
for basic user and administrator tasks---including the GNU Core
|
||||
Utilities, the GNU Networking Utilities, the GNU Zile lightweight text
|
||||
editor, @command{find}, @command{grep}, etc. The example above adds
|
||||
Emacs to those, taken from the @code{(gnu packages emacs)} module
|
||||
(@pxref{Package Modules}).
|
||||
|
||||
@vindex %base-services
|
||||
The @code{services} field lists @dfn{system services} to be made
|
||||
|
|
|
@ -28,6 +28,9 @@
|
|||
#:use-module (gnu packages admin)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages package-management)
|
||||
#:use-module (gnu packages which)
|
||||
#:use-module (gnu packages less)
|
||||
#:use-module (gnu packages zile)
|
||||
#:use-module (gnu services)
|
||||
#:use-module (gnu services dmd)
|
||||
#:use-module (gnu services base)
|
||||
|
@ -59,7 +62,9 @@
|
|||
|
||||
operating-system-derivation
|
||||
operating-system-profile
|
||||
operating-system-grub.cfg))
|
||||
operating-system-grub.cfg
|
||||
|
||||
%base-packages))
|
||||
|
||||
;;; Commentary:
|
||||
;;;
|
||||
|
@ -97,15 +102,7 @@
|
|||
(default %default-issue))
|
||||
|
||||
(packages operating-system-packages ; list of (PACKAGE OUTPUT...)
|
||||
(default (list coreutils ; or just PACKAGE
|
||||
grep
|
||||
sed
|
||||
findutils
|
||||
guile
|
||||
bash
|
||||
(@ (gnu packages dmd) dmd)
|
||||
guix
|
||||
tzdata)))
|
||||
(default %base-packages)) ; or just PACKAGE
|
||||
|
||||
(timezone operating-system-timezone) ; string
|
||||
(locale operating-system-locale) ; string
|
||||
|
@ -216,6 +213,16 @@ explicitly appear in OS."
|
|||
;;; /etc.
|
||||
;;;
|
||||
|
||||
(define %base-packages
|
||||
;; Default set of packages globally visible. It should include anything
|
||||
;; required for basic administrator tasks.
|
||||
(list bash coreutils findutils grep sed
|
||||
procps psmisc less zile
|
||||
guile-final (@ (gnu packages admin) dmd) guix
|
||||
util-linux inetutils isc-dhcp
|
||||
net-tools ; XXX: remove when Inetutils suffices
|
||||
module-init-tools kbd))
|
||||
|
||||
(define %default-issue
|
||||
;; Default contents for /etc/issue.
|
||||
"
|
||||
|
|
|
@ -20,13 +20,8 @@
|
|||
#:use-module (gnu)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix monads)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages less)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages guile)
|
||||
#:use-module (gnu packages admin)
|
||||
#:use-module (gnu packages package-management)
|
||||
#:use-module (gnu packages zile)
|
||||
#:use-module (gnu packages disk)
|
||||
#:use-module (gnu packages texinfo)
|
||||
#:export (installation-os))
|
||||
|
@ -137,13 +132,9 @@ Use Alt-F2 for documentation.
|
|||
;; Explicitly allow for empty passwords.
|
||||
(base-pam-services #:allow-empty-passwords? #t))
|
||||
|
||||
(packages (list bash coreutils findutils grep sed
|
||||
procps psmisc less texinfo-4
|
||||
guile-2.0 dmd guix util-linux
|
||||
inetutils isc-dhcp net-tools
|
||||
parted fdisk ddrescue
|
||||
module-init-tools kbd
|
||||
zile))))
|
||||
(packages (cons* texinfo-4 ; for the standalone Info reader
|
||||
parted fdisk ddrescue
|
||||
%base-packages))))
|
||||
|
||||
;; Return it here so 'guix system' can consume it directly.
|
||||
installation-os
|
||||
|
|
Reference in New Issue