Commit Graph

1009 Commits

Author SHA1 Message Date
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
Samuel Dionne-Riel
d5f5ec1628
Merge pull request #207371 from samueldr/feature/new_kernel-no-zfs
nixos: Add new_kernel_no_zfs image variants
2022-12-27 16:14:16 -05:00
Naïm Favier
0d436e1bb6
Merge pull request #207105 from ncfavier/iso-xlibs 2022-12-27 16:19:33 +01:00
K900
2d3cf010fe
Revert "treewide: use nativeBuildInputs with runCommand instead of inlining" 2022-12-26 21:05:35 +03:00
Sandro
5af3f865e8
Merge pull request #206775 from SuperSandro2000/runCommand-nativeBuildInputs 2022-12-25 21:42:05 +01:00
Nathan Henrie
7e1a3e4a8f nixos/installer/cd-dvd/iso-image: Honor boot.loader.timeout for EFI
EFI boot timeout is currently a static 10 whereas syslinux uses
boot.loader.timeout. This changes the EFI config to match.

Some discussion at https://discourse.nixos.org/t/how-to-override-let-variables/23741/2
2022-12-24 09:27:43 -07:00
Samuel Dionne-Riel
d91e1f98fa nixos: Add sd_image_minimal_new_kernel_no_zfs
Support for ZFS, while desirable, is problematic with newer kernel
releases. The stable ZFS release seldom supports the current newest
kernel version, and this makes the new_kernel image basically useless as
it cannot be published, and is not often built with new kernel releases.

This uses a dirty workaround to work around the fact it is impossible to
remove a list item from a modules system list type. Since ZFS support is
conditional to being supported on the current platform, we can fake ZFS
not being supported *for the no-zfs build only*. This overlay is only
added when evaluating the image, nothing else.
2022-12-22 23:07:19 -05:00
Samuel Dionne-Riel
35bb28b367 nixos: Add iso_minimal_new_kernel_no_zfs
Support for ZFS, while desirable, is problematic with newer kernel
releases. The stable ZFS release seldom supports the current newest
kernel version, and this makes the new_kernel iso basically useless as
it cannot be published, and is not often built with new kernel releases.

This uses a dirty workaround to work around the fact it is impossible to
remove a list item from a modules system list type. Since ZFS support is
conditional to being supported on the current platform, we can fake ZFS
not being supported *for the no-zfs build only*. This overlay is only
added when evaluating the iso, nothing else.
2022-12-22 23:00:14 -05:00
Nathan Henrie
3930bcb3c3 Make syslinuxTimeout match documentation
- https://wiki.syslinux.org/wiki/index.php?title=SYSLINUX#TIMEOUT_timeout
- cbe419ed4c/nixos/modules/system/boot/loader/loader.nix (L16)

Fixes https://github.com/NixOS/nixpkgs/issues/207289
2022-12-22 13:25:14 -06:00
Naïm Favier
3a8fd0ef47
nixos/installation-cd-minimal: disable noXlibs
Causes a lot of uncached builds for a negligible decrease in size (822 →
821 MiB currently).
2022-12-21 15:19:37 +01:00
Sandro Jäckel
26f704b545
treewide: use nativeBuildInputs with runCommand instead of inlining 2022-12-18 23:36:40 +01:00
figsoda
6bb0dbf91f nixos: fix typos 2022-12-17 19:31:14 -05:00
Lin Yinfeng
7f220a0422
nixos/installer/netboot-minimal: add missing lib 2022-12-12 09:54:17 +08:00
Izorkin
0c6ce0dbab
nixos/installer/netboot-minimal: enable man 2022-12-09 13:03:49 +03:00
Izorkin
309d6a3185
iso/minimal: use mkForce 2022-12-09 13:03:49 +03:00
Izorkin
191d2115ea
iso/minimal: use minimal profile 2022-12-09 13:03:49 +03:00
zowoq
1ec69621ef nixos/nix-fallback-paths: 2.11.1 -> 2.12.0 2022-12-07 04:42:28 +10:00
Naïm Favier
a6dd75809d
Merge pull request #204178 from ncfavier/iso-filter-nixpkgs 2022-12-05 19:00:03 +01:00
Naïm Favier
364d3609cd
nixos/installer/cd-dvd: use filtered nixpkgs source
Pin the `nixpkgs` registry entry to the *filtered* nixpkgs source to
avoid copying the entire `.git` directory to the ISO when building
from a local checkout.

Also set `to` directly instead of the `flake.outPath` hack.
2022-12-04 14:54:18 +01: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
Victor Fuentes
4fe9988b89
installation-cd: Remove libsForQt5.full 2022-11-19 19:12:37 -05:00
Victor Fuentes
f4e541427e
calamares-cd: default supporting all locales 2022-11-02 13:59:53 -04:00
Martin Schwaighofer
0c67f190b1 sd-image: remove unnecessary subshell
replace the subshell surrounding this block with cd before and after

Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
2022-10-22 12:11:30 +02:00
Martin Schwaighofer
bacef6bb09 dvd-image: replace faketime with --invariant for mkfs.vfat 2022-10-22 12:11:30 +02:00
Martin Schwaighofer
a1d6fd3702 sd-image: replace faketime with --invariant for mkfs.vfat
This is done for sd-images only here, but should probably also be done
for dvd-images.

The --invariant arg should be a better way of making mkfs.vfat deterministic.
The previous version of invoking faketime was building fine and reproducible
when I was compiling an sdimage for aarch64 under emulation.
It was however still logging errors:
ERROR: ld.so: object '/nix/store/1c2cp2709kmvby8ql2n9946v7l52nn50-libfaketime-0.9.9/lib/libfaketime.so.1' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/nix/store/1c2cp2709kmvby8ql2n9946v7l52nn50-libfaketime-0.9.9/lib/libfaketime.so.1' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
The logged errors were presumably inaccurate somehow as calling
faketime was required for reproducibility, even though the log makes it
looks like it failed.
2022-10-22 12:11:30 +02:00
Martin Schwaighofer
f6ee247a1f sd-image: make firmware partition deterministic
Based on how it works for the EFI partition of an iso-image at
nixos/modules/installer/cd-dvd/iso-image.nix.
2022-10-22 12:11:30 +02:00
Martin Weinelt
373c1a8e43
installer: enable xe-guest-utilities only on x86
Tries to find a target specific makefile for aarch64 which does not
exist.
2022-10-11 15:33:42 +02:00
Martin Weinelt
8f366cbfcc
installer: enable vmware guest support on x86 only
The vmware guest module asserts on this exact condition, so let's only
enable it on that condition.
2022-10-11 15:33:41 +02: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
Christian Kögler
a68239097e
Merge pull request #189113 from MatthewCroughan/mc/pin-installer-registry
pin nixpkgs registry to pkgs.path via nix.settings.registry
2022-10-01 12:49:28 +02:00
Robert Hensing
b463233ff4 nixos/iso-image: Refactor: apply / unshadow 2022-09-29 12:22:51 +02:00
Robert Hensing
f34135a73b nixos/iso-image: Fix eval 2022-09-29 12:19:06 +02:00
Ivan Nikolaenko
f251840237 lib/systems/default.nix: add efiArch suffixes
Move already implemented functionality to the upper level so
it could be used in a more generic way.

Signed-off-by: Ivan Nikolaenko <ivan.nikolaenko@unikie.com>
2022-09-29 08:02:35 +00:00
MatthewCroughan
c40da01e17
Update nixos/modules/installer/cd-dvd/channel.nix
Co-authored-by: Louis Bettens <lourkeur@users.noreply.github.com>
2022-09-26 19:36:13 +01:00
matthewcroughan
31dbd4cb91 nixos/modules/installer/cd-dvd/channel.nix: pin nixpkgs registry to pkgs.path via nix.settings.registry 2022-09-26 16:23:48 +01:00
Robert Hensing
38fb09e427 testing-python.nix: Replace makeTest implementation 2022-09-24 17:38:08 +01:00
Christian Kögler
b3c8810040
Merge pull request #186695 from amarshall/installer-no-mkforce
nixos/installer: mkForce -> mkImageMediaOverride
2022-09-09 17:32:17 +02:00
pennae
3bddcf5f90
Merge branch 'master' into option-docs-md 2022-09-01 16:10:09 +02:00
pennae
1013069f52 nixos/*: convert more partially-md option descriptions
this mostly means marking options that use markdown already
appropriately and making a few adjustments so they still render
correctly. notable for nftables we have to transform the md links
because the manpage would not render them correctly otherwise.
2022-08-31 16:32:14 +02:00
matthewcroughan
2367007613 nixos/modules/installer/cd-dvd/channel.nix: pin nixpkgs registry to pkgs.path via boot.postBootCommands 2022-08-31 14:42:05 +01:00