43 lines
1.2 KiB
Nix
43 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}"; };
|
|
};
|
|
}
|