3
0
Fork 0
forked from mirrors/nixpkgs
Commit graph

17869 commits

Author SHA1 Message Date
Bas van Dijk d06de760f8 nixos/modules/system/activation/top-level.nix: allow overriding system.name
The toplevel derivations of systems that have `networking.hostName`
set to `""` (because they want their hostname to be set by DHCP) used
to be all named
`nixos-system-unnamed-${config.system.nixos.label}`.
This makes them hard to distinguish.

A similar problem existed in NixOS tests where `vmName` is used in the
`testScript` to refer to the VM. It defaulted to the
`networking.hostName` which when set to `""` won't allow you to refer
to the machine from the `testScript`.

This commit makes the `system.name` configurable. It still defaults to:

```
if config.networking.hostName == ""
then "unnamed"
else config.networking.hostName;
```

but in case `networking.hostName` needs to be to `""` the
`system.name` can be set to a distinguishable name.
2020-07-20 13:44:18 +02:00
Bas van Dijk 6e7822b8f3 lib: toHex -> toHexString & toBase -> toBaseDigits
This makes the type of these functions more apparent from the name.
2020-07-20 13:14:19 +02:00
Bas van Dijk e15815e885 nixos/tests/networking.nix: test the services.dhcpd4.machines option
This modifies the `router` to not give out a range of IP addresses but
only give out a fixed address based on the MAC address using the
`services.dhcpd4.machines` option.

To get access to the MAC address the `qemuNicMac` function is defined
and exported from `qemu-flags.nix`.
2020-07-20 13:09:27 +02:00
Bas van Dijk 0410f5dff9 nixos/tests: support up to 255 nodes in NixOS tests 2020-07-20 13:09:27 +02:00
Daniël de Kok d0c12dc612
Merge pull request #85689 from danieldk/resilio-module-fix
nixos/resilio: fix directoryRoot configuration
2020-07-20 11:31:36 +02:00
Daniël de Kok b9e0992e87 nixos/resilio: fix directoryRoot configuration
The resilio module places the directoryRoot configuration in the webui
section. However, the generated configuration fails on the current
version of Resilio Sync with:

Invalid key context: 'directory_root' must be in global config section

This change places this key in the global configuration section to
solve this error.
2020-07-20 11:24:33 +02:00
Arnout Engelen be006eab1f
make-iso9660-image: produce stable GPT disk GUID
By generating a version-5 GUID based on $out (which contains
the derivation hash) and preventing isohybrid from overwriting
the GPT table (which already is populated correctly by xorriso).

Tested by:
* booting from USB disk on a UEFI system
* booting from USB disk on a non-UEFI system
* booting from CD on a UEFI system
* booting from CD on a non-UEFI system
* booting from CD on an OSX system

Also tested that "nix-build ./nixos/release-combined.nix -A
nixos.iso_minimal.x86_64-linux -I nixpkgs=~/nixpkgs-r13y --check"
now succeeds.

Fixes #74047
2020-07-20 11:16:59 +02:00
Nikola Knežević 53f42f245a
oauth2_proxy: 5.1.1 -> 6.0.0 (#93121)
The new release fixes one of the outstanding CVEs against oauth2_proxy:
https://github.com/oauth2-proxy/oauth2-proxy/security/advisories/GHSA-5m6c-jp6f-2vcv.

In addition, rename the owner and the project name to reflect the
changes upstream (it now belongs to the oauth2-proxy organization, and
the name is oauth2-proxy)
2020-07-19 22:08:33 -07:00
Jan Tojnar 83442a3533
Merge branch 'master' into staging-next 2020-07-20 02:16:21 +02:00
aszlig 4e92b613cc
nixos/wireguard: Fix mismatched XML tag
Build error introduced in fe7053f75a912197f312d890740dd3bdde0ed994:

  parser error : Opening and ending tag mismatch: commmand line 6139 and command
  escription><para>Base64 preshared key generated by <commmand>wg genpsk</command>
                                                                                 ^
Writing "command" with only two "m" fixes building the NixOS manual.

Signed-off-by: aszlig <aszlig@nix.build>
2020-07-20 00:14:44 +02:00
Jörg Thalheim 1c26e6baec
Merge pull request #93474 from tnias/fix20200719 2020-07-19 21:07:05 +01:00
06kellyjac 9edb189fa1 nixos/containers: correct isNormaUser to isNormalUser
Correct a small spelling slip up
2020-07-19 16:26:14 +01:00
Philipp Bartsch fe7053f75a nixos/wireguard: fix typos and unify formatting 2020-07-19 14:57:39 +02:00
edef 2e4fb5cf4c nixos/users-groups: don't consider a system with Google OS Login inaccessible
This allows disabling users.mutableUsers without configuring any
authentication mechanisms (passwords, authorized SSH keys) other than
Google OS Login.
2020-07-19 00:28:02 +00:00
Vladimír Čunát 4244b73917
Merge branch 'master' into staging 2020-07-18 17:50:23 +02:00
Janne Heß e9bf4ca80f
nixos/gitlab: Make redis URL configurable
We run Redis via Unix socket
2020-07-18 16:28:59 +02:00
Janne Heß 026b4eb3ae
nixos/gitlab: Drop sidekiq PID file
> WARNING: PID file creation will be removed in Sidekiq 6.0, see #4045.
Please use a proper process supervisor to start and manage your
services

Since NixOS uses a proper process supervisor AND does not use the PID
file anywhere, we can just drop it to be upwards compatible and fix that
warning.
2020-07-18 16:00:04 +02:00
Olli Helenius 2d8311dac9
nixos/manual: Fix reference to copy_from_host 2020-07-18 14:26:44 +03:00
Jörg Thalheim eb66a32a56
Merge pull request #76487 from ryneeverett/lockkernelmodules-docker 2020-07-18 10:35:34 +01:00
Daniël de Kok cace440c15
Merge pull request #93290 from danieldk/manual-opencl-amd
nixos/manual: add a section about enabling OpenCL for AMD GPUs
2020-07-18 08:34:07 +02:00
ryneeverett f12581a7a3 nixos/docker: explicitly load kernel modules
This is analogous to #70447.

With security.lockKernelModules=true, docker commands result in the following
error without at least loading veth:

$ docker run hello-world
/nix/store/mr50kaan2vs4gc40ymwncb2vci25aq7z-docker-19.03.2/libexec/docker/docker: Error response from daemon: failed to create endpoint epic_kare on network bridge: failed to add the host (veth8b381f3) <=> sandbox (veth348e197) pair interfaces: operation not supported.
ERRO[0003] error waiting for container: context canceled
2020-07-18 02:31:25 +00:00
Janne Heß a44b2cdd3a nixos/systemd: Implement a packages option for tmpfiles
Also drop the `portables` tmpfiles because the file is missing in the
systemd derivation.
2020-07-18 00:03:47 +02:00
WilliButz c8a29f640a
Merge pull request #93291 from mdlayher/mdl-mmexporter
prometheus-modemmanager-exporter: init at 0.1.0, add NixOS module
2020-07-17 20:02:56 +02:00
Matt Layher a58346a5ee
nixos/prometheus-modemmanager-exporter: new module
Signed-off-by: Matt Layher <mdlayher@gmail.com>
2020-07-17 13:54:58 -04:00
Izorkin 8129816f98 nixos/unit: add 'tmp' directory 2020-07-17 19:46:56 +03:00
Lassulus b6eca9a2af
Merge pull request #93104 from Kloenk/moodle-plugins
nixos/moodle: add plugins
2020-07-17 17:47:11 +02:00
claudiiii 2d468be964 nixos/matrix-synapse: update documentation 2020-07-17 16:28:12 +02:00
Daniël de Kok 45edd3b418 nixos/manual: add a section about enabling OpenCL for AMD GPUs
- Begin a new chapter "GPU Acceleration", this should also cover
  VA-API, OpenGL, Vulkan, etc.
- Add a general blurb about OpenCL and how to check whether OpenCL
  devices are found.
- Add a section about enabling OpenCL for AMD GPUs specifically.
2020-07-17 13:35:49 +02:00
Finn Behrens 832d2289c3
moodle: update to 3.9.1
use phpEnv to provide xmlrpc
2020-07-16 23:48:08 +02:00
Robert Hensing c1908bf802
Merge pull request #92934 from hercules-ci/dockerTools-set-imageTag
dockerTools: Always set imageTag attribute
2020-07-16 17:05:58 +02:00
Philip Potter e4029c34fc yubikey-agent: init at 0.1.3
This adds yubikey-agent as a package and a nixos module.

On macOS, we use `wrapProgram` to set pinentry_mac as default in PATH;
on Linux we rely on the user to set their preferred pinentry in PATH.
In particular, we use a systemd override to prefix PATH to select a
chosen pinentry program if specified.

On Linux, we need libnotify to provide the notify-send utility for
desktop notifications (such as "Waiting for Yubikey touch...").

This might work on other flavors of unix, but I haven't tested.

We reuse the programs.gnupg.agent.pinentryFlavor option for
yubikey-agent, but in doing so I hit a problem: pinentryFlavour's
default value is specified in a mkDefault, but only conditionally.  We
ought to be able to pick up the pinentryFlavour whether or not gpg-agent
is running.  As a result, this commit moves the default value to the
definition of programs.gnupg.agent.enable.
2020-07-16 15:29:33 +01:00
Daniël de Kok aa94e5f2c2
Merge pull request #93210 from zowoq/podman
podman updates
2020-07-16 09:20:01 +02:00
Sarah Brofeldt 7ab42c176c nixos/tests/kubernetes: Don't re-import <nixpkgs> 2020-07-16 08:44:04 +02:00
zowoq 805f7676bc Revert "nixos/podman: use cgroupfs for rootless crun test"
This reverts commit 033ba9c73d.
2020-07-16 12:11:09 +10:00
Jan Tojnar 821dba740e
Merge branch 'staging-next' into staging 2020-07-15 09:29:01 +02:00
Graham Christensen 0c10b75288
Merge pull request #93110 from grahamc/systemd-executable
stage-2: parameterized systemd executable
2020-07-14 15:45:00 -04:00
Florian Klink e99389a942
Merge pull request #93001 from aanderse/gitolite
nixos/gitolite: provision data directory only before service begins
2020-07-14 20:40:35 +02:00
Florian Klink b6c53e3ac5
Merge pull request #92791 from johanot/ceph-15
ceph: 14.2.10 -> 15.2.4
2020-07-14 20:10:23 +02:00
Graham Christensen 64dd9c1d6a
stage-2: parameterized systemd executable
This lets users do sneaky things before systemd starts, and
permanently affect the environment in which systemd runs. For example,
we could start systemd in a non-default network namespace by setting
the systemdExecutable to a wrapper script containing:

    #!/bin/sh
    ip netns add virtual
    touch /var/run/netns/physical
    mount -o bind /proc/self/ns/net /var/run/netns/physical
    exec ip netns exec virtual systemd

_note: the above example does literally work, but there are unresolved
problems with udev and dhcp._
2020-07-14 13:18:14 -04:00
worldofpeace 97054ce880
Merge pull request #93089 from jtojnar/debug-gnome-tests
nixosTests.gnome3: enable debug mode
2020-07-14 12:43:56 -04:00
Florian Klink a224b6e18f
Merge pull request #93024 from flokli/lvm-fixes
lvm: cleanups
2020-07-14 13:53:15 +02:00
ajs124 53a34361af nixos/tests/installer: lvm: test lvm2-pvscan@ units
Also, add some sleep statements in between, which seems to at least feel
like it causes

> WARNING: Device /dev/vda* not initialized in udev database even after waiting 10000000 microseconds.

To occur less frequently.

This eventually still succeeds after some amount of waiting, I suspect
some racyness in the way lvm's udev-triggered scripts trigger other
units.
2020-07-14 12:00:33 +02:00
ajs124 d056f6e86d nixos/test/installer: add postBootCommands 2020-07-14 12:00:33 +02:00
ajs124 1a1e7237de nixos/tasks/lvm: add dmeventd and lvmthin support
Introduce a pkgs.lvm2_dmeventd that contains dmeventd support, and
enable if services.lvm.dmeventd.enable is true.
2020-07-14 12:00:32 +02:00
Atemu 206dc0cfac spotifyd: make option link clickable 2020-07-14 08:34:28 +02:00
Jan Tojnar 13e22e4607
nixosTests.gnome3: enable debug mode
The tests fail too often on Hydra without much of a hint what went wrong. Hopefully, this will provide some clue.
2020-07-14 04:35:15 +02:00
Florian Klink 2e2cd5c018
Merge pull request #93077 from RomanSharapov/add-configurable-keepalive
nixos/buildbot: enable configurable keepalive for buildbot worker
2020-07-13 21:21:23 +02:00
Roman Sharapov d53d13b6ee nixos/buildbot: enable configurable keepalive for buildbot worker
In the current implementation, there's no possibility to modify the default
parameter for keepalive. This is a number that indicates how frequently
keepalive messages should be sent from the worker to the buildmaster,
expressed in seconds. The default (600) causes a message to be sent to
the buildmaster at least once every 10 minutes.

If the worker is behind a NAT box or stateful firewall, these messages
may help to keep the connection alive: some NAT boxes tend to forget about
a connection if it has not been used in a while. When this happens, the
buildmaster will think that the worker has disappeared, and builds will
time out. Meanwhile the worker will not realize than anything is wrong.
2020-07-13 13:07:20 -04:00
adisbladis ce49f8cbd0
nixos/doc/manual/release-notes: Add release notes for subuid/subgid mappings 2020-07-13 13:22:53 +02:00
adisbladis 5733967290
nixos.users-groups: Set up subuid/subgid mappings for all normal users
This is required by (among others) Podman to run containers in rootless mode.

Other distributions such as Fedora and Ubuntu already set up these mappings.

The scheme with a start UID/GID offset starting at 100000 and increasing in 65536 increments is copied from Fedora.
2020-07-13 13:15:02 +02:00
Jan Tojnar 09558f1dbf
Merge pull request #73795 from worldofpeace/fontconfig-2.13.92 2020-07-13 03:34:06 +02:00
Niklas Hambüchen 45325b1d24
install-grub.pl: Fix GRUB always reinstalling. (#92756)
See https://github.com/NixOS/nixpkgs/pull/92520#issuecomment-655157990.

In #85895 I accidentally introduced a comparison between an array reference
and an array, which can never be true. Fixed by dereferencing.
2020-07-13 02:16:43 +02:00
Florian Klink d3a991d410 lvm2: add multiple output support 2020-07-12 23:04:33 +02:00
Aaron Andersen 5e32ec39ca nixos/gitolite: provision data directory only before service begins 2020-07-12 09:19:00 -04:00
Florian Klink 3b2b3f7c53 nixos/systemd: add missing defaults, make options nullable
Otherwise evaluation will fail if these are not set.
2020-07-12 12:16:26 +02:00
Florian Klink b7ff71a90c
Merge pull request #92933 from RaghavSood/bug/92910
nixos/users-groups: fix mkChangedOptionModule for root password hash
2020-07-12 10:11:43 +02:00
Florian Klink 94dc0c006e
Merge pull request #92759 from mdlayher/mdl-systemd-watchdog
nixos/systemd: add options for hardware watchdog management
2020-07-12 09:35:25 +02:00
Raghav Sood 23e259cf7d
nixos/users-groups: fix mkChangedOptionModule for root password hash 2020-07-12 02:06:22 +00:00
Florian Klink 8c0708f0bb
Merge pull request #91424 from i077/restic-rclone-opts
nixos/restic: Add rclone options
2020-07-11 23:57:47 +02:00
Florian Klink 12834b3e87
Merge pull request #91232 from primeos/systemd-allow-transient-hostname
systemd: Allow setting the transient hostname via DHCP
2020-07-11 22:28:52 +02:00
Franz Pletz a8fd3c7edd
Merge pull request #85074 from Emantor/fix/boot_kernel_module
boot.initrd.luks: remove x86_64/i586 AES modules
2020-07-11 19:20:32 +02:00
Maximilian Bosch 3d9c143b77
Merge pull request #91895 from kristoff3r/jupyter-service
Improve jupyter service
2020-07-11 18:03:31 +02:00
Justin Humm ce111fcc26
Merge pull request #92225 from bachp/unifi-5.13.32
unifiStable: 5.13.29 -> 5.13.32
2020-07-11 17:14:19 +02:00
Jan Tojnar edf2541f02
fontconfig: Only read versioned config dirs
Falling back to unversioned `/etc/fonts/conf.d` when versioned one does not exist
is problematic since it only occurs on non-NixOS systems and those are likely
to have a different version of fontconfig. When those versions use incompatible
elements in the config, apps using fontconfig will crash.

Instead, we are now falling back to the in-package `fonts.conf` file that loads
both the versioned global `conf.d` directory and the in-package `conf.d` since using
upstream settings on non-NixOS is preferable to not being able to use apps there.

In fact, we would not even need to link `fonts.conf`, as the in-package `fonts.conf`
will be always used unless someone creates the global one manually (the option is still
retained if one wants to write a custom NixOS module and to avoid unnecessary stat call on NixOS).

Additionally, since the `fonts.conf` will always load `conf.d` from the package, we no longer
need to install them to sytem `/etc` in the module. This needed some mucking with `50-user.conf`
which disables configs in user directories (a good thing IMO, NixOS module will turn it back on)
but otherwise, it is cleaner. The files are still prioritized by their name, regardless of their location.

See https://github.com/NixOS/nixpkgs/pull/73795#issuecomment-634370125 for more information.
2020-07-11 17:05:13 +02:00
Robert Hensing 8c0459f611 dockerTools: Always set imageTag attribute
The image tag can be specified or generated from the output hash.
Previously, a generated tag could be recovered from the evaluated
image with some string operations.

However, with the introduction of streamLayeredImage, it's not
feasible to compute the generated tag yourself.

With this change, the imageTag attribute is set unconditionally,
for the buildImage, buildLayeredImage, streamLayeredImage functions.
2020-07-11 16:58:25 +02:00
Johan Thomsen 4f39f93d8e nixos/ceph: (test) ceph now has device monitoring and pg_autoscaler enabled by default
- the pg_autoscaler will force new empty pools down to 32 pgs
- device monitoring metrics consumes 1 pool with 1 pg
2020-07-11 14:12:42 +02:00
Edmund Wu 3b0608d679
nixos/networkd: correct DHCPv6 UseDNS field 2020-07-10 21:47:51 -04:00
Michael Weiss 483dbe9237 systemd: Allow setting the transient hostname via DHCP
This permits using method_set_hostname but still denies
method_set_static_hostname. As a result DHCP clients can now always set
the transient hostname via the SetHostname method of the D-Bus interface
of systemd-hostnamed (org.freedesktop.hostname1.set-hostname).
If the NixOS option networking.hostName is set to an empty string (or
"localhost") the static hostname (kernel.hostname but NOT /etc/hostname)
will additionally be updated (this is intended).

From "man hostnamectl": The transient hostname is a fallback value
received from network configuration. If a static hostname is set, and is
valid (something other than localhost), then the transient hostname is
not used.

Fix #74847.

Note: It's possible to restrict access to the org.freedesktop.hostname1
interface using Polkit rules.
2020-07-11 00:05:41 +02:00
lassulus 8d05772134
nixos make-disk-image: fix permissions of /build
This was broken in 460c0d6 (PR #90431); now the nixos-unstable channel
should get unblocked.
vcunat modified this commit to use env-var instead of hardcoding /build
2020-07-10 10:31:26 +02:00
Mario Rodas 926e93be73
Merge pull request #92692 from c0deaddict/fix/docker-layer-created-now
dockerTools.buildLayeredImage: fix created=now
2020-07-10 00:05:35 -05:00
worldofpeace 747fb48c72
Merge pull request #85065 from worldofpeace/autologin-unified
nixos/displayManager: make autoLogin options independent of DM type
2020-07-10 00:04:41 -04:00
worldofpeace 490cd7889e nixos/displayManager: make autoLogin options independent of DM type
Co-authored-by: volth <volth@volth.com>
2020-07-09 21:15:35 -04:00
lewo 9534da25bf
Merge pull request #90115 from asbachb/postfix-tls
postfix: Replaced config key by recommendation and introduced usage of system trust store
2020-07-09 20:29:49 +02:00
markuskowa 6ce044250b
Merge pull request #92048 from markuskowa/add-pmix
pmix: init at 3.1.5, add support to slurm, openmpi
2020-07-09 11:41:00 +02:00
Jos van Bakel 66737168a4
dockerTools.buildLayeredImage: fix created=now 2020-07-09 09:34:18 +02:00
Matt Layher f9ea9c7299 nixos/systemd: add options for hardware watchdog management 2020-07-08 21:43:12 -04:00
Graham Christensen 84ecbc9a19
libvirtd: don't start libvirtd-tcp.socket by default
Per upstream:

> libvirtd-tcp.socket - the unit file corresponding to the TCP 16509
> port for non-TLS remote access. This socket should not be configured
> to start on boot until the administrator has configured a suitable
> authentication mechanism.
2020-07-08 19:50:23 -04:00
Florian Klink 9e5f550af9 nixos/networkd: fix systemd.network.netdevs.<name>.vlanConfig.Id example
This is passed as integer, not string.

Closes https://github.com/NixOS/nixpkgs/issues/91172.
2020-07-08 20:43:17 +02:00
Eelco Dolstra 046427570e
nix: 2.3.6 -> 2.3.7 2020-07-08 16:58:54 +02:00
Maximilian Bosch 87d7f0f0f3
Merge pull request #92329 from asbachb/roundcube/add-message-size
roundcube: Added new option `maxAttachmentSize` to configure max attachment size
2020-07-08 11:22:14 +02:00
Maximilian Bosch 5bc22adb5a
nixos/manual: fix build
Option names must be `opt-<full-option-name>` in docbook XML.
2020-07-08 11:09:01 +02:00
worldofpeace dfe59e0ab2
Merge pull request #90307 from eyJhb/luks-pre-post
boot.initrd.luks.devices: add preOpenCommands and postOpenCommands
2020-07-08 03:02:29 -04:00
worldofpeace aba048f0bf
Merge pull request #92587 from worldofpeace/session-settings-update
Pantheon updates 2020-07-07
2020-07-08 01:01:05 -04:00
Benjamin Asbach 12e0d726fd roundcube: Added new option maxAttachmentSize to configure the maximum attachment size
The multiplication is used since roundcube uses only 70% of the php configured upload size.
2020-07-08 01:22:28 +02:00
worldofpeace eb3c53b4e9 nixos/pantheon: update greeter whitelist to new wording
This was a simple non fatal deprecation.

https://github.com/elementary/wingpanel/pull/326
2020-07-07 11:35:21 -04:00
worldofpeace 56619d6ebb
Merge pull request #85992 from symphorien/ibus-db
ibus: fix dconf database
2020-07-07 11:29:53 -04:00
Samuel Gräfenstein 82cf1d9dcd
nixos/plasma5: Noto Mono -> Noto Sans Mono
The font has been renamed.
See https://github.com/googlefonts/noto-fonts/pull/1029
2020-07-07 17:07:27 +02:00
Kristoffer Søholm 80a7a4295a nixos/jupyter: add package and command options 2020-07-07 15:00:49 +02:00
Michele Guerini Rocco fc553c0bc5
Merge pull request #89773 from rnhmjoj/ncdns
ncdns: init at 0.0.10.3
2020-07-07 10:58:55 +02:00
Michele Guerini Rocco 01c4a388ee
Merge pull request #91238 from rnhmjoj/users
nixos/users-groups: do not check validity of special hashes
2020-07-07 10:57:51 +02:00
Martin Weinelt 1093962cf0
nixos/tests/home-assistant: replace internal mqtt broker with mosquitto
The internal broker was deprecated since 0.92.0 and removed in 0.112.0.
2020-07-07 01:43:44 +02:00
Niklas Hambüchen e8c1ff9ef8
grub: Fix incorrect upgrade to new jsonStateLine. See #85895. (#92520)
Fixes error

    Can't use an undefined value as an ARRAY reference at /nix/store/...-install-grub.pl line 642, <FILE> line 5.

with `/boot/grub/state` being:

```
grub
2.04
no
/dev/sda
/boot

```

I am not sure where the trailing empty line can come from; the script does not
seem to write it. In any case, now we handle that situation as well.

Further, ensure that `extraGrubInstallArgs` defaults to the empty array
if its key is not present in the `jsonState`.
2020-07-07 00:53:55 +02:00
Martin Weinelt 8f357b7144
Merge pull request #81224 from chkno/modprobe-dot-d
nixos/modprobe: Fix modprobe configuration manpage link
2020-07-06 23:31:11 +02:00
Justinas Stankevičius f815cb6adf
nixos/test-driver: print a traceback when testScript fails (#92369)
* print a traceback: assertion message can be empty

* change print back to eprint
2020-07-06 23:29:40 +02:00
Chuck 70cb417bac nixos/modprobe: Fix modprobe configuration manpage link 2020-07-06 13:50:11 -07:00
Niklas Hambüchen a90ae331ec install-grub.pl: Add errno messages to all or die errors.
For example, turns the error

    cannot copy /nix/store/g24xsmmsz46hzi6whv7qwwn17myn3jfq-grub-2.04/share/grub/unicode.pf2 to /boot

into the more useful

    cannot copy /nix/store/g24xsmmsz46hzi6whv7qwwn17myn3jfq-grub-2.04/share/grub/unicode.pf2 to /boot: Read-only file system
2020-07-06 22:07:46 +02:00
Niklas Hambüchen 8665b5ab91 grub: Add boot.loader.grub.extraGrubInstallArgs option.
Useful for when you need to build grub modules into your grub kernel
to get a working boot, as shown in the added example.

To store this new value, we switch to more structural JSON approach.

Using one line per value to store in `/boot/grub/state` gets really messy when
the values are arrays, or even worse, can contain newlines (escaping would be
needed). Further, removing a value from the file would get extra messy
(empty lines we'd have to keep for backwards compatibility).

Thus, from now on we use JSON to store all values we'll need in the future.
2020-07-06 22:07:46 +02:00
Niklas Hambüchen 81c15742ce install-grub.pl: Write state file atomically.
Other files were already written atomically, but not this one.
2020-07-06 22:07:46 +02:00
Niklas Hambüchen 0dcad215fe install-grub.pl: Refactor: Extract getList() 2020-07-06 22:07:46 +02:00
Niklas Hambüchen d4d9d9c552
Merge pull request #92122 from nh2/qemu-vm-fix-useBootLoader
qemu-vm: Fix useBootLoader, remove `/boot` read-only restriction
2020-07-06 22:06:20 +02:00