Commit graph

1249 commits

Author SHA1 Message Date
Raito Bezarius 4a94f45bb4 nixos/installer/cd-dvd: use EFI/BOOT and EFI/BOOT/BOOT$ARCH.EFI rather than lowercase
Reported in https://discourse.nixos.org/t/nix-iso-unable-to-boot-in-uefi-mode-but-other-distros-can/16473/24

There seems to be weird situations with casing and FAT8.3 filenames, UEFI firmwares and what not.
To increase our compatibility, let's ensure we have the critical stuff (the bootable) in uppercase.

Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-09-13 04:23:53 -04:00
Daniel Nagy f34b9f5e60
nixos/netboot: Compress squashfs with zstd 19 2024-09-12 19:15:00 +02:00
Felix Bühler 686fa55f27
nixos/iso-image: remove with lib; (#339102) 2024-09-11 18:57:35 +02:00
Robert Cambridge 08afe03265 fix bug where nix store DB would not be loadable if root was not mounted on / 2024-09-11 09:59:22 +02:00
Robert Cambridge 52bb3ddb86 fix bug where sdImage.expandOnBoot=false would prevent nix-store from loading DB 2024-09-11 09:59:10 +02:00
Josh Hoffer d308cfcb38 nixos/netboot: mount squashfs with threads=multi 2024-09-10 22:02:20 -07:00
Josh Hoffer ff8b2d5162 nixos/iso-image: mount squashfs with threads=multi 2024-09-10 22:01:39 -07:00
Robert Hensing 2e702d07bb nix: nix_2_18 -> nix_2_24 2024-09-10 23:20:48 +02:00
Felix Buehler e3ee1a97d4 nixos/iso-image: remove with lib; 2024-09-10 21:36:16 +02:00
K900 fa39e3d642 nixos-install: fail if we can't set up bootloader 2024-09-08 11:05:59 +03:00
K900 78d6adf386 nixos/installer: don't enable Pulseaudio 2024-09-04 13:56:50 +03:00
Jan Tojnar d2da9a19c4 gnome-settings-daemon{,43}: Move from gnome scope to top-level 2024-09-01 14:16:31 +02:00
Will Fancher 49192ef7a3 nixos/iso-image: Compress squashfs with zstd 19 2024-08-31 12:21:36 -04:00
Sandro Jäckel d50e23f0a4
glxinfo: replace with mesa-demos 2024-08-28 14:38:12 +02:00
Alyssa Ross 148261d04b
sd-image: optimise sfdisk call for image building
When building an image, rather than operating on a real partition,
there's no need to have sfdisk tell the kernel to reread the partition
table.  This also avoids a call to sync(2), which could be very
expensive depending on what other IO is going on on the system at the time.
2024-08-24 14:36:07 +02:00
Tim Schumacher 794d005bdd sd-image-aarch64: add dtbs for the bcm2710 raspberries
This appears to cover the BCM2836, BCM2837 and BCM2837B0 families of
devices.
2024-08-11 18:39:15 +02:00
Jörg Thalheim d79b03a59c fix netboot image 2024-08-02 10:24:34 +02: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
installer e9a119ead4 nixos/installation-cd-base: add git & rsync 2024-07-13 18:59:45 +02: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
Jörg Thalheim c71ebe0dc8 netboot: drop syslinux and grub
The comment says this is required by other modules but to be honest, I
cannot see where. Bootloaders will be included automatically by nixos
generation if their `installBootLoader` attribute references it.

This helps us to make kexec images even smaller espeically when
combined with the perlless profile.
2024-06-04 10:35:20 +02:00
Sandro Jäckel 1c2132f714
nixos/installation-cd-plasma5: fix even more aliases 2024-06-03 16:26:54 +02:00
Sandro a88fb925bb
nixos/installation-cd-plasma5: don't use alias for konsole 2024-06-03 16:22:12 +02:00
Giel van Schijndel 83b38c6d30 nixos/netboot: only install syslinux on platforms where it's available
Instead of maintaining an inevitably incomplete list of unsupported
architectures.

I discovered this while building for armv7-linux (32-bit ARM).
2024-05-29 10:28:03 +02:00
Sizhe Zhao f6ad69af7e
nixos/sd-card: explicitly set core_freq for rpi 3
Contrary to the official documentation, setting only enable_uart=1 will
not fix VPU core clock frequency for Raspberry Pi 3, which cause the
mini UART serial output to be garbaled. Manually setting core_freq to
the documented value 250 resolves the issue.
2024-04-25 14:57:32 +08: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
Sandro Jäckel 476b8c276e
treewide: rename renamed sddm/displayManager settings 2024-04-08 21:56:38 +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
K900 77536af43b nixos/iso-image: extremely cursed performance optimization for Hydra
Right now the worst case chain of events for building an ISO on Hydra is

    - copy everything to squashfs builder
    - run squashfs builder
    - download squashfs from builder
    - compress squashfs
    - upload squashfs to S3
    - copy squashfs to ISO builder
    - run ISO builder
    - download ISO from builder
    - compress ISO
    - upload ISO to S3

This inlines the squashfs build into the ISO build, which makes it

    - copy everything to ISO builder
    - run ISO builder
    - download ISO from builder
    - compress ISO
    - upload ISO to S3

Which should reduce queue runner load by $alot per ISO, which we have four of on small channels
(one release, one test per arch) and a lot more than four of on large channels (with various desktops)
2024-03-12 15:41:59 +03:00
K900 7d93928492 nixos/release: add Plasma 6 ISO variant 2024-02-28 18:49:33 +03:00
Astro 6fbf631a7b nixos netboot: prepend systemd initrd sysroot for store overlay 2024-02-27 22:41:45 +01:00
pennae 258b935d70 nixos/filesystems: make supportedFilesystems an attrset
this lets us *dis*able filesystem explicitly, as is required by e.g. the
zfs-less installer images. currently that specifically is only easily
possible by adding an overlay that stubs out `zfs`, with the obvious
side-effect of also removing tooling that could run without the kernel
module loaded.
2024-02-19 11:46:52 +01:00
Nick Cao dfbb7a7c01
Merge pull request #279174 from SuperSandro2000/iso-minimal-override
nixos/installation-cd-minimal: allow overwriting isoImage.edition with mkForce like other options
2024-01-14 15:26:29 -05:00
Cole Mickens 5a718794d0
nixos/lib/make-squashfs.nix: allow disabling compression 2024-01-07 22:46:20 -06:00
Sandro Jäckel eceb5b2f8c
nixos/installation-cd-minimal: allow overwriting isoImage.edition with mkForce like other options
For good measure also changed fontconfig
2024-01-06 15:52:15 +01: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
Jonathan Ringer 9711af0579
nixos/iso-image: fix isoImage.grubTheme = null; logic 2023-11-23 10:58:17 -08: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] 677e25fcd2
Merge master into staging-next 2023-11-02 12:01:08 +00:00
Jörg Thalheim 94b810348a installer/cd-dvd/channel: allow to disable bundled channel
When building kexec-based installer every mb saved will reduce the RAM usage and allow to install NixOS on smaller machines.
It also means that less data has to be downloaded from the network.
When using flakes or niv we no longer rely on nix channels beeing present
and when using something like nixos-anywhere, we no longer need to evaluate anything in the installer at all.
2023-11-02 12:39:05 +01:00
Jörg Thalheim af459e624e installer/cd-dvd/channel: stop using lib
the lack of with allows lsp's to spot errors better
2023-11-02 12:39:05 +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
K900 118694944d nixos/virtualbox-demo: use latest stateVersion
Just like we do for the other live images
2023-10-27 12:56:12 +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
Samuel Dionne-Riel 2de1bd778c nixos/iso-image: Remove leftover false dichotomy between console/serial
Relying on the built-in UEFI console here was already necessary, so we
are losing nothing by removing the needless `serial` call, which hung
some systems.

This also makes the implementation much easier to understand.

Also, no ugly-font menu anymore!
2023-09-06 14:10:09 -04:00
Samuel Dionne-Riel 7fa7158c60 nixos/iso-image: graphicalGrub -> forceTextMode
This helps keep logic simpler, as what we do is forcing text mode, which
means the non-default case is `truthy`, making things easier to digest
in the config file.

Also renaming this option is considered "internal", since it lives only
within the `iso-image` namespace, and also not a breaking change since
it was not part of a stable release.
2023-09-06 14:09:03 -04:00
Samuel Dionne-Riel 07fb2f4a97 nixos/iso-image: Tear down GOP and rely on console for Linux boot
This solves an issue where *some systems* (tested on Steam Deck) the EFI
GOP may be broken during stage-1.
2023-09-06 14:09:02 -04:00
Samuel Dionne-Riel 47ae07a23f nixos/iso-image: Drop all unneeded FS modules
It's not like the iso-image will be anything else than isohybrid
FAT+iso9660...
2023-09-06 14:09:02 -04:00
Samuel Dionne-Riel d64b03a339 nixos/iso-image: Re-enable graphics mode
Which ***anyway*** was not disabled correctly. Following changes will
actually disable it.

What this did was disable the "themed" menu driver, but still continued
relying on the gfxterm infra, which in itself is why things were ugly
and weird.
2023-09-06 14:09:02 -04:00
Samuel Dionne-Riel dd936c21d7 nixos/iso-image: Check GRUB config on build 2023-09-06 14:09:02 -04:00
Samuel Dionne-Riel 8623ac4656 nixos/iso-image: Add common display resolutions
Hey, look at that, grub is the correct way around on a Steam Deck!
2023-09-06 14:09:02 -04:00
Samuel Dionne-Riel 080bff8159 nixos/iso-image: Use intrinsic UEFI console for serial output in GRUB
The `serial` console hangs on some systems. Unknown why.

Anyway, the way this worked right now relied on it telling the user on
the UEFI console how to enable it. So if I understand it correctly, it
will not cause any regression there.
2023-09-06 14:09:02 -04:00
Samuel Dionne-Riel fad94acaa8 nixos/iso-image: Make modules list easier to manage
With a bash array.

This change is morally a no-op.
2023-09-06 14:09:02 -04:00
K900 f387b065b1 nixos/iso-image: disable graphical GRUB on GNOME ISOs too
It's broken for a lot of people.
2023-09-06 13:36:31 +03: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
Bernardo Meurer 70dd76d94f
Merge pull request #247475 from qowoz/nix217 2023-08-13 13:27:20 -04: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
Jan Tojnar 08d242047c iso_gnome: Fix evaluation
`qt.enable` option requires `qt.style` to be set.
Previously, this was set in GNOME module but it has been removed
in 622745942b
2023-08-12 19:30:49 +02: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
Felix Buehler bec27fabee treewide: use lib.optional instead of 'then []' 2023-07-12 09:36:28 +01: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
K900 db9b857e1d nixos/iso-image: fix syntax 2023-07-05 21:49:03 +03:00
lassulus e4f361f352 installation-cd: enable graphicalGrub 2023-06-29 14:35:54 +02:00
lassulus 363c846d77 nixos/iso-image: make graphical grub configurable 2023-06-29 14:35:54 +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
Ivan Trubach c68a5bb85a nixos/iso-image: enable BIOS boot by default if possible
The change introduced in commit e5b072eca1
breaks backwards compatibility for some users, see
e5b072eca1 (commitcomment-113775008)
https://github.com/NixOS/nixpkgs/pull/219351#discussion_r1139773448

This change updates the implementation to enable BIOS boot if possible
for the build and host platforms, and also assert that BIOS boot is not
enabled for non-x86 host platforms.
2023-05-23 04:43:31 +03:00
ners afdf7705ad nixos/iso-image: add some types 2023-05-22 13:01:56 +02:00
ners c281a355fe nixos/iso-image: prepend to ISO menu labels 2023-05-22 11:25:00 +02: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
Alyssa Ross e5e49df7fd
nixos/netboot: add squashfsCompression option
This is copied from isoImage.squashfsCompression.  It's useful to be
able to customise, as iteration cycles are very slow with xz, and
subjectively systems booted with less efficiently compressed squashfs
stores appear to have faster reads (although I didn't test that
scientificly so there could be other factors).
2023-05-09 14:15:10 +00:00
Alyssa Ross 096cdeeac4
nixos/iso-image: type isoImage.squashfsCompression 2023-05-09 14:15:02 +00:00
Alyssa Ross bf7de549b9
nixos/iso-image: targetPlatform -> hostPlatform
This is not a compiler, and therefore does not need to care about the
target platform.
2023-05-08 11:50:06 +00: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
Artturi b83db86a9e
Merge pull request #222080 from Stunkymonkey/nixos-optionalString 2023-04-20 16:07:30 +03: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
Felix Buehler 327b0cff7a treewide: use more lib.optionalString 2023-04-07 13:38:33 +02:00
github-actions[bot] 6a3714135d
Merge master into staging-next 2023-03-23 00:02:14 +00: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
github-actions[bot] 797a2b9bcc
Merge master into staging-next 2023-03-21 18:01:07 +00: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
Bernardo Meurer 79cfdf110a
Merge pull request #219351 from tie/make-bios-bootable 2023-03-16 11:33:03 -03:00
Linus Heckemann 7ca65eeecf
Merge pull request #219354 from Izorkin/update-profiles-base
nixos/profiles: optimize base and minimal profiles
2023-03-14 14:45:15 +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
Ivan Trubach 905be9f8c5 nixos/iso-image: s/efi/EFI in documentation 2023-03-09 19:07:33 +03:00
Ivan Trubach e5b072eca1 nixos/iso-image: add an option to disable BIOS boot
This change adds an option to disable legacy BIOS boot support for ISO
images. The implementation uses syslinux package that currently does not
support non-x86 platforms and thus cannot be cross-compiled, e.g. from
AArch64 system.
2023-03-09 19:07:33 +03:00
Izorkin bb5370b8b3
nixos/modules/installer/netboot/netboot-minimal: reduce closure size 2023-03-04 16:19:39 +03: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
Weijia Wang b65d2ea436
Merge pull request #192672 from amjoseph-nixpkgs/pr/nixos/sd/powerpc64le
enable NixOS installer for powerpc64le
2023-02-23 07:09:46 +02:00
Adam Joseph f99e8bafe6 nixos/installer: add sd-image-powerpc64le.nix
This builds on top of nixpkgs mainline 00d8347180
with the following two PRs cherry-picked:

- https://github.com/NixOS/nixpkgs/pull/192670
- https://github.com/NixOS/nixpkgs/pull/192668

using the following command:

```
nix build -f nixos -L \
  -I nixos-config=nixos/modules/installer/sd-card/sd-image-powerpc64le.nix \
  config.system.build.sdImage
```

I was able to successfully boot the image, although it boots to a login prompt
rather than a shell, and won't accept the empty password for `root`.  I guess
I'll have to figure out why that is.

To boot the image: `zstd`-decompress the it, mount it, and use `kexec`:

```
cd boot/nixos
kexec -l \
  *-vmlinux \
  --initrd *-initrd \
  --dt-no-old-root \
  --command-line="$(grep APPEND ../extlinux/extlinux.conf | sed 's_^ *APPEND *__')"
```

The machine I used for testing has only one storage device which is completely
allocated to LVM.  It appears that the NixOS ISO loader doesn't look for
partition tables within LVM volumes.  To work aroundn this, I had to extract the
`ext4` image within the partition table within the `sd-card` image and put that
in its own LVM volume.  This likely won't be an obstacle for users who write the
image to a USB stick or similar.
2023-02-23 06:18:52 +02: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
Nick Cao c128da46bf
Merge pull request #211640 from Izorkin/update-iso-channel
nixos/installer/cd-dvd: removing duplicate nixpkgs
2023-01-22 16:31:54 +08: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
Izorkin 058951e85d
nixos/installer/cd-dvd: removing duplicate nixpkgs 2023-01-19 22:52:45 +03: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 556a4a7951 nixos/installation-cd-minimal: include HTML doc
Although we don't really need HTML documentation in the minimal installer,
not including it may cause annoying cache misses in the case of the NixOS manual.
2023-01-19 00:30:33 +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
Ryan Lahfa b42ea74b96
Merge pull request #206655 from vlinkz/distroname
nixos/version: add system.nixos.distroName and system.nixos.distroId options
2023-01-15 17:39:55 +01:00
Victor Fuentes d3528cdc3d
nixos/version: add config.system.nixos.distroName and config.system.nixos.distroId 2023-01-14 16:19:06 -05:00
Naïm Favier 7e1cf49870
Merge pull request #161237 from miallo/nixos-version-configuration-revision 2023-01-12 12:31:54 +01:00
linsui a2e21c76c7 rename config.qt5 -> config.qt 2023-01-10 20:50:15 +08: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
Ryan Lahfa b869fc7a90
Merge pull request #204669 from n8henrie/configurable-grub-efi-timeout
nixos/installer/cd-dvd/iso-image: honor EFI boot timeout
2022-12-30 14:25:26 +01:00