diff --git a/nixos/modules/installer/cd-dvd/installation-cd-base.nix b/nixos/modules/installer/cd-dvd/installation-cd-base.nix index 4896eee29084..fde9989e1f97 100644 --- a/nixos/modules/installer/cd-dvd/installation-cd-base.nix +++ b/nixos/modules/installer/cd-dvd/installation-cd-base.nix @@ -45,9 +45,6 @@ with lib; # Get a console as soon as the initrd loads fbcon on EFI boot. boot.initrd.kernelModules = [ "fbcon" ]; - # Add support for cow filesystems and their utilities - boot.supportedFilesystems = [ "zfs" "btrfs" ]; - # Configure host id for ZFS to work networking.hostId = "8425e349"; diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 5451ef821425..1a9cce76ee91 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -430,6 +430,7 @@ ./tasks/filesystems/f2fs.nix ./tasks/filesystems/jfs.nix ./tasks/filesystems/nfs.nix + ./tasks/filesystems/ntfs.nix ./tasks/filesystems/reiserfs.nix ./tasks/filesystems/unionfs-fuse.nix ./tasks/filesystems/vfat.nix diff --git a/nixos/modules/profiles/base.nix b/nixos/modules/profiles/base.nix index 457642d82f71..3bcc9441f4ef 100644 --- a/nixos/modules/profiles/base.nix +++ b/nixos/modules/profiles/base.nix @@ -50,6 +50,6 @@ ]; # Include support for various filesystems. - boot.supportedFilesystems = [ "btrfs" "reiserfs" "vfat" "f2fs" ]; + boot.supportedFilesystems = [ "btrfs" "reiserfs" "vfat" "f2fs" "zfs" "ntfs" ]; } diff --git a/nixos/modules/tasks/filesystems.nix b/nixos/modules/tasks/filesystems.nix index c6f2f072352e..ce8d6079faac 100644 --- a/nixos/modules/tasks/filesystems.nix +++ b/nixos/modules/tasks/filesystems.nix @@ -137,9 +137,7 @@ in # Add the mount helpers to the system path so that `mount' can find them. system.fsPackages = [ pkgs.dosfstools ]; - environment.systemPackages = - [ pkgs.ntfs3g pkgs.fuse ] - ++ config.system.fsPackages; + environment.systemPackages = [ pkgs.fuse ] ++ config.system.fsPackages; environment.etc.fstab.text = let diff --git a/nixos/modules/tasks/filesystems/ntfs.nix b/nixos/modules/tasks/filesystems/ntfs.nix new file mode 100644 index 000000000000..32cf07098dcc --- /dev/null +++ b/nixos/modules/tasks/filesystems/ntfs.nix @@ -0,0 +1,16 @@ +{ config, lib, pkgs, ... }: + +with lib; + +{ + config = mkIf (any (fs: fs == "ntfs" || fs == "ntfs-3g") config.boot.supportedFilesystems) { + + system.fsPackages = [ pkgs.ntfs3g ]; + + boot.initrd.kernelModules = mkIf inInitrd [ "jfs" ]; + + boot.initrd.extraUtilsCommands = mkIf inInitrd '' + copy_bin_and_libs ${pkgs.jfsutils}/sbin/fsck.jfs + ''; + }; +}