* gnu/services/guix.scm (nar-herder-configuration-new-ttl,
nar-herder-cached-compression-configuration-unused-removal-duration,
nar-herder-cached-compression-configuration-ttl,
nar-herder-cached-compression-configuration-new-ttl): New procedure.
(nar-herder-shepherd-services): Handle the new options.
* doc/guix.texi (Guix Services): Document the new nar-herder options.
Change-Id: I161e490221a3ce394e32ada685dca27df60638bb
* doc/guix.texi (Channels): Instead of mentioning just
~/.config/guix/channels.scm, mention channel files in general and link
to “Invoking guix pull”.
Change-Id: Iefb8a2d5ee5d804b2b6319785842fc3a97704495
This is a followup to c1d37d0653.
* doc/guix.texi (Networking Services): Update to mention unroutable
addresses.
Change-Id: I6f62e1f414a3eb7892b2d4cc0d011458bbec7001
* doc/guix.texi (Invoking @command{guix package}): Correct the module where
'guile-final' is defined. It is actually located in (gnu packages
commencement) rather than in the (gnu packages base).
Change-Id: I7747106916d53dcbe296b7302983c5013eb2926d
Signed-off-by: Christopher Baines <mail@cbaines.net>
The Guix website style sheets are now organized in themes. This change
makes the documentation builder use the resources provided by a theme
called "initial" (See https://issues.guix.gnu.org/69783).
* doc/build.scm (syntax-highlighted-html): Update path to CSS.
(html-manual-indexes): Likewise.
(stylized-html): Likewise, and update path to language picker image.
Change-Id: Ib2d51fcfdec42ad827add1ead1cfee4c9c4e65b7
Signed-off-by: Florian Pelz <pelzflorian@pelzflorian.de>
Only LUKS1 is supported in Guix at the time of this commit. Contrarily to what
reported in previous versions of this section, LUKS2 is not supported.
* doc/guix.texi (Keyboard Layout, Networking, and Partitioning)[Disk
Partitioning]: Fix section on LUKS support.
Signed-off-by: Christopher Baines <mail@cbaines.net>
Change-Id: Ia670963178810174d3ea4585c537defbaaeb0f25
Fixes <https://issues.guix.gnu.org/68848>.
The current implementation of the home-dotfiles-service-type contradicts
the Guix manual. This patch properly implements both the plain and Stow
dotfiles directory layouts.
It does so by refactoring home-dotfiles-configuration adding a new
packages field to support GNU Stow's users workflow and introducing
a new layout field to switch between the two directory layouts.
* gnu/home/services/dotfiles (home-dotfiles-configuration): Migrate to
(gnu services configuration);
[packages]: new field;
[layout]: new field;
(strip-stow-dotfile): new variable;
(strip-plain-dotfile): new variable;
(home-dotfiles-configuration->files): use the new fields;
[directory-contents]: allow for
selecting a subset of application dotfile directories;
* doc/guix.texi: document the new layouts.
Change-Id: I2e96037608353e360828290f055ec5271cfdfd48
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* doc/guix.texi (Getting Started with the System): New node.
(After System Installation): Refer to it. Move note about ‘sudo guix
pull’ to the “Getting Started with the System”.
(Getting Started): Refer to it. Move note about ‘guix system roll-back’
to “Getting Started with the System”.
(Features): Refer to it.
(Using the Configuration System): Adjust intro. Add “Troubleshooting”
note that mentions ‘guix style -f’ for misplaced parens.
(Instantiating the System): Simplify and cross-reference “Getting
Started with the System”.
Change-Id: Ie74f598450e8059a4579a016e2aeca2edd7696a7
* doc/guix.texi (Binary Installation): Mention the requirement to use a
Hurd or Linux kernel for the binary installation.
Suggested-by: Matt <matt@excalamus.com>
Change-Id: Ibc0552f59be4fdaaf8d44a5222e6feb925d3f06f
* doc/contributing.texi (Commit Access): Mention that blocking comes with
extra responsibilities.
Reviewed-by: Simon Tournier <zimon.toutoune@gmail.com>
Signed-off-by: Simon Tournier <zimon.toutoune@gmail.com>
* gnu/services/shepherd.scm (<shepherd-service>): Add respawn-limit and
respawn-delay.
(shepherd-service-file): Emit the two values into the shepherd service
constructor form.
Change-Id: I54408e8fb4bcc0956d9610771bf5c566fdc2914c
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Using defvar for service types causes them to be part of the index, which is
useful for discoverability.
* doc/guix.texi (Telephony Services) <mumble-server-service-type>: Define with
defvar.
Change-Id: I01bed0c86ff12425a81294cb12f1b2a8bd14cd6f
Using defvar for service types causes them to be part of the index, which is
useful for discoverability.
* doc/guix.texi (Telephony Services) <jami-service-type>: Define with
defvar.
Change-Id: I7cbb3b7c84c34a91db689b8698a19ed49ef607b4
Using defvar for service types causes them to be part of the index, which is
useful for discoverability.
* doc/guix.texi (Database Services) <postgresql-service-type>: Define with
defvar.
Change-Id: If1c920ad275a9386ec7bb9e48e9a132df98dee97
* guix/scripts/download.scm (git-download-to-store*): Add new variable.
(copy-recursively-without-dot-git): New variable.
(git-download-to-file): Add new variable.
(show-help): Add 'git', 'commit', 'branch' and 'recursive'options
help message.
(%default-options): Add default value for 'git-reference' and
'recursive' options.
(%options): Add 'git', 'commit', 'branch' and 'recursive' command
line options.
(guix-download) [hash]: Compute hash with 'file-hash*' instead of
'port-hash' from (gcrypt hash) module. This allows us to compute
hashes for directories.
* doc/guix.texi (Invoking guix-download): Add @item entries for
`git', `commit', `branch' and `recursive' options. Add a paragraph in
the introduction.
* tests/guix-download.sh: New tests. Move variables and trap definition
to the top of the file.
Change-Id: Ic2c428dca4cfcb0d4714ed361a4c46609339140a
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Currently connman has no main.conf as specified in 'man 5 connman.conf' which
would allow setting NetworkInterfaceBalcklist and other useful options.
This patch adds connman-general-configuration, serializes it and
passes to connmad with --config= flag.
All configuration fields are 'maybe-*' deliberately, to not disturb current
users and not require supporting configuration changes for connmand.
* gnu/services/networking.scm (<connman-general-configuration>): New
configuration record to represent main.conf for connmand.
(<connman-configuration>)[general-configuration]: New field.
(connman-shepherd-service): Honor it.
*doc/guix.texi (Networking Services): Add generated configuration.
Change-Id: I5d78f49e8b2d5e0b3cbd7b8b604e8a254b6397e8
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Recommended by Christian Miller.
* doc/guix.texi (Packages with Multiple Outputs): Replace 'a packages'
with 'a package'.
(Invoking guix time-machine): Don't assume knowledge and give an
explicit link to Back to the Future.
(Invoking guix pack): Remove doubled word.
(Build Systems): Same.
(Debugging Build Failures): 'inspect' is not a command to be run.
(Invoking guix import): Remove doubled word.
(Invoking guix size): Remove stray word.
(Invoking guix processes): Replace 'guix environment' with 'guix shell'.
(Base Services): Add missing word.
(Networking Setup): Adjust a/an usage.
(Networking Services): Remove stray symbol. Add space between two
words.
(Desktop Services): Remove stray symbol from example.
(Database Services): Document default postgresql version.
(Web Services): Adjust indentation.
(Audio Services): Add missing newline.
(Miscellaneous Services): Switch 'get' to 'gets'.
(Bootloader Configuration): Remove stray symbol.
(Secure Shell): Remove marks around accepted values.
(Installing Debugging Files): Replace 'is' with 'it'.
(Full-Source Bootstrap): Remove doubled word.
(Preparing to Use the Bootstrap Binaries): Same.
Change-Id: Ifbf2677dff7642c6531384145363d7611286e48b
In order to be able to provide decryption keys for the LUKS device, they need
to be available in the initial ram disk. However they cannot be stored inside
the usual initrd, since it is stored in the store and being a
world-readable (as files in the store are) is not a desired property for a
initrd containing decryption keys. This commit adds an option to load
additional initrd during the boot, one that is not stored inside the store and
therefore can contain secrets.
Since only grub supports encrypted /boot, only grub is modified to use the
extra-initrd. There is no use case for the other bootloaders.
* doc/guix.texi (Bootloader Configuration): Describe the new extra-initrd
field.
* gnu/bootloader.scm (<bootloader-configuration>): Add extra-initrd field.
* gnu/bootloader/grub.scm (make-grub-configuration): Use the extra-initrd
field.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Change-Id: I995989bb623bb594ccdafbf4a1a6de941bd4189f
Requiring the user to input their password in order to unlock a device is not
always reasonable, so having an option to unlock the device using a key file
is a nice quality of life change.
* gnu/system/mapped-devices.scm (open-luks-device): Add #:key-file argument.
(luks-device-mapping-with-options): New procedure.
* doc/guix.texi (Mapped Devices): Describe the new procedure.
Change-Id: I1de4e045f8c2c11f9a94f1656e839c785b0c11c4
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* doc/guix.texi (Invoking guix import): Mention '--allow-yanked'.
* guix/import/crate.scm (make-crate-sexp): Add yanked? argument. For
yanked packages, use the full version suffixed by "-yanked" for
generated variable names and add a comment and package property.
(crate->guix-package): Add allow-yanked? argument and if it is set to #t,
allow importing yanked crates if no other version matching the
requirements exists.
[find-package-version]: Packages previously marked as yanked are only
included if allow-yanked? is #t and then take the lowest priority.
[find-crate-version]: If allow-yanked? is #t, also consider yanked
versions with the lowest priority.
[dependency-name+version]: Rename to ...
[dependency-name+version+yanked] ...this. Honor allow-yanked? and choose
between an existing package and an upstream package. Exit with an error
message if no version fulfilling the requirement is found.
[version*]: Exit with an error message if the crate version is not found.
(cargo-recursive-import): Add allow-yanked? argument.
* guix/read-print.scm: Export <comment>.
* guix/scripts/import/crate.scm: Add "--allow-yanked".
* tests/crate.scm: Add test 'crate-recursive-import-only-yanked-available'.
[sort-map-dependencies]: Adjust accordingly.
[remove-yanked-info]: New variable.
Adjust test 'crate-recursive-import-honors-existing-packages'.
(test-bar-dependencies): Add yanked dev-dependencies.
(test-leaf-bob-crate): Add yanked versions.
(rust-leaf-bob-3.0.2-yanked): New variable.
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
Change-Id: I175d89b39774e6b57dcd1f05bf68718d23866bb7
If --recursive-dev-dependencies is specified, development dependencies
are also included for all recursively imported packages.
* doc/guix.texi (Invoking guix import): Mention --recursive-dev-dependencies.
* guix/import/crate.scm (crate-recursive-import): Add
recursive-dev-dependencies? argument.
* guix/scripts/import/crate.scm (show-help, guix-import-crate): Add
"--recursive-dev-dependencies".
* tests/crate.scm: Test both #f and #t for #:recursive-dev-dependencies?
in the 'cargo-recursive-import' test.
(test-root-dependencies): Add intermediate-c as dev-dependency.
(test-intermediate-c-crate, test-intermediate-c-dependencies): New
variables.
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
Change-Id: Iae89794681155d77f128733120e60f03bc297717