summaryrefslogtreecommitdiffstats
path: root/nixos
diff options
context:
space:
mode:
Diffstat (limited to 'nixos')
-rw-r--r--nixos/doc/manual/configuration/config-file.xml7
-rw-r--r--nixos/doc/manual/development/writing-modules.xml5
-rw-r--r--nixos/doc/manual/release-notes/rl-2105.xml73
-rw-r--r--nixos/lib/make-squashfs.nix2
-rw-r--r--nixos/lib/qemu-flags.nix4
-rw-r--r--nixos/modules/hardware/ksm.nix12
-rw-r--r--nixos/modules/module-list.nix4
-rw-r--r--nixos/modules/programs/fish_completion-generator.patch19
-rw-r--r--nixos/modules/programs/steam.nix1
-rw-r--r--nixos/modules/services/cluster/kubernetes/addons/dns.nix7
-rw-r--r--nixos/modules/services/cluster/kubernetes/apiserver.nix42
-rw-r--r--nixos/modules/services/cluster/kubernetes/default.nix33
-rw-r--r--nixos/modules/services/cluster/kubernetes/flannel.nix40
-rw-r--r--nixos/modules/services/cluster/kubernetes/kubelet.nix39
-rw-r--r--nixos/modules/services/cluster/kubernetes/pki.nix1
-rw-r--r--nixos/modules/services/continuous-integration/hydra/default.nix27
-rw-r--r--nixos/modules/services/desktops/pipewire/alsa-monitor.conf.json34
-rw-r--r--nixos/modules/services/desktops/pipewire/bluez-monitor.conf.json30
-rw-r--r--nixos/modules/services/desktops/pipewire/client-rt.conf.json26
-rw-r--r--nixos/modules/services/desktops/pipewire/client.conf.json19
-rw-r--r--nixos/modules/services/desktops/pipewire/jack.conf.json21
-rw-r--r--nixos/modules/services/desktops/pipewire/media-session.conf.json53
-rw-r--r--nixos/modules/services/desktops/pipewire/pipewire-media-session.nix320
-rw-r--r--nixos/modules/services/desktops/pipewire/pipewire-pulse.conf.json28
-rw-r--r--nixos/modules/services/desktops/pipewire/pipewire.conf.json55
-rw-r--r--nixos/modules/services/desktops/pipewire/pipewire.nix211
-rw-r--r--nixos/modules/services/desktops/pipewire/v4l2-monitor.conf.json30
-rw-r--r--nixos/modules/services/hardware/acpid.nix31
-rw-r--r--nixos/modules/services/hardware/spacenavd.nix26
-rw-r--r--nixos/modules/services/hardware/trezord.nix2
-rw-r--r--nixos/modules/services/misc/defaultUnicornConfig.rb69
-rw-r--r--nixos/modules/services/misc/gitlab.nix322
-rw-r--r--nixos/modules/services/misc/gollum.nix2
-rw-r--r--nixos/modules/services/misc/home-assistant.nix12
-rw-r--r--nixos/modules/services/misc/lifecycled.nix164
-rw-r--r--nixos/modules/services/misc/nix-gc.nix53
-rw-r--r--nixos/modules/services/misc/plikd.nix82
-rw-r--r--nixos/modules/services/monitoring/grafana.nix143
-rw-r--r--nixos/modules/services/monitoring/prometheus/default.nix2
-rw-r--r--nixos/modules/services/network-filesystems/ceph.nix2
-rw-r--r--nixos/modules/services/networking/flannel.nix6
-rw-r--r--nixos/modules/services/networking/kresd.nix6
-rw-r--r--nixos/modules/services/web-apps/dokuwiki.nix4
-rw-r--r--nixos/modules/services/web-apps/nextcloud.nix49
-rw-r--r--nixos/modules/services/web-apps/nextcloud.xml2
-rw-r--r--nixos/modules/services/web-servers/apache-httpd/default.nix6
-rw-r--r--nixos/modules/services/web-servers/nginx/default.nix2
-rw-r--r--nixos/modules/services/x11/desktop-managers/xfce.nix7
-rw-r--r--nixos/modules/services/x11/display-managers/default.nix22
-rw-r--r--nixos/modules/system/boot/networkd.nix107
-rw-r--r--nixos/modules/system/boot/plymouth.nix67
-rw-r--r--nixos/modules/system/boot/stage-1-init.sh15
-rw-r--r--nixos/modules/tasks/network-interfaces-systemd.nix12
-rw-r--r--nixos/modules/virtualisation/anbox.nix1
-rw-r--r--nixos/modules/virtualisation/containerd.nix60
-rw-r--r--nixos/modules/virtualisation/libvirtd.nix2
-rw-r--r--nixos/modules/virtualisation/lxd.nix61
-rw-r--r--nixos/modules/virtualisation/nixos-containers.nix12
-rw-r--r--nixos/modules/virtualisation/qemu-vm.nix18
-rw-r--r--nixos/tests/all-tests.nix8
-rw-r--r--nixos/tests/ceph-single-node-bluestore.nix196
-rw-r--r--nixos/tests/containers-bridge.nix8
-rw-r--r--nixos/tests/containers-custom-pkgs.nix6
-rw-r--r--nixos/tests/containers-ephemeral.nix7
-rw-r--r--nixos/tests/containers-extra_veth.nix8
-rw-r--r--nixos/tests/containers-hosts.nix8
-rw-r--r--nixos/tests/containers-imperative.nix8
-rw-r--r--nixos/tests/containers-ip.nix8
-rw-r--r--nixos/tests/containers-macvlans.nix8
-rw-r--r--nixos/tests/containers-names.nix37
-rw-r--r--nixos/tests/containers-physical_interfaces.nix7
-rw-r--r--nixos/tests/containers-portforward.nix8
-rw-r--r--nixos/tests/containers-reloadable.nix7
-rw-r--r--nixos/tests/containers-restart_networking.nix8
-rw-r--r--nixos/tests/containers-tmpfs.nix8
-rw-r--r--nixos/tests/gitlab.nix26
-rw-r--r--nixos/tests/home-assistant.nix2
-rw-r--r--nixos/tests/ksm.nix22
-rw-r--r--nixos/tests/kubernetes/dns.nix15
-rw-r--r--nixos/tests/kubernetes/rbac.nix6
-rw-r--r--nixos/tests/musescore.nix86
-rw-r--r--nixos/tests/php/default.nix21
-rw-r--r--nixos/tests/php/fpm.nix14
-rw-r--r--nixos/tests/php/httpd.nix7
-rw-r--r--nixos/tests/php/pcre.nix5
-rw-r--r--nixos/tests/plikd.nix27
-rw-r--r--nixos/tests/systemd-networkd-ipv6-prefix-delegation.nix20
-rw-r--r--nixos/tests/unbound.nix16
88 files changed, 2190 insertions, 929 deletions
diff --git a/nixos/doc/manual/configuration/config-file.xml b/nixos/doc/manual/configuration/config-file.xml
index 7ccb5b3664ea..19cfb57920df 100644
--- a/nixos/doc/manual/configuration/config-file.xml
+++ b/nixos/doc/manual/configuration/config-file.xml
@@ -16,9 +16,10 @@
The first line (<literal>{ config, pkgs, ... }:</literal>) denotes that this
is actually a function that takes at least the two arguments
<varname>config</varname> and <varname>pkgs</varname>. (These are explained
- later.) The function returns a <emphasis>set</emphasis> of option definitions
- (<literal>{ <replaceable>...</replaceable> }</literal>). These definitions
- have the form <literal><replaceable>name</replaceable> =
+ later, in chapter <xref linkend="sec-writing-modules" />) The function returns
+ a <emphasis>set</emphasis> of option definitions (<literal>{
+ <replaceable>...</replaceable> }</literal>). These definitions have the form
+ <literal><replaceable>name</replaceable> =
<replaceable>value</replaceable></literal>, where
<replaceable>name</replaceable> is the name of an option and
<replaceable>value</replaceable> is its value. For example,
diff --git a/nixos/doc/manual/development/writing-modules.xml b/nixos/doc/manual/development/writing-modules.xml
index d244356dbed1..fad4637f51f0 100644
--- a/nixos/doc/manual/development/writing-modules.xml
+++ b/nixos/doc/manual/development/writing-modules.xml
@@ -74,7 +74,10 @@ linkend="sec-configuration-syntax"/>, we saw the following structure
<callout arearefs='module-syntax-1'>
<para>
This line makes the current Nix expression a function. The variable
- <varname>pkgs</varname> contains Nixpkgs, while <varname>config</varname>
+ <varname>pkgs</varname> contains Nixpkgs (by default, it takes the
+ <varname>nixpkgs</varname> entry of <envar>NIX_PATH</envar>, see the <link
+ xlink:href="https://nixos.org/manual/nix/stable/#sec-common-env">Nix
+ manual</link> for further details), while <varname>config</varname>
contains the full system configuration. This line can be omitted if there
is no reference to <varname>pkgs</varname> and <varname>config</varname>
inside the module.
diff --git a/nixos/doc/manual/release-notes/rl-2105.xml b/nixos/doc/manual/release-notes/rl-2105.xml
index 302a6d3f3749..2f87869fbe34 100644
--- a/nixos/doc/manual/release-notes/rl-2105.xml
+++ b/nixos/doc/manual/release-notes/rl-2105.xml
@@ -523,6 +523,21 @@ self: super:
as an hardware RNG, as it will automatically run the krngd task to periodically collect random
data from the device and mix it into the kernel's RNG.
</para>
+ <para>
+ The default SMTP port for GitLab has been changed to
+ <literal>25</literal> from its previous default of
+ <literal>465</literal>. If you depended on this default, you
+ should now set the <xref linkend="opt-services.gitlab.smtp.port" />
+ option.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ The default version of ImageMagick has been updated from 6 to 7.
+ You can use <package>imagemagick6</package>,
+ <package>imagemagick6_light</package>, and
+ <package>imagemagick6Big</package> if you need the older version.
+ </para>
</listitem>
</itemizedlist>
</section>
@@ -558,14 +573,16 @@ self: super:
</listitem>
<listitem>
<para>
- The default-version of <literal>nextcloud</literal> is <package>nextcloud20</package>.
+ The default-version of <literal>nextcloud</literal> is <package>nextcloud21</package>.
Please note that it's <emphasis>not</emphasis> possible to upgrade <literal>nextcloud</literal>
across multiple major versions! This means that it's e.g. not possible to upgrade
- from <package>nextcloud18</package> to <package>nextcloud20</package> in a single deploy.
+ from <package>nextcloud18</package> to <package>nextcloud20</package> in a single deploy and
+ most <literal>20.09</literal> users will have to upgrade to <package>nextcloud20</package>
+ first.
</para>
<para>
The package can be manually upgraded by setting <xref linkend="opt-services.nextcloud.package" />
- to <package>nextcloud20</package>.
+ to <package>nextcloud21</package>.
</para>
</listitem>
<listitem>
@@ -730,6 +747,56 @@ self: super:
terminology has been deprecated and should be replaced with Far/Near in the configuration file.
</para>
</listitem>
+ <listitem>
+ <para>
+ The nix-gc service now accepts randomizedDelaySec (default: 0) and persistent (default: true) parameters.
+ By default nix-gc will now run immediately if it would have been triggered at least
+ once during the time when the timer was inactive.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ The <literal>rustPlatform.buildRustPackage</literal> function is split into several hooks:
+ <package>cargoSetupHook</package> to set up vendoring for Cargo-based projects,
+ <package>cargoBuildHook</package> to build a project using Cargo,
+ <package>cargoInstallHook</package> to install a project using Cargo, and
+ <package>cargoCheckHook</package> to run tests in Cargo-based projects. With this change,
+ mixed-language projects can use the relevant hooks within builders other than
+ <literal>buildRustPackage</literal>. However, these changes also required several API changes to
+ <literal>buildRustPackage</literal> itself:
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ The <literal>target</literal> argument was removed. Instead, <literal>buildRustPackage</literal>
+ will always use the same target as the C/C++ compiler that is used.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ The <literal>cargoParallelTestThreads</literal> argument was removed. Parallel tests are
+ now disabled through <literal>dontUseCargoParallelTests</literal>.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ The <literal>rustPlatform.maturinBuildHook</literal> hook was added. This hook can be used
+ with <literal>buildPythonPackage</literal> to build Python packages that are written in Rust
+ and use Maturin as their build tool.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Kubernetes has <link xlink:href="https://kubernetes.io/blog/2020/12/02/dont-panic-kubernetes-and-docker/">deprecated docker</link> as container runtime.
+ As a consequence, the Kubernetes module now has support for configuration of custom remote container runtimes and enables containerd by default.
+ Note that containerd is more strict regarding container image OCI-compliance.
+ As an example, images with CMD or ENTRYPOINT defined as strings (not lists) will fail on containerd, while working fine on docker.
+ Please test your setup and container images with containerd prior to upgrading.
+ </para>
+ </listitem>
</itemizedlist>
</section>
</section>
diff --git a/nixos/lib/make-squashfs.nix b/nixos/lib/make-squashfs.nix
index ee76c9c5bf24..8690c42e7ac9 100644
--- a/nixos/lib/make-squashfs.nix
+++ b/nixos/lib/make-squashfs.nix
@@ -23,6 +23,6 @@ stdenv.mkDerivation {
# Generate the squashfs image.
mksquashfs nix-path-registration $(cat $closureInfo/store-paths) $out \
- -keep-as-directory -all-root -b 1048576 -comp ${comp}
+ -no-hardlinks -keep-as-directory -all-root -b 1048576 -comp ${comp}
'';
}
diff --git a/nixos/lib/qemu-flags.nix b/nixos/lib/qemu-flags.nix
index 0f0662458935..f786745ba324 100644
--- a/nixos/lib/qemu-flags.nix
+++ b/nixos/lib/qemu-flags.nix
@@ -18,13 +18,15 @@ rec {
];
qemuSerialDevice = if pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64 then "ttyS0"
- else if pkgs.stdenv.isAarch32 || pkgs.stdenv.isAarch64 then "ttyAMA0"
+ else if (with pkgs.stdenv.hostPlatform; isAarch32 || isAarch64 || isPower) then "ttyAMA0"
else throw "Unknown QEMU serial device for system '${pkgs.stdenv.hostPlatform.system}'";
qemuBinary = qemuPkg: {
x86_64-linux = "${qemuPkg}/bin/qemu-kvm -cpu max";
armv7l-linux = "${qemuPkg}/bin/qemu-system-arm -enable-kvm -machine virt -cpu host";
aarch64-linux = "${qemuPkg}/bin/qemu-system-aarch64 -enable-kvm -machine virt,gic-version=host -cpu host";
+ powerpc64le-linux = "${qemuPkg}/bin/qemu-system-ppc64 -machine powernv";
+ powerpc64-linux = "${qemuPkg}/bin/qemu-system-ppc64 -machine powernv";
x86_64-darwin = "${qemuPkg}/bin/qemu-kvm -cpu max";
}.${pkgs.stdenv.hostPlatform.system} or "${qemuPkg}/bin/qemu-kvm";
}
diff --git a/nixos/modules/hardware/ksm.nix b/nixos/modules/hardware/ksm.nix
index 0938dbdc1101..829c3532c459 100644
--- a/