Merge pull request #6272 from NixOS/types-path-better-error

types.nix: better error message for non-paths

Changed files
+3 -2
lib
nixos
modules
+2 -1
lib/types.nix
···
path = mkOptionType {
name = "path";
# Hacky: there is no ‘isPath’ primop.
-
check = x: builtins.substring 0 1 (toString x) == "/";
+
# need to check isString first because otherwise toString throws an error.
+
check = x: builtins.isString x && builtins.substring 0 1 (toString x) == "/";
merge = mergeOneOption;
};
+1 -1
nixos/modules/config/system-path.nix
···
environment = {
systemPackages = mkOption {
-
type = types.listOf types.path;
+
type = types.listOf types.package;
default = [];
example = literalExample "[ pkgs.firefox pkgs.thunderbird ]";
description = ''