49 lines
1.2 KiB
Nix
49 lines
1.2 KiB
Nix
{ config, lib, ... }:
|
|
|
|
let
|
|
cfg = config.xdg;
|
|
in
|
|
{
|
|
options.xdg = with lib; with types; {
|
|
relativeCacheHome = mkOption {
|
|
type = str;
|
|
default = ".cache";
|
|
description = "Relative path to directory holding application caches.";
|
|
};
|
|
|
|
cacheHome = mkOption {
|
|
default = "${config.home.homeDirectory}/${cfg.relativeCacheHome}";
|
|
};
|
|
|
|
relativeConfigHome = mkOption {
|
|
type = str;
|
|
default = ".config";
|
|
description = "Relative path to directory holding application configurations.";
|
|
};
|
|
|
|
configHome = mkOption {
|
|
default = "${config.home.homeDirectory}/${cfg.relativeConfigHome}";
|
|
};
|
|
|
|
relativeDataHome = mkOption {
|
|
type = str;
|
|
default = ".local/share";
|
|
description = "Relative path to directory holding application data.";
|
|
};
|
|
|
|
dataHome = mkOption {
|
|
default = "${config.home.homeDirectory}/${cfg.relativeDataHome}";
|
|
};
|
|
|
|
relativeStateHome = mkOption {
|
|
type = str;
|
|
default = ".local/state";
|
|
description = "Relative path to directory holding application states.";
|
|
};
|
|
|
|
stateHome = mkOption {
|
|
default = "${config.home.homeDirectory}/${cfg.relativeStateHome}";
|
|
};
|
|
};
|
|
}
|