diff options
Diffstat (limited to 'nixos/modules/tasks')
-rw-r--r-- | nixos/modules/tasks/filesystems/envfs.nix | 3 | ||||
-rw-r--r-- | nixos/modules/tasks/filesystems/erofs.nix | 21 |
2 files changed, 23 insertions, 1 deletions
diff --git a/nixos/modules/tasks/filesystems/envfs.nix b/nixos/modules/tasks/filesystems/envfs.nix index 76344f5f87eaf..365cb46ff2fe3 100644 --- a/nixos/modules/tasks/filesystems/envfs.nix +++ b/nixos/modules/tasks/filesystems/envfs.nix @@ -12,12 +12,13 @@ let ln -s ${config.environment.usrbinenv} $out/env ln -s ${config.environment.binsh} $out/sh '' + cfg.extraFallbackPathCommands)}" + "nofail" ]; }; "/bin" = { device = "/usr/bin"; fsType = "none"; - options = [ "bind" ]; + options = [ "bind" "nofail" ]; }; }; in { diff --git a/nixos/modules/tasks/filesystems/erofs.nix b/nixos/modules/tasks/filesystems/erofs.nix new file mode 100644 index 0000000000000..a3d6576693505 --- /dev/null +++ b/nixos/modules/tasks/filesystems/erofs.nix @@ -0,0 +1,21 @@ +{ config, lib, pkgs, ... }: + +let + + inInitrd = lib.any (fs: fs == "erofs") config.boot.initrd.supportedFilesystems; + inSystem = lib.any (fs: fs == "erofs") config.boot.supportedFilesystems; + +in + +{ + config = lib.mkIf (inInitrd || inSystem) { + + system.fsPackages = [ pkgs.erofs-utils ]; + + boot.initrd.availableKernelModules = lib.mkIf inInitrd [ "erofs" ]; + + # fsck.erofs is currently experimental and should not be run as a + # privileged user. Thus, it is not included in the initrd. + + }; +} |