23 static std::filesystem::path
get() noexcept {
24 std::filesystem::path dir;
26 if (
const auto homeDir = std::getenv(
"HOME")) {
28 if (std::filesystem::exists(dir))
32 dir = ::getpwuid(::getuid())->pw_dir;
33 if (std::filesystem::exists(dir))
44 if (
const auto xdgCacheDir = std::getenv(
"XDG_CACHE_HOME"))
47 const auto home_dir =
get();
51 return std::filesystem::path(home_dir) /
".cache";
59 static std::filesystem::path
createCacheDir(
const std::filesystem::path &subdir) noexcept {
66 std::filesystem::create_directories(cache, ec);
Helpers for $HOME directory.
Definition: HomeDir.h:15
static std::filesystem::path createCacheDir(const std::filesystem::path &subdir) noexcept
Creates (if not existing) and returns getCacheDir() / subdir.
Definition: HomeDir.h:59
static std::filesystem::path getCacheDir() noexcept
Obtains directory for caching.
Definition: HomeDir.h:43