summary refs log tree commit diff
path: root/nixos
diff options
context:
space:
mode:
authorDavid Arnold <dgx.arnold@gmail.com>2021-07-27 20:56:48 -0500
committerDavid Arnold <dgx.arnold@gmail.com>2021-07-28 15:05:25 -0500
commitc219fdffad3fa76c43824bee34d5fb424ff95b87 (patch)
tree9cb077398942b4a97a95420c5d5d16b2ea2210bb /nixos
parent0efb458bc1d1c5d4f36e55ae3c513d5dec615d46 (diff)
downloadnixpkgs-c219fdffad3fa76c43824bee34d5fb424ff95b87.tar
nixpkgs-c219fdffad3fa76c43824bee34d5fb424ff95b87.tar.gz
nixpkgs-c219fdffad3fa76c43824bee34d5fb424ff95b87.tar.bz2
nixpkgs-c219fdffad3fa76c43824bee34d5fb424ff95b87.tar.lz
nixpkgs-c219fdffad3fa76c43824bee34d5fb424ff95b87.tar.xz
nixpkgs-c219fdffad3fa76c43824bee34d5fb424ff95b87.tar.zst
nixpkgs-c219fdffad3fa76c43824bee34d5fb424ff95b87.zip
nixos/installer: force root fs type
installer media can be used on top of existing host configs. In such
scenarions, root fs types will already be defined.

Before this change, this will inevitably lead to the following error:
```console
error: The option `fileSystems./.fsType' has conflicting definition values:
       - In `/nix/store/2nl5cl4mf6vnldpbxhrbzfh0n8rsv9fm-source/DevOS/os/hardware/common.nix': "ext4"
       - In `/nix/store/jbch90yqx6gg1h3fq30jjj2b6h6jfjgs-source/nixos/modules/installer/cd-dvd/iso-image.nix': "tmpfs"
```

With this patch, the installers will override those values according to
their own local requirement.

Use `mkOverride 60` so that conscientious overriding specially targeted
at the installer, e.g. with `mkForce` is still straight forward.
Diffstat (limited to 'nixos')
-rw-r--r--nixos/modules/installer/cd-dvd/iso-image.nix6
-rw-r--r--nixos/modules/installer/netboot/netboot.nix6
2 files changed, 10 insertions, 2 deletions
diff --git a/nixos/modules/installer/cd-dvd/iso-image.nix b/nixos/modules/installer/cd-dvd/iso-image.nix
index d94af0b5bf7..f0384513247 100644
--- a/nixos/modules/installer/cd-dvd/iso-image.nix
+++ b/nixos/modules/installer/cd-dvd/iso-image.nix
@@ -654,7 +654,11 @@ in
       ];
 
     fileSystems."/" =
-      { fsType = "tmpfs";
+      # This module is often over-layed onto an existing host config
+      # that defines `/`. We use mkOverride 60 to override standard
+      # values, but at the same time leave room for mkForce values
+      # targeted at the image build.
+      { fsType = mkOverride 60 "tmpfs";
         options = [ "mode=0755" ];
       };
 
diff --git a/nixos/modules/installer/netboot/netboot.nix b/nixos/modules/installer/netboot/netboot.nix
index 238ab6d0617..f7543fdf4a2 100644
--- a/nixos/modules/installer/netboot/netboot.nix
+++ b/nixos/modules/installer/netboot/netboot.nix
@@ -30,7 +30,11 @@ with lib;
           else [ pkgs.grub2 pkgs.syslinux ]);
 
     fileSystems."/" =
-      { fsType = "tmpfs";
+      # This module is often over-layed onto an existing host config
+      # that defines `/`. We use mkOverride 60 to override standard
+      # values, but at the same time leave room for mkForce values
+      # targeted at the image build.
+      { fsType = mkOverride 60 "tmpfs";
         options = [ "mode=0755" ];
       };