Commit graph

667 commits

Author SHA1 Message Date
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
Robert Hensing fc0971f436 nixos-generate-config: nixpkgs.system -> nixpkgs.hostPlatform 2022-06-21 14:22:36 +02:00
Robert Hensing a234fb2a5b nixos-generate-config: Add nixpkgs.system to hardware-config.nix 2022-06-21 14:21:17 +02:00
Eelco Dolstra 0e51dce778 nix-fallback-paths.nix: Update to 2.9.1 2022-06-09 09:00:27 +10:00
Eelco Dolstra 5ce31ec2fd
nix-fallback-paths.nix: Update to 2.8.1 2022-05-14 15:19:14 +02:00
Janne Heß e6fb1e63d1
Merge pull request #171650 from helsinki-systems/feat/config-systemd-package
treewide: pkgs.systemd -> config.systemd.package
2022-05-09 10:23:04 +02:00
ajs124 e4a1b1aacd
Merge pull request #171588 from mweinelt/tools-userpkgs
nixos/tools: move firefox into user packages
2022-05-08 19:02:47 +01:00
Maximilian Bosch f4e5bd8064
nixos/nixos-generate-config: update comment for useDHCP 2022-05-06 16:56:47 +02:00
Janne Heß 57cd07f3a9
treewide: pkgs.systemd -> config.systemd.package
This ensures there is only one systemd package when e.g. testing the
next systemd version.
2022-05-05 20:00:31 +02:00
Martin Weinelt 6051f8028d
nixos/tools: move firefox into user packages
Installing Firefox is a good example for a package that could be
installed as a user, since it is a graphical one.

Also use thunderbird as a second example.
2022-05-05 00:41:55 +02:00
Maximilian Bosch 8e42949a24
nixos/nixos-generate-config: use networking.useDHCP by default
Currently we're still using scripted networking by default. A problem
with scripted networking is that having `useDHCP` on potentially
non-existing interfaces (e.g. an ethernet interface for USB tethering)
can cause the boot to hang.

Closes #107908
2022-04-30 00:30:47 +02:00
Linus Heckemann c85bc19cdf
Merge pull request #169303 from emccorson/fix/add-copy-system-config
nixos/tools: add copySystemConfiguration to configuration file template
2022-04-24 00:01:00 +02:00
Pol Dellaiera b555b64346
nixVersions.stable: 2.7.0 -> 2.8.0 2022-04-21 19:43:40 +02:00
Eric Corson 0edfd89d6e nixos/tools: add copySystemConfiguration to configuration file template 2022-04-19 10:53:47 +01:00
Robert Hensing ce5a33e62b
Merge pull request #164660 from ncfavier/tests-restrict-arguments
nixos/testing: restrict arguments to makeTest
2022-03-24 17:01:47 +01:00
Artturi 6134c2f891
Merge pull request #161034 from andr1an/fix/nixos-generate-config-absolute-root-path 2022-03-22 02:35:06 +02:00
Robert Hensing 6c469679f6 Merge remote-tracking branch 'upstream/master' into tests-restrict-arguments 2022-03-21 23:17:17 +01:00
Robert Hensing eb8b70c020 nixos: Make config.nix.enable pass test 2022-03-21 23:14:10 +01:00
Artturin 611b8c4472 nixos/nixos-generate-config: fix specifying --root /mnt --dir adir
it should save to `$PWD/adir` instead of `/mnt/adir`
and --dir adir should save to `$PWD/adir` instead of `/adir`
2022-03-18 23:16:19 +02:00
andr1an 00487b5a87 nixos/nixos-generate-config: resolve abspath to root 2022-03-18 23:16:06 +02:00
Ben Wolsieffer 69cff425e6 nixos/nixos-enter: cleanup resolv.conf handling 2022-03-18 12:19:09 -04:00
Ben Wolsieffer 1ee3d9477b nixos/nixos-enter: fix resolv.conf error handling 2022-03-18 12:19:02 -04:00
Nick Cao 3c09fec700
nix-fallback-paths.nix: Update to 2.7.0 2022-03-08 22:40:16 +08:00
Maximilian Bosch 1659bca6b7
nixos-build-vms(8): $out/bin/nixos-run-vms should non-interactively start VMs
Not entirely sure when it got broken this time, but when creating a VM
network with `nixos-build-vms(8)`, there are should be the following scripts:

* `$out/bin/nixos-test-driver` which drops into an interactive shell to
  interactively perform test steps.
* `$out/bin/nixos-run-vms` which non-interactively starts the VMs from
  the network so that one can manually play around in the VM.

The latter also starts an interactive shell for a while now which means
that it does the exact same thing as `nixos-test-driver` which is not
its purpose.
2022-02-19 19:43:34 +01:00
Artturin b4adac9ba9 nixos/nixos-generate-config: move dhcpConfig from configuration.nix to hardware-configuration.nix 2022-02-09 19:35:19 +02:00
Artturin aaf13bb3bd nixos/nixos-generate-config: fix proram path replacements
btrfs-progs was made optional in 2019 c01ea27ce3
because it didn't cross-compile. it now does
2022-02-09 18:38:17 +02:00
Artturin b2eacd1595 nixos/tools: add more keymap options to configuration template 2022-02-09 18:38:17 +02:00
Artturin 801dca549f nixos/tools: add networkmanager to configuration template 2022-02-09 18:38:17 +02:00