about summary refs log tree commit diff
path: root/nixos/modules/system
AgeCommit message (Collapse)AuthorFilesLines
2023-01-05modules: add mkPackageOptionMDpennae1-1/+1
another transitional option factory, like mkAliasOptionModuleMD.
2022-12-30Merge pull request #208033 from ncfavier/systemd-boot-skip-regressionNaïm Favier2-6/+15
2022-12-29nixos/systemd-boot: skip EFI update to 252Naïm Favier2-6/+15
That version has a regression that leaves some machines unbootable. While we wait for the fix (252.2) to land in master, this is a workaround that should save people some pain.
2022-12-28Merge pull request #132694 from arcnmx/binfmt-interp-sandboxAnderson Torres1-8/+8
nixos/binfmt: add interpreter path to sandbox
2022-12-28Merge pull request #204254 from raphaelr/initrd-openvpnJörg Thalheim1-4/+1
nixos/tests/initrd-network-openvpn: fix
2022-12-24systemd-stage-1: Improve test-instrumentation outputWill Fancher1-0/+11
2022-12-23Merge pull request #207163 from NixOS/rfc0125-improvementsRyan Lahfa2-3/+6
nixos/activation/bootspec: make initrd optional, serialize system, precise extensions' type
2022-12-22nixos/activation/bootspec: fix document output pathCole Helbling2-3/+3
The RFC currently stipulates the document will be available at `$out/boot.json`.
2022-12-21nixos/activation/bootspec: make initrd optional, serialize system, precise ↵Raito Bezarius2-3/+6
extensions' type
2022-12-20nixos/stage-1: Examine binaries for libraries in a consistent orderThomas Watson1-2/+3
To reduce size, stage 1 (the initrd) is populated by copying specific binaries in, then copying the libraries specifically needed by those binaries. `patchelf` is then used to make the binaries search in the directory where these libraries are copied to instead of their original store paths. Some filesystems (e.g. ZFS) do not guarantee that copying the same files in the same order into a given directory will result in `find` returning them in any particular order (though the order appears consistent so long as the directory is not modified). Therefore, when the binaries are scanned for libraries to copy in, they might be scanned in a different order each time the derivation is built. If two binaries need two different libraries with the same name, then a different instance of the library might be copied in first, changing the derivation contents and breaking reproducibility. This turns out to be the case with `libudev.so.1` from both `systemd` (needed by e.g. `mdadm`) and `systemdMinimal` (needed by e.g. `dmsetup`). This issue is fixed by sorting the list of binaries to be scanned instead of relying on filesystem order so that the same instance always gets seen and copied first. Both before this change (at least on ext4) and after this change (without any options that affect stage 1), this is the `libudev.so.1` from `systemdMinimal` by way of `dmsetup`. Whether this is appropriate and how much the two different systemd configurations and udev libraries need to be involved is a topic left for future work.
2022-12-17Merge pull request #172237 from DeterminateSystems/bootspec-rfcJörg Thalheim6-0/+251
Support external bootloader backends (RFC-0125)
2022-12-15lib.replaceChars: warn about being a deprecated aliasArtturin1-1/+1
replaceStrings has been in nix since 2015(nix 1.10) so it is safe to remove the fallback https://github.com/nixos/nix/commit/d6d5885c1567454754a0d260521bafa0bd5e7fdb
2022-12-09Merge pull request #204780 from Ma27/kernel-maintenance-docsMaximilian Bosch1-0/+5
nixos/manual: document kernel backporting policy and implications of it
2022-12-09Merge pull request #203956 from Artturin/addforbiddendependenciesregexArtturi2-1/+58
nixos/top-level.nix: add forbiddenDependenciesRegex option
2022-12-08nixos/activation/bootspec: fixup improper $out substitutionCole Helbling1-2/+2
2022-12-08nixos/activation/bootspec: refactor the generator scriptCole Helbling1-19/+32
We separate the different steps (injecting the toplevel and injecting the specialisations) so that it's easy to document what each snippet is actually doing.
2022-12-08nixos/activation/bootspec: drop problematic comment, only generate bootspec ↵Cole Helbling2-2/+2
when bootspec is enabled
2022-12-08nixos/activation/bootspec: DocBook -> Markdown, add description for ↵Cole Helbling1-2/+13
extensions field
2022-12-08nixos/boot/external: fixup typo in generated docs, regenerate docsCole Helbling2-3/+3
2022-12-08nixos/boot/external: DocBook -> MarkdownCole Helbling1-2/+2
2022-12-08nixos/activation/bootspec: add some comments to explain the delicate ↵Raito Bezarius1-1/+4
manipulations
2022-12-08nixos/activation/bootspec: add bootspec chapter in NixOS manualRaito Bezarius1-1/+1
2022-12-08nixos/activation/bootspec: remove SB extension example in Cue schemaRaito Bezarius1-6/+0
2022-12-08nixos/boot/external: add @raitobezarius as maintainer and allow initrd secretsRaito Bezarius1-2/+2
2022-12-08nixos/activation/bootspec: module-ifyRaito Bezarius3-23/+80
This does the following: * turns bootspec into a NixOS module * validates bootspecs with Cue * exposes internal knobs
2022-12-08nixos/activation/bootspec: fix slurping specialisation bootspecsRaito Bezarius1-1/+1
2022-12-08nixos/activation: don't generate bootspec for containersK9001-1/+3
2022-12-08nixos/activation/bootspec: embed the document into a bootspec subdirGraham Christensen1-1/+3
2022-12-08nixos/activation/bootspec: embed the entire contents of specialisation's ↵Graham Christensen1-17/+21
bootspecs into the parent See: https://github.com/NixOS/rfcs/pull/125#discussion_r871222614
2022-12-08nixos/boot/external: initCole Helbling3-0/+105
This allows supporting external bootloader backends.
2022-12-08nixos/activation/bootspec: init bootspec support (RFC-0125)Cole Helbling2-0/+60
2022-12-06nixos/kernel: link manual (with backport policies) from boot.kernelPackagesMaximilian Bosch1-0/+5
Yes I know it's dirty to link the rendered HTML, but linking `#sec-kernel-config` breaks the manual build for me with the following error: element link: validity error : IDREF attribute linkend references an unknown ID "sec-kernel-config" This is something that should probably be fixed, but for the current change I'd argue that this is good enough (in fact even the `nix.settings`-option uses that hack).
2022-12-05Merge pull request #202956 from arcnmx/systemd-networkd-wait-onlineNaïm Favier1-0/+15
2022-12-04Merge pull request #167871 from asymmetric/doc-networkdNaïm Favier1-0/+2
2022-12-04nixos/networkd: doc activation of systemd.networkdLorenzo Manacorda1-0/+2
2022-12-03initrd-ssh: add ignoreEmptyHostKeys optionphaer1-1/+10
2022-12-03nixos/tests/initrd-network-openvpn: fixRaphael Robatsch1-4/+1
- The default cipher is BF-CBC, which openvpn refuses to use by default. Switched to AES-256-CBC. - openvpn does not require an external "ip" executable anymore, and does not support the "ipconfig" option by default, so remove that option.
2022-12-02nixos/networkd: add wait-online.enable optionarcnmx1-0/+15
When no interfaces are managed by systemd-networkd, it will unconditionally fail. This option allows it to be disabled in those situations where it prevents system switches from succeeding.
2022-12-02nixos/top-level.nix: add forbiddenDependenciesRegex optionArtturin2-1/+58
useful for making sure that there's no dev outputs in the system
2022-12-01nixos/binfmt: mkDefault auto-detected interpreterarcnmx1-5/+5
2022-12-01nixos/binfmt: add interpreter path to sandboxarcnmx1-4/+4
2022-11-30nixos: nix.readOnlyStore -> boot.readOnlyNixStoreAndrew Marshall2-3/+13
The placement of this option under `nix` was misleading, as it is not configuration of the Nix daemon, but rather configuration of the NixOS boot process and how it mounts the Nix store. As such, make it an option of `boot` to clarify what it actually affects, and imply that it will only take effect on a reboot. Since it no longer has the context of nix, adjust the name to include it.
2022-11-29nixos: disable systemd-oomd when enableUnifiedCgroupHierarchy is falseBjørn Forsman1-0/+4
Or else systemd-oomd gets marked as failed due to "Userspace Out-Of-Memory (OOM) Killer was skipped because of a failed condition check (ConditionControlGroupController=v2)." and cause the system to enter degraded state. Ref https://github.com/NixOS/nixpkgs/issues/195085
2022-11-24nixos/modprobe: replace boot.isContainer with boot.modprobeConfig.enableSandro Jäckel1-1/+4
2022-11-19Merge pull request #197254 from Atemu/fstab-escape-optionsMartin Weinelt1-1/+9
2022-11-15nixos: Add util-linux to systemd PATH to fix fsck with systemd 251.6Will Fancher1-1/+2
This is an alternative to the reverted d9b1bde390eb133a3da66c8abd902ea2b754938c, which broke systemd stage 1
2022-11-14boot.loader.systemd-boot: add extraInstallCommands option (#200715)Markus Partheymueller1-1/+23
2022-11-12Merge pull request #197917 from SuperSandro2000/kernel-enableSandro2-2/+5
2022-11-10treewide: use `types.port` in nixos modulesDaniel Nagy1-1/+1
2022-11-09nixos/kernel: replace boot.isContainer with boot.kernel.enableSandro Jäckel2-2/+5