Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: NixOS/nixpkgs
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 5953c2bc948f
Choose a base ref
...
head repository: NixOS/nixpkgs
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: c18f9c2fbdd1
Choose a head ref

Commits on Sep 26, 2020

  1. Copy the full SHA
    9b06e98 View commit details

Commits on Oct 12, 2020

  1. nixos/acme: Docs, explain how to set permissions

    As of 20.09 the /var/lib/acme/.challenges permissions will
    not automatically be correct. Add instructions on how to
    set them correctly.
    m1cr0man committed Oct 12, 2020
    Copy the full SHA
    d95f020 View commit details

Commits on Oct 31, 2020

  1. Copy the full SHA
    00d257c View commit details

Commits on Jan 19, 2021

  1. acme-client: 1.0.1 -> 1.1.0

    r-ryantm committed Jan 19, 2021
    Copy the full SHA
    ef998c2 View commit details

Commits on Jan 23, 2021

  1. Copy the full SHA
    2887549 View commit details

Commits on Jan 24, 2021

  1. Copy the full SHA
    bc1b5fd View commit details

Commits on Jan 28, 2021

  1. Copy the full SHA
    b6dea43 View commit details
  2. Copy the full SHA
    20755fe View commit details
  3. Copy the full SHA
    683f0b8 View commit details
  4. Copy the full SHA
    ea4de61 View commit details
  5. Copy the full SHA
    8b08048 View commit details

Commits on Jan 29, 2021

  1. Copy the full SHA
    5baabf5 View commit details
  2. Copy the full SHA
    a9259ed View commit details
  3. Copy the full SHA
    cd6aa10 View commit details
  4. mednaffe: 0.8.8 -> 0.9.0

    r-ryantm committed Jan 29, 2021
    Copy the full SHA
    866d0ae View commit details
  5. gcc: fix armhf target

    Fixes #96921
    aforemny committed Jan 29, 2021
    Copy the full SHA
    75e2f7c View commit details
  6. bpytop: 1.0.59 -> 1.0.61

    r-ryantm committed Jan 29, 2021
    Copy the full SHA
    d38b3b2 View commit details
  7. nixos/hoogle: add type

    Scriptkiddi committed Jan 29, 2021
    Copy the full SHA
    3f41fbc View commit details
  8. Copy the full SHA
    679e369 View commit details
  9. Merge pull request #110569 from NixOS/staging-next

    Staging next
    FRidh authored Jan 29, 2021
    Copy the full SHA
    b45d645 View commit details
  10. Merge pull request #111116 from marsam/update-scheme-manpages

    scheme-manpages: 2020-08-14 -> 2021-01-17
    SuperSandro2000 authored Jan 29, 2021
    Copy the full SHA
    29e649b View commit details
  11. Merge pull request #111118 from marsam/update-postgis

    postgresqlPackages.postgis: 3.1.0 -> 3.1.1
    SuperSandro2000 authored Jan 29, 2021
    Copy the full SHA
    7334170 View commit details
  12. Merge pull request #109898 from r-ryantm/auto-update/acme-client

    acme-client: 1.0.1 -> 1.1.0
    ryantm authored Jan 29, 2021
    Copy the full SHA
    cc21e59 View commit details
  13. Merge pull request #110626 from talyz/updater-emacs-fix

    updater-emacs: Add missing `pkgs` in path to `withPackages`
    adisbladis authored Jan 29, 2021
    Copy the full SHA
    fb38ac0 View commit details
  14. Copy the full SHA
    54f8b31 View commit details
  15. Merge pull request #108294 from GovanifY/silent-boot

    boot.initrd: add verbose option
    AndersonTorres authored Jan 29, 2021
    Copy the full SHA
    7925661 View commit details
  16. Merge pull request #97618 from lf-/fix-bad-caddy-configs

    nixos/caddy: fix overwriting of tls settings in config
    worldofpeace authored Jan 29, 2021
    Copy the full SHA
    3eae73d View commit details
  17. Merge pull request #109482 from fabaff/aiocoap

    python3Packages.aiocoap: init at 0.4b3
    mweinelt authored Jan 29, 2021
    Copy the full SHA
    b1280aa View commit details
  18. Merge pull request #111124 from r-ryantm/auto-update/mednaffe

    mednaffe: 0.8.8 -> 0.9.0
    ryantm authored Jan 29, 2021
    Copy the full SHA
    a6507da View commit details
  19. Merge pull request #109629 from fabaff/regenmaschine

    python3Packages.regenmaschine: init at 3.1.1
    mweinelt authored Jan 29, 2021
    Copy the full SHA
    90a9b71 View commit details
  20. Merge pull request #110370 from fabaff/plugwise

    python3Packages.plugwise: init at 0.8.5
    mweinelt authored Jan 29, 2021
    Copy the full SHA
    0a9982f View commit details
  21. inxi: 3.2.02-2 -> 3.3.00-1

    primeos committed Jan 29, 2021
    Copy the full SHA
    c9e9792 View commit details
  22. Merge pull request #100356 from m1cr0man/docsupdate

    nixos/acme: Docs, explain how to set permissions
    flokli authored Jan 29, 2021
    Copy the full SHA
    82102fc View commit details
  23. Merge pull request #98858 from sorki/cross/rpifw

    raspberrypi-builder: allow passing firmware package as argument
    matthewbauer authored Jan 29, 2021
    Copy the full SHA
    6307346 View commit details
  24. Merge pull request #111154 from helsinki-systems/hoogle

    nixos/hoogle: add type
    SuperSandro2000 authored Jan 29, 2021
    Copy the full SHA
    32fb3b7 View commit details
  25. Merge pull request #111155 from helsinki-systems/hostapd

    nixos/hostapd: add interface type
    SuperSandro2000 authored Jan 29, 2021
    Copy the full SHA
    532dd98 View commit details
  26. Merge pull request #111143 from r-ryantm/auto-update/bpytop

    bpytop: 1.0.59 -> 1.0.61
    mweinelt authored Jan 29, 2021
    Copy the full SHA
    398a876 View commit details
  27. Copy the full SHA
    b7882e2 View commit details
  28. Copy the full SHA
    999db28 View commit details
  29. Copy the full SHA
    c78daf7 View commit details
  30. Copy the full SHA
    40463bf View commit details
  31. Merge pull request #111145 from aforemny/armhf-gcc

    gcc: fix armhf target
    Ericson2314 authored Jan 29, 2021
    Copy the full SHA
    0a822bc View commit details
  32. cargo-c: 0.7.1 -> 0.7.2

    primeos committed Jan 29, 2021
    Copy the full SHA
    2c0b72c View commit details
  33. Copy the full SHA
    ede2416 View commit details
  34. Merge pull request #111033 from szlend/fix-oci-containers-service-dep…

    …ends
    
    nixos/oci-containers: Remove dependency on system.path
    adisbladis authored Jan 29, 2021
    Copy the full SHA
    d25c7c1 View commit details
  35. nvidia: Add AMD APU option for Prime

    Baughn authored and veprbl committed Jan 29, 2021
    Copy the full SHA
    6021ab7 View commit details
  36. Copy the full SHA
    c9f8884 View commit details
  37. nixos/acme: fix docs

    flokli committed Jan 29, 2021
    Copy the full SHA
    dfb2bc8 View commit details
  38. qutebrowser: 1.14.1 -> 2.0.1 (#108272)

    Milan authored Jan 29, 2021
    Copy the full SHA
    552d718 View commit details
  39. Copy the full SHA
    c18f9c2 View commit details
Showing with 353 additions and 83 deletions.
  1. +6 −0 lib/systems/examples.nix
  2. +71 −9 nixos/modules/hardware/video/nvidia.nix
  3. +7 −3 nixos/modules/security/acme.xml
  4. +1 −0 nixos/modules/services/development/hoogle.nix
  5. +1 −0 nixos/modules/services/networking/hostapd.nix
  6. +18 −2 nixos/modules/services/web-servers/caddy.nix
  7. +2 −3 nixos/modules/system/boot/loader/raspberrypi/raspberrypi-builder.nix
  8. +15 −9 nixos/modules/system/boot/stage-1-init.sh
  9. +18 −1 nixos/modules/system/boot/stage-1.nix
  10. +20 −19 nixos/modules/virtualisation/oci-containers.nix
  11. +1 −1 pkgs/applications/editors/emacs-modes/updater-emacs.nix
  12. +8 −5 pkgs/applications/networking/browsers/qutebrowser/default.nix
  13. +3 −3 pkgs/data/documentation/scheme-manpages/default.nix
  14. +2 −2 pkgs/development/libraries/ayatana-ido/default.nix
  15. +31 −0 pkgs/development/python-modules/aiocoap/default.nix
  16. +2 −2 pkgs/development/python-modules/boto3/default.nix
  17. +2 −2 pkgs/development/python-modules/botocore/default.nix
  18. +66 −0 pkgs/development/python-modules/plugwise/default.nix
  19. +51 −0 pkgs/development/python-modules/regenmaschine/default.nix
  20. +4 −4 pkgs/development/tools/continuous-integration/jenkins/default.nix
  21. +4 −4 pkgs/development/tools/rust/cargo-c/default.nix
  22. +2 −2 pkgs/misc/emulators/mednaffe/default.nix
  23. +2 −2 pkgs/servers/home-assistant/component-packages.nix
  24. +2 −2 pkgs/servers/sql/postgresql/ext/postgis.nix
  25. +2 −2 pkgs/tools/admin/awscli/default.nix
  26. +2 −2 pkgs/tools/networking/acme-client/default.nix
  27. +2 −2 pkgs/tools/system/bpytop/default.nix
  28. +2 −2 pkgs/tools/system/inxi/default.nix
  29. +6 −0 pkgs/top-level/python-packages.nix
6 changes: 6 additions & 0 deletions lib/systems/examples.nix
Original file line number Diff line number Diff line change
@@ -131,6 +131,12 @@ rec {
armhf-embedded = {
config = "arm-none-eabihf";
libc = "newlib";
# GCC8+ does not build without this
# (https://www.mail-archive.com/gcc-bugs@gcc.gnu.org/msg552339.html):
gcc = {
arch = "armv5t";
fpu = "vfp";
};
};

aarch64-embedded = {
80 changes: 71 additions & 9 deletions nixos/modules/hardware/video/nvidia.nix
Original file line number Diff line number Diff line change
@@ -63,6 +63,15 @@ in
'';
};

hardware.nvidia.powerManagement.finegrained = mkOption {
type = types.bool;
default = false;
description = ''
Experimental power management of PRIME offload. For more information, see
the NVIDIA docs, chapter 22. PCI-Express runtime power management.
'';
};

hardware.nvidia.modesetting.enable = mkOption {
type = types.bool;
default = false;
@@ -96,6 +105,16 @@ in
'';
};

hardware.nvidia.prime.amdgpuBusId = mkOption {
type = types.str;
default = "";
example = "PCI:4:0:0";
description = ''
Bus ID of the AMD APU. You can find it using lspci; for example if lspci
shows the AMD APU at "04:00.0", set this option to "PCI:4:0:0".
'';
};

hardware.nvidia.prime.sync.enable = mkOption {
type = types.bool;
default = false;
@@ -153,15 +172,24 @@ in
};
};

config = mkIf enabled {
config = let
igpuDriver = if pCfg.intelBusId != "" then "modesetting" else "amdgpu";
igpuBusId = if pCfg.intelBusId != "" then pCfg.intelBusId else pCfg.amdgpuBusId;
in mkIf enabled {
assertions = [
{
assertion = with config.services.xserver.displayManager; gdm.nvidiaWayland -> cfg.modesetting.enable;
message = "You cannot use wayland with GDM without modesetting enabled for NVIDIA drivers, set `hardware.nvidia.modesetting.enable = true`";
}

{
assertion = primeEnabled -> pCfg.nvidiaBusId != "" && pCfg.intelBusId != "";
assertion = primeEnabled -> pCfg.intelBusId == "" || pCfg.amdgpuBusId == "";
message = ''
You cannot configure both an Intel iGPU and an AMD APU. Pick the one corresponding to your processor.
'';
}
{
assertion = primeEnabled -> pCfg.nvidiaBusId != "" && (pCfg.intelBusId != "" || pCfg.amdgpuBusId != "");
message = ''
When NVIDIA PRIME is enabled, the GPU bus IDs must configured.
'';
@@ -174,6 +202,14 @@ in
assertion = !(syncCfg.enable && offloadCfg.enable);
message = "Only one NVIDIA PRIME solution may be used at a time.";
}
{
assertion = !(syncCfg.enable && cfg.powerManagement.finegrained);
message = "Sync precludes powering down the NVIDIA GPU.";
}
{
assertion = cfg.powerManagement.enable -> offloadCfg.enable;
message = "Fine-grained power management requires offload to be enabled.";
}
];

# If Optimus/PRIME is enabled, we:
@@ -183,18 +219,22 @@ in
# "nvidia" driver, in order to allow the X server to start without any outputs.
# - Add a separate Device section for the Intel GPU, using the "modesetting"
# driver and with the configured BusID.
# - OR add a separate Device section for the AMD APU, using the "amdgpu"
# driver and with the configures BusID.
# - Reference that Device section from the ServerLayout section as an inactive
# device.
# - Configure the display manager to run specific `xrandr` commands which will
# configure/enable displays connected to the Intel GPU.
# configure/enable displays connected to the Intel iGPU / AMD APU.

services.xserver.useGlamor = mkDefault offloadCfg.enable;

services.xserver.drivers = optional primeEnabled {
name = "modesetting";
services.xserver.drivers = let
in optional primeEnabled {
name = igpuDriver;
display = offloadCfg.enable;
modules = optional (igpuDriver == "amdgpu") [ pkgs.xorg.xf86videoamdgpu ];
deviceSection = ''
BusID "${pCfg.intelBusId}"
BusID "${igpuBusId}"
${optionalString syncCfg.enable ''Option "AccelMethod" "none"''}
'';
} ++ singleton {
@@ -205,6 +245,7 @@ in
''
BusID "${pCfg.nvidiaBusId}"
${optionalString syncCfg.allowExternalGpu "Option \"AllowExternalGpus\""}
${optionalString cfg.powerManagement.finegrained "Option \"NVreg_DynamicPowerManagement=0x02\""}
'';
screenSection =
''
@@ -214,14 +255,14 @@ in
};

services.xserver.serverLayoutSection = optionalString syncCfg.enable ''
Inactive "Device-modesetting[0]"
Inactive "Device-${igpuDriver}[0]"
'' + optionalString offloadCfg.enable ''
Option "AllowNVIDIAGPUScreens"
'';

services.xserver.displayManager.setupCommands = optionalString syncCfg.enable ''
# Added by nvidia configuration module for Optimus/PRIME.
${pkgs.xorg.xrandr}/bin/xrandr --setprovideroutputsource modesetting NVIDIA-0
${pkgs.xorg.xrandr}/bin/xrandr --setprovideroutputsource ${igpuDriver} NVIDIA-0
${pkgs.xorg.xrandr}/bin/xrandr --auto
'';

@@ -292,16 +333,37 @@ in
boot.kernelParams = optional (offloadCfg.enable || cfg.modesetting.enable) "nvidia-drm.modeset=1"
++ optional cfg.powerManagement.enable "nvidia.NVreg_PreserveVideoMemoryAllocations=1";

# Create /dev/nvidia-uvm when the nvidia-uvm module is loaded.
services.udev.extraRules =
''
# Create /dev/nvidia-uvm when the nvidia-uvm module is loaded.
KERNEL=="nvidia", RUN+="${pkgs.runtimeShell} -c 'mknod -m 666 /dev/nvidiactl c $$(grep nvidia-frontend /proc/devices | cut -d \ -f 1) 255'"
KERNEL=="nvidia_modeset", RUN+="${pkgs.runtimeShell} -c 'mknod -m 666 /dev/nvidia-modeset c $$(grep nvidia-frontend /proc/devices | cut -d \ -f 1) 254'"
KERNEL=="card*", SUBSYSTEM=="drm", DRIVERS=="nvidia", RUN+="${pkgs.runtimeShell} -c 'mknod -m 666 /dev/nvidia%n c $$(grep nvidia-frontend /proc/devices | cut -d \ -f 1) %n'"
KERNEL=="nvidia_uvm", RUN+="${pkgs.runtimeShell} -c 'mknod -m 666 /dev/nvidia-uvm c $$(grep nvidia-uvm /proc/devices | cut -d \ -f 1) 0'"
KERNEL=="nvidia_uvm", RUN+="${pkgs.runtimeShell} -c 'mknod -m 666 /dev/nvidia-uvm-tools c $$(grep nvidia-uvm /proc/devices | cut -d \ -f 1) 0'"
'' + optionalString cfg.powerManagement.finegrained ''
# Remove NVIDIA USB xHCI Host Controller devices, if present
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x0c0330", ATTR{remove}="1"
# Remove NVIDIA USB Type-C UCSI devices, if present
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x0c8000", ATTR{remove}="1"
# Remove NVIDIA Audio devices, if present
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x040300", ATTR{remove}="1"
# Enable runtime PM for NVIDIA VGA/3D controller devices on driver bind
ACTION=="bind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", TEST=="power/control", ATTR{power/control}="auto"
ACTION=="bind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030200", TEST=="power/control", ATTR{power/control}="auto"
# Disable runtime PM for NVIDIA VGA/3D controller devices on driver unbind
ACTION=="unbind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", TEST=="power/control", ATTR{power/control}="on"
ACTION=="unbind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030200", TEST=="power/control", ATTR{power/control}="on"
'';

boot.extraModprobeConfig = mkIf cfg.powerManagement.finegrained ''
options nvidia "NVreg_DynamicPowerManagement=0x02"
'';

boot.blacklistedKernelModules = [ "nouveau" "nvidiafb" ];

services.acpid.enable = true;
10 changes: 7 additions & 3 deletions nixos/modules/security/acme.xml
Original file line number Diff line number Diff line change
@@ -115,15 +115,18 @@ services.nginx = {
<programlisting>
<xref linkend="opt-security.acme.acceptTerms" /> = true;
<xref linkend="opt-security.acme.email" /> = "admin+acme@example.com";

# /var/lib/acme/.challenges must be writable by the ACME user
# and readable by the Nginx user. The easiest way to achieve
# this is to add the Nginx user to the ACME group.
<link linkend="opt-users.users._name_.extraGroups">users.users.nginx.extraGroups</link> = [ "acme" ];

services.nginx = {
<link linkend="opt-services.nginx.enable">enable</link> = true;
<link linkend="opt-services.nginx.virtualHosts">virtualHosts</link> = {
"acmechallenge.example.com" = {
# Catchall vhost, will redirect users to HTTPS for all vhosts
<link linkend="opt-services.nginx.virtualHosts._name_.serverAliases">serverAliases</link> = [ "*.example.com" ];
# /var/lib/acme/.challenges must be writable by the ACME user
# and readable by the Nginx user.
# By default, this is the case.
locations."/.well-known/acme-challenge" = {
<link linkend="opt-services.nginx.virtualHosts._name_.locations._name_.root">root</link> = "/var/lib/acme/.challenges";
};
@@ -134,6 +137,7 @@ services.nginx = {
};
}
# Alternative config for Apache
<link linkend="opt-users.users._name_.extraGroups">users.users.wwwrun.extraGroups</link> = [ "acme" ];
services.httpd = {
<link linkend="opt-services.httpd.enable">enable = true;</link>
<link linkend="opt-services.httpd.virtualHosts">virtualHosts</link> = {
1 change: 1 addition & 0 deletions nixos/modules/services/development/hoogle.nix
Original file line number Diff line number Diff line change
@@ -41,6 +41,7 @@ in {
haskellPackages = mkOption {
description = "Which haskell package set to use.";
default = pkgs.haskellPackages;
type = types.package;
defaultText = "pkgs.haskellPackages";
};

1 change: 1 addition & 0 deletions nixos/modules/services/networking/hostapd.nix
Original file line number Diff line number Diff line change
@@ -68,6 +68,7 @@ in
interface = mkOption {
default = "";
example = "wlp2s0";
type = types.str;
description = ''
The interfaces <command>hostapd</command> will use.
'';
20 changes: 18 additions & 2 deletions nixos/modules/services/web-servers/caddy.nix
Original file line number Diff line number Diff line change
@@ -20,8 +20,24 @@ let
--config ${configFile} --adapter ${cfg.adapter} > $out
'';
tlsJSON = pkgs.writeText "tls.json" (builtins.toJSON tlsConfig);
configJSON = pkgs.runCommand "caddy-config.json" { } ''
${pkgs.jq}/bin/jq -s '.[0] * .[1]' ${adaptedConfig} ${tlsJSON} > $out

# merge the TLS config options we expose with the ones originating in the Caddyfile
configJSON =
let tlsConfigMerge = ''
{"apps":
{"tls":
{"automation":
{"policies":
(if .[0].apps.tls.automation.policies == .[1]?.apps.tls.automation.policies
then .[0].apps.tls.automation.policies
else (.[0].apps.tls.automation.policies + .[1]?.apps.tls.automation.policies)
end)
}
}
}
}'';
in pkgs.runCommand "caddy-config.json" { } ''
${pkgs.jq}/bin/jq -s '.[0] * ${tlsConfigMerge}' ${adaptedConfig} ${tlsJSON} > $out
'';
in {
imports = [
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
{ pkgs, configTxt }:
{ pkgs, configTxt, firmware ? pkgs.raspberrypifw }:

pkgs.substituteAll {
src = ./raspberrypi-builder.sh;
isExecutable = true;
inherit (pkgs) bash;
path = [pkgs.coreutils pkgs.gnused pkgs.gnugrep];
firmware = pkgs.raspberrypifw;
inherit configTxt;
inherit firmware configTxt;
}
24 changes: 15 additions & 9 deletions nixos/modules/system/boot/stage-1-init.sh
Original file line number Diff line number Diff line change
@@ -2,6 +2,13 @@

targetRoot=/mnt-root
console=tty1
verbose="@verbose@"

info() {
if [[ -n "$verbose" ]]; then
echo "$@"
fi
}

extraUtils="@extraUtils@"
export LD_LIBRARY_PATH=@extraUtils@/lib
@@ -55,17 +62,17 @@ EOF
echo "Rebooting..."
reboot -f
else
echo "Continuing..."
info "Continuing..."
fi
}

trap 'fail' 0


# Print a greeting.
echo
echo "[1;32m<<< NixOS Stage 1 >>>[0m"
echo
info
info "[1;32m<<< NixOS Stage 1 >>>[0m"
info

# Make several required directories.
mkdir -p /etc/udev
@@ -210,14 +217,14 @@ ln -s @modulesClosure@/lib/modules /lib/modules
ln -s @modulesClosure@/lib/firmware /lib/firmware
echo @extraUtils@/bin/modprobe > /proc/sys/kernel/modprobe
for i in @kernelModules@; do
echo "loading module $(basename $i)..."
info "loading module $(basename $i)..."
modprobe $i
done


# Create device nodes in /dev.
@preDeviceCommands@
echo "running udev..."
info "running udev..."
ln -sfn /proc/self/fd /dev/fd
ln -sfn /proc/self/fd/0 /dev/stdin
ln -sfn /proc/self/fd/1 /dev/stdout
@@ -235,8 +242,7 @@ udevadm settle
# XXX: Use case usb->lvm will still fail, usb->luks->lvm is covered
@preLVMCommands@


echo "starting device mapper and LVM..."
info "starting device mapper and LVM..."
lvm vgchange -ay

if test -n "$debug1devices"; then fail; fi
@@ -379,7 +385,7 @@ mountFS() {
done
fi
echo "mounting $device on $mountPoint..."
info "mounting $device on $mountPoint..."
mkdir -p "/mnt-root$mountPoint"
19 changes: 18 additions & 1 deletion nixos/modules/system/boot/stage-1.nix
Original file line number Diff line number Diff line change
@@ -280,7 +280,7 @@ let

inherit (config.system.build) earlyMountScript;

inherit (config.boot.initrd) checkJournalingFS
inherit (config.boot.initrd) checkJournalingFS verbose
preLVMCommands preDeviceCommands postDeviceCommands postMountCommands preFailCommands kernelModules;

resumeDevices = map (sd: if sd ? device then sd.device else "/dev/disk/by-label/${sd.label}")
@@ -565,6 +565,23 @@ in
description = "Names of supported filesystem types in the initial ramdisk.";
};

boot.initrd.verbose = mkOption {
default = true;
type = types.bool;
description =
''
Verbosity of the initrd. Please note that disabling verbosity removes
only the mandatory messages generated by the NixOS scripts. For a
completely silent boot, you might also want to set the two following
configuration options:
<itemizedlist>
<listitem><para><literal>boot.consoleLogLevel = 0;</literal></para></listitem>
<listitem><para><literal>boot.kernelParams = [ "quiet" "udev.log_priority=3" ];</literal></para></listitem>
</itemizedlist>
'';
};

boot.loader.supportsInitrdSecrets = mkOption
{ internal = true;
default = false;
Loading