2024-07-31 13:47:48 +00:00
|
|
|
{ lib, ... }:
|
|
|
|
|
|
|
|
{
|
|
|
|
options.state =
|
|
|
|
let
|
|
|
|
pathsSubmodule = { lib, ... }: {
|
|
|
|
options = {
|
|
|
|
paths = lib.mkOption {
|
2024-09-13 09:13:16 +00:00
|
|
|
type = with lib.types; attrsOf (either path (listOf str));
|
2024-07-31 13:47:48 +00:00
|
|
|
default = { };
|
|
|
|
description = ''
|
|
|
|
Set of paths to hold as a single source of truth for path-related
|
|
|
|
settings throughout the whole home environment.
|
|
|
|
'';
|
|
|
|
example = lib.literalExpression ''
|
|
|
|
{
|
|
|
|
ignoreDirectories = [ "''${config.home.homeDirectory}/Nodes" ];
|
|
|
|
ignorePaths = [ ".gitignore" "node_modules" "result" ];
|
|
|
|
}
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
in lib.mkOption {
|
2024-08-02 03:55:21 +00:00
|
|
|
type = lib.types.submodule pathsSubmodule;
|
2024-07-31 13:47:48 +00:00
|
|
|
};
|
|
|
|
}
|