Commit graph

694 commits

Author SHA1 Message Date
K900 1bf0ffb22e nixos-rebuild: inline get-version-suffix script
It has no other consumers anyway. Also saves some work.
2024-09-19 20:05:58 +03:00
K900 b3b9bdd901 Revert "nix: nix_2_18 -> nix_2_24"
This reverts commit 2e702d07bb.

Segfaults during evaluation in yet-to-be-determined circumstances.
Investigation is ongoing, reverting for now to be safe.

Upstream issue: https://github.com/NixOS/nix/issues/11547
2024-09-19 17:17:16 +03:00
K900 fb38235766 Revert "nixos/nix-fallback-paths: 2.24.2 -> 2.24.6"
This reverts commit ac849e5658.

Nix 2.24 segfaults semi-randomly during evaluation on specific configs (?).
This commit prepares for another revert, putting the default back to 2.18.

Upstream issue: https://github.com/NixOS/nix/issues/11547
2024-09-19 17:17:10 +03:00
Robert Hensing ac849e5658 nixos/nix-fallback-paths: 2.24.2 -> 2.24.6 2024-09-13 13:37:46 +02:00
Robert Hensing 2e702d07bb nix: nix_2_18 -> nix_2_24 2024-09-10 23:20:48 +02:00
K900 fa39e3d642 nixos-install: fail if we can't set up bootloader 2024-09-08 11:05:59 +03:00
tomberek e28b6650c3
Merge pull request #320462 from amozeo/pkgs/nixos-rebuild/by-attr
nixos-rebuild, nixos-install: add support for --file and --attr flags
2024-07-13 20:46:31 -04:00
Wroclaw eeb1dffd02 nixos/nixos-install: add support for --file and --attr flags 2024-07-11 21:34:01 +02:00
Jean-François Roche c08c79536c nixVersions.nix_2_18: 2.18.4 -> 2.18.5
Fix sandbox on macos.

More details here: https://github.com/NixOS/nix/compare/2.18.4...2.18.5
2024-07-09 21:56:09 +02:00
Valentin Gagarin 144ac0d7fc nixVersions: bump patch releases 2024-06-27 13:43:44 +02:00
Alois Wohlschlager a754cd2eff
nixVersions.nix_2_18: 2.18.2 -> 2.18.3
It's a small round of various fixes for the default version of Nix.
Diff: https://github.com/NixOS/nix/compare/2.18.2...2.18.3
2024-06-22 10:56:11 +02:00
Sandro Jäckel cb8b6a5d00
treewide: reanme renamed libinput options 2024-04-17 23:34:07 +02:00
stuebinm 6afb255d97 nixos: remove all uses of lib.mdDoc
these changes were generated with nixq 0.0.2, by running

  nixq ">> lib.mdDoc[remove] Argument[keep]" --batchmode nixos/**.nix
  nixq ">> mdDoc[remove] Argument[keep]" --batchmode nixos/**.nix
  nixq ">> Inherit >> mdDoc[remove]" --batchmode nixos/**.nix

two mentions of the mdDoc function remain in nixos/, both of which
are inside of comments.

Since lib.mdDoc is already defined as just id, this commit is a no-op as
far as Nix (and the built manual) is concerned.
2024-04-13 10:07:35 -07:00
Bjørn Forsman e17e60b273 nixos-generate-config: preserve vfat filesystem mount permissions
The default is to mount these world-readable, but that's a security risk
for the EFI System Partition.

Ref https://github.com/NixOS/nixpkgs/issues/279362.
2024-04-10 19:34:07 +02:00
Norbert Melzer 4278bc6297
Merge pull request #271668 from eclairevoyant/default-config
nixos/installer-tools: mention PulseAudio+PipeWire instead of ALSA+PulseAudio in generated config
2024-04-04 00:40:25 +02:00
Luke Granger-Brown 3b8cd8ad70 installer/nixos-generate-config: correctly detect bcache
PR #256638 inadvertently introduced a bug in `nixos-generate-config` whereby it
would never put `bcache` into the `availableKernelModules` for the initrd.

This is because the `qr` operator in Perl returns a regex object, rather than
matching it; the regex object evaluates to true, making the filter expression
effectively `grep(!true, @bcacheDevices)`, which will always return an empty
list.
2024-03-26 23:32:09 +01:00
Ryan Lahfa 56df644cb4 Revert "nixVersions.stable: 2.18.1 -> 2.19.2"
This version does not pass our NixOS tests, e.g. `nixosTests.misc` and
potentially other fundamental tests such as lib-tests.
2024-01-11 19:15:07 +01:00
éclairevoyant c27bc49c43
nixVersions.stable: 2.18.1 -> 2.19.2 2024-01-10 14:04:30 -05:00
K900 0403c41f61 nixos/installer: add a link to how to actually upgrade your system to the stateVersion note 2023-12-29 17:01:04 +03:00
éclairevoyant 70db5d0937
nixos/installer-tools: mention PulseAudio+PipeWire instead of ALSA+PulseAudio in generated config 2023-12-02 08:41:02 -05:00
Robert Hensing 64b587e3e2 nixos/system.disableInstallerTools: Do define options without effect
These won't cause anything to appear in toplevel.
2023-11-19 21:21:16 +01:00
github-actions[bot] 9776723357
Merge master into staging-next 2023-11-11 18:00:58 +00:00
Anthony Roussel e30f48be94
treewide: fix redirected and broken URLs
Using the script in maintainers/scripts/update-redirected-urls.sh
2023-11-11 10:49:01 +01:00
Alyssa Ross afabc4a15d
Merge remote-tracking branch 'origin/master' into HEAD
Conflicts:
	pkgs/development/libraries/SDL2/default.nix
2023-11-10 15:18:19 +01:00
github-actions[bot] e112f9b8bb
Merge master into staging-next 2023-11-09 18:00:56 +00:00
K900 1d6b03af9a nixos/installer: remove nixos-option compat shim
It's been two years.
2023-11-09 20:57:57 +03:00
Robert Hensing 6381cc0525 nix: 2.17.1 -> 2.18.1 2023-11-08 23:19:33 +01:00
github-actions[bot] 64070c2fda
Merge master into staging-next 2023-10-29 18:01:23 +00:00
K900 fb1ccc91f7 nixos-generate-config: rewrite stateVersion comment again
Hopefully this version is clearer. Also tried to make it less technical.
2023-10-29 15:02:50 +03:00
github-actions[bot] df9eab6771
Merge staging-next into staging 2023-10-23 00:03:00 +00:00
Atemu fb602e5608 installer/nixos-generate-config: don't set powersave cpuFreqGovernor
This script would always "detect" the "powersave" governor as it is available on
practically all CPUs while the "ondemand" governor is only available on some old
CPUs.

IME the "powersave" governor barely provides any power savings but introduces
massive performance deficits, including noticable stuttering. This is not the
default experience we should offer users, even for those who use laptops.

Use the kernel default (currently "performance", CPU makers may change it in
future) instead.
2023-10-21 18:29:25 +02:00
github-actions[bot] 4da0322a88
Merge staging-next into staging 2023-10-12 12:02:01 +00:00
Victor Engmark 3a6c79cff6 nixos/x11: refactor XKB options into a single attrset
[Motivation](https://github.com/NixOS/nixpkgs/issues/257817#issuecomment-1741705042):

- Having all the XKB options in the same attribute set clarifies their
  relation better than using a common option name prefix ("xkb").
- `services.xserver.layout` is an XKB option, but this is not obvious
  from its name. Putting it with the other XKB options clarifies this.

Co-authored-by: Michele Guerini Rocco <rnhmjoj@users.noreply.github.com>
2023-10-11 09:46:37 +03:00
Daniel Hill d6bf8b47ec bcachefs: 2023-06-28 -> 2023-09-29
Includes prep work for mainline bcachefs release.
2023-10-03 22:00:26 +01:00
Atemu 9084f59d36 nixos/installer: mention search.nixos.org
It's immensely helpful and more user-friendly than the humongous
configuration.nix man page.
2023-09-18 14:38:26 +02:00
Doron Behar 62730f2c31
Merge pull request #248701 from doronbehar/nixos/manpages
nixos/install-tools: Add manpages to packages instead of seperating them
2023-08-16 15:49:49 +00:00
Doron Behar 924a07dc22 nixos/doc: Improve documentation of documentation
- Move contents of README.md from
  nixos/modules/installer/tools/manpages/ to
  nixos/doc/manual/contributing-to-this-manual.chapter.md.
- Don't mention DocBook as its obsolete and too specific.
- Rename derivation attribute name of configuration.nix(5) manual page,
  both on the `contributing-to-this-manual.chapter.md`, and in other
  places.
2023-08-12 22:28:04 +03:00
Doron Behar 32f75a0f2a nixos/install-tools: Add manpages to packages instead of seperating them
Since each such `nixos-*` tool has it's own derivation, exposed in pkgs,
There is no point in separating the manuals from the packages. If
someone wishes to have the tools without the manuals, they can use
meta.outputsToInstall to disable the installation of the manpages of
these packages. This Fixes #244450.
2023-08-12 18:01:06 +03:00
zowoq b2c3198256 nixos/nix-fallback-paths: 2.15.1 -> 2.17.0
https://releases.nixos.org/nix/nix-2.17.0/fallback-paths.nix
2023-08-06 16:22:39 +10:00
Pol Dellaiera 17b46c61f3
Merge pull request #246746 from mode89/fix/nixos-install-with-non-empty-mnt
nixos-install: fix removal of non-empty `/mnt`
2023-08-02 18:41:46 +02:00
Andrey Krainyak d61cc625fa
nixos-install: fix removal of non-empty /mnt
After building the target system, `nixos-install` tries to remove `/mnt`
on the target filesystem. And the script may fail without any explanation,
if `/mnt` isn't empty.

This commit makes the installation process carry on even if there are
files under `/mnt`.

See https://github.com/NixOS/nixpkgs/issues/244643.
2023-08-02 16:37:22 +08:00
Bjørn Forsman a7da3eacaf nixos-generate-config: add 'lib' arg to configuration.nix
Although 'lib' isn't needed by the default configuration, new NixOS uses
can get confused when being recommended configuration.nix snippets like

  systemd.services.NetworkManager-wait-online.enable = lib.mkForce false;

and have `sudo nixos-rebuild switch` fail with

  error: undefined variable 'lib'
2023-07-21 13:53:33 +02:00
Will Fancher 11fec97761
Merge pull request #183314 from DeterminateSystems/optional-swraid
Make swraid optional
2023-07-13 16:24:34 -04:00
Sandro f57af4cd1e
Merge pull request #237442 from SuperSandro2000/nixos-option
nixos-option: update to nix 2.15
2023-07-12 00:14:53 +02:00
Sandro Jäckel 49d0af0f1e
nixos/tools: remove nixos-option condition 2023-07-11 17:13:21 +02:00
Linus Heckemann c0f963a338 boot.initrd.services.swraid -> boot.swraid
Since the option affects both stage-1 and stage-2, it does not make
sense to keep it within the boot.initrd namespace.
2023-07-10 20:20:08 +02:00
Linus Heckemann 0b277bcc2b nixos/swraid: make entire module optional
swraid support will now only be enabled by default if stateVersion is
older than 23.11. nixos-generate-config will now generate explicit
config for enabling support if needed.
2023-07-10 16:39:35 +02:00
Robert Hensing 1350e522fa nixos-generate-config: Fix generated hostPlatform.system
While the intent of the code was correct, the system string can not be used
in the substituteAll function.

See https://github.com/NixOS/nixpkgs/issues/237216
2023-06-11 19:28:51 +02:00
Silvan Mosberger d4fe69faea nix-fallback-paths.nix: Update to 2.15.1 2023-06-01 22:55:14 +02:00
Will Fancher fe43923a70
Merge pull request #229767 from mberndt123/mberndt123/stratis-rootfs
nixos/stratis: initrd support for stratis root volumes
2023-05-25 14:06:31 -04:00
figsoda 701bcdbead nixos: fix typos 2023-05-19 22:31:04 -04:00
Matthias Berndt cb410a8c59 Merge remote-tracking branch 'upstream/master' into mberndt123/stratis-rootfs 2023-05-17 21:47:19 -04:00
Matthias Berndt 3aa262b644 make nixos-generate-config generate stratis pool UUIDs 2023-05-15 20:48:10 -04:00
ajs124 30bea8d82d nixos/*: remove boot.grub.version 2023-05-10 21:51:26 +02:00
Rick van Schijndel 5e2d479540
Merge pull request #229874 from mcnesium/fix_ambig_char
fix ambiguous unicode characters
2023-05-06 16:54:54 +02:00
Ryan Lahfa 32264d614a
Merge pull request #227696 from aktaboot/fix-install-tools-deps
nixos/installer: fix util-linux dependencies in install script
2023-05-05 21:58:23 +02:00
aktaboot b3ef821489 nixos/installer: fix util-linux dependencies in install scripts 2023-05-05 18:11:57 +02:00
mcnesium 36af786eda
fix ambiguous unicode characters 2023-05-04 12:54:56 +02:00
name_snrl 1aa8534f3e nixos/nixos-generate-config: use hostPlatform.system instead of calling nix 2023-04-26 23:51:48 +05:00
R-VdP 3078cdb780 nixos/nixos-generate-config: include new device ID for virtio_scsi
Device IDs found here:
https://devicehunt.com/view/type/pci/vendor/1AF4/device/1048
2023-04-18 18:05:53 +00:00
Sandro 603320b64f
Merge pull request #204534 from SuperSandro2000/boot-tmp 2023-04-12 21:37:47 +02:00
Ryan Lahfa 54de698c6f
Merge pull request #221576 from paumr/nixos-generate-config_fix_syntax
nixos-generate-config: fix invalid sample config
2023-03-22 20:10:43 +01:00
K900 4787ebf7ae nixos/hidpi: remove
The single option tries to do too much work, which just ends up confusing people.

So:
- don't force the console font, the kernel can figure this out as of #210205
- don't force the systemd-boot mode, it's an awkward mode that's not supported
  on most things and will break flicker-free boot
- add a separate option for the xorg cursor scaling trick and move it under the xorg namespace
- add a general `fonts.optimizeForVeryHighDPI` option that explicitly says what it does
- alias the old option to that
- don't set any of those automatically in nixos-generate-config
2023-03-21 13:29:57 +01:00
Sandro Jäckel a5d95ac5fc
nixos/tmp: move /tmp options under boot.tmp 2023-03-19 18:49:37 +01:00
paumr a6b712f8a4 nixos-generate-config: fix invalid sample config
This issue was reported in #221510
2023-03-17 01:24:28 +01:00
Luflosi 1d65c7279c
nixos-generate-config: update microcode only on bare metal
Guest operating systems inside VMs or containers can't update the host CPU's microcode for obvious security reasons, so setting the `hardware.cpu.*.updateMicrocode` options is pointless.
2023-03-13 20:15:13 +01:00
Valentin Gagarin 4e0525a8cd configuration.nix: suggest a command line program
adding two graphical programs makes a strong assmuption that users will
use a graphical environment.

add a command line program as an alternative suggestion that is easy to
comment in as a first-steps measure.
2023-02-28 17:16:03 +01:00
Eelco Dolstra 056b679c35 nix-fallback-paths.nix: Update to 2.13.3 2023-02-27 10:40:18 -08:00
Jason Yundt b1bb9bb6c8 treewide: fix backwards smart apostrophes
According to the Unicode Standard, you should use U+2019 RIGHT SINGLE
QUOTATION MARK for apostrophes [1]. Before this change, some of the text
in this repo would use U+2018 LEFT SINGLE QUOTATION MARKs instead.

[1]: https://www.unicode.org/versions/Unicode15.0.0/ch06.pdf#G12411
2023-02-06 07:24:42 -05:00
zowoq b93752ceb0 nixos/nix-fallback-paths: 2.12.0 -> 2.13.2 2023-01-26 22:54:25 +10:00
zowoq e75ac30903 Revert "nixos/nix-fallback-paths: 2.12.0 -> 2.13.1"
This reverts commit 37a44ff3a0.
2023-01-22 09:48:21 +10:00
zowoq 37a44ff3a0 nixos/nix-fallback-paths: 2.12.0 -> 2.13.1 2023-01-21 06:44:18 +10:00
rnhmjoj 2bc5625877
nixos-install: remove root requirement for bind mount
This moves the creation of the bind mount inside the `nixos-enter`
invocation. The command are executed in an unshared mount namespace, so
they can be run as an unprivileged user.
2023-01-19 20:50:17 +01:00
Naïm Favier cd4f1a1df5
nixos-install: only mount if root 2023-01-17 11:39:34 +01:00
Michele Guerini Rocco 594b94b4c3
Merge pull request #210812 from rnhmjoj/pr-initrd-secrets
boot.initrd.secrets fixes
2023-01-17 00:48:58 +01:00
Jeff Huffman 96ec8c7623 nixos/documentation.man.mandb: Add skipPackages option, and include nixos-version
prevents unnecessary recreation of man caches

Fixes #209835
2023-01-16 22:24:02 +01:00
rnhmjoj 9fc47e6db3
nixos-install: fix missing initrd.secrets paths
When installing NixOS in the target filesystem /mnt, paths relative to
configuration.nix in `initrd.secrets` are turned by Nix into absolute
paths that reference /mnt. While building the system derivation works,
installing the bootloader fails because the latter process takes place
inside the chroot environment where /mnt does not exist.

Ideally, we would also build the system within chroot, but this greatly
complicates the matter as it requires  manually copying over Nix, its
runtime dependencies and all channels. Possibly, this would also break
several assumptions users have about how nixos-install works.

A simpler and safer (but less neat) solution is to temporarily bind
mount all mount points in /mnt under /mnt/mnt to keep the paths
functional while the bootloader is being installed.
This is essentially the workaround described in issue #73404.
2023-01-16 02:31:01 +01:00
Naïm Favier 7e1cf49870
Merge pull request #161237 from miallo/nixos-version-configuration-revision 2023-01-12 12:31:54 +01:00
Michael Lohmann 3b5456608a nixos-version: print error for missing revision to stderr 2023-01-03 20:40:35 +01:00
Michael Lohmann c09f6c3db0 nixos-version: output configurationRevision
`nixos-version --configuration-revision` will show the
configurationRevision.
2023-01-03 20:40:35 +01:00
Naïm Favier a5b7b6e47a
nixos/nixos-enter: hide systemd-tmpfiles errors
Due to missing `/etc/machine-id` in the new root, systemd-tmpfiles
outputs a bunch of scary warnings like "Failed to replace specifiers in
'/run/log/journal/%m'". We only care about /tmp, so hide them.

`-E` is an alias for `--exclude-prefix=/dev --exclude-prefix=/proc
--exclude-prefix=/run --exclude-prefix=/sys`.
2023-01-01 17:18:20 +01:00
Naïm Favier 6a166a5ab1
Merge pull request #199425 from Mikilio/master 2023-01-01 11:15:03 +01:00
K900 2d3cf010fe
Revert "treewide: use nativeBuildInputs with runCommand instead of inlining" 2022-12-26 21:05:35 +03:00
Sandro Jäckel 26f704b545
treewide: use nativeBuildInputs with runCommand instead of inlining 2022-12-18 23:36:40 +01:00
zowoq 1ec69621ef nixos/nix-fallback-paths: 2.11.1 -> 2.12.0 2022-12-07 04:42:28 +10:00
zowoq 34386263f7 nixos/nix-fallback-paths: 2.11.0 -> 2.11.1 2022-12-01 12:32:15 +10:00
Mikilio b6c367162c nixos/nixos-enter: add full path for systemd-tmpfiles 2022-11-24 18:15:08 +01:00
Maximilian Bosch 3df3bbdc50
nixos/nixos-build-vms: fix eval
Within #193485 (and the previous changes) the internal structure of the
testing driver was changed. Since then, `makeTest` returns the
attributes for the VM test(s) (including `driverInteractive`) inside a
sub-attribute called `test`, so without this change running
`nixos-build-vms` would fail like this:

    error: attribute 'driverInteractive' missing
2022-10-01 20:34:01 +02:00
Robert Hensing 38fb09e427 testing-python.nix: Replace makeTest implementation 2022-09-24 17:38:08 +01:00
Eelco Dolstra 9fc7a29da5
nix-fallback-paths.nix: Update to 2.11.0 2022-08-29 08:24:17 +02:00
olaf 5a6853b3bf use consistently user alice for examples 2022-08-05 13:13:24 +02:00
pennae a16b25432e
Merge pull request #182685 from pennae/invariant-option-conversions
treewide: invariant option conversions to MD
2022-07-27 15:39:47 +02:00
pennae 4ba72f8615 nixos/installer: invariant option docs MD conversions 2022-07-24 13:01:18 +02:00
Maximilian Bosch 200ce70e63
Merge pull request #180603 from m-bdf/substitute-nix-instantiate
nixos-generate-config: substitute nix-instantiate
2022-07-22 14:22:52 +02:00
Bernardo Meurer ea8a1ac198 nix-fallback-paths: 2.10.2 -> 2.10.3 2022-07-15 12:00:56 -07:00
Nick Cao c543c996a9
nix-fallback-paths.nix: Update to 2.10.2 2022-07-14 23:53:44 +08:00
Maëlys Bras de fer b2224764ee
nixos-generate-config: substitute nix-instantiate 2022-07-07 18:42:44 +02:00
Kirill A. Korinsky 08ddd8a5fc
nixos-generate-config: detect parallels virtualization 2022-06-29 16:01:08 +02:00
Profpatsch 0e444785a1 installer/tools/get-version-suffix: set --git-dir
The `nixos-rebuild` tool calls `get-version-suffix` to figure out the
git revision of the nixpkgs directory if there is a .git.

https://nvd.nist.gov/vuln/detail/CVE-2022-24765 made git throw an
error if the .git search logic is not turned off and a user
tries to access a `.git` directory they don’t own (otherwise a
different user could trick them into setting arbitrary git config).

So from now on we should always explicitely set `--git-dir`, which
turns this search logic (and thus the security check) off.
2022-06-27 14:28:03 +02:00
Robert Hensing 82da0794c2 nixos-generate-config: Make robust against missing newline
The substr solution assumed a newline to be present.
The new solution will not remove the newline if it goes missing in the future.

Apparently this is idiomatic perl.

Thanks pennae for the suggestion!
2022-06-21 14:37:16 +02:00