A Github-free mirror of https://github.com/xdg-net/Xdg.Directories
https://xdg-net.github.io/Xdg.Directories
7bea5a31e0
Some checks failed
continuous-integration/drone/push Build is failing
Bumps [actions/cache](https://github.com/actions/cache) from 3 to 4. - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](https://github.com/actions/cache/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/cache dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> |
||
---|---|---|
.github | ||
src | ||
.drone.yml | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
GNUmakefile | ||
LICENSE | ||
README.md | ||
Xdg.Net.sln |
Xdg.Net
A small (the .dll is only 11 KB), fast and portable (Completely supports .NET Standard 2.0 and even NativeAOT!) .NET implementation of the XDG Base Directory Specification and XDG user directories for Windows, MacOS and Linux/FreeBSD.
Default Locations
If any of the respective XDG environment are specified, the variable will always be returned. Otherwise, the value depends on the operating system.
Inspiration is taken from the Go implementation for Windows and MacOS directories.
Base Directory
Environment Variable | Windows | macOS | Linux/FreeBSD |
---|---|---|---|
XDG_DATA_HOME |
%LOCALAPPDATA% |
$HOME/Library/Application Support |
$HOME/.local/share |
XDG_CONFIG_HOME |
%LOCALAPPDATA% |
$HOME/Library/Application Support |
$HOME/.config |
XDG_STATE_HOME |
%LOCALAPPDATA% |
$HOME/Library/Application Support |
$HOME/.local/state |
XDG_BIN_HOME |
null |
null |
$HOME/.local/bin |
XDG_DATA_DIRS |
%APPDATA%:%PROGRAMDATA% |
/Library/Application Support |
/usr/local/share:/usr/share |
XDG_CONFIG_DIRS |
%LOCALAPPDATA% |
$HOME/Library/Preferences:/Library/Application Support:/Library/Preferences |
/etc/xdg |
XDG_CACHE_HOME |
%LOCALAPPDATA% |
$HOME/Library/Application Support |
$HOME/.config |
XDG_RUNTIME_HOME |
%LOCALAPPDATA% |
$HOME/Library/Application Support |
/run/user/$UID |
User Directory
User directories on Windows use Known Folders.
Environment Variable | Windows | macOS | Linux/FreeBSD |
---|---|---|---|
XDG_DESKTOP_DIR |
Desktop |
$HOME/Desktop |
$HOME/Desktop |
XDG_DOWNLOAD_DIR |
null |
$HOME/Downloads |
$HOME/Downloads |
XDG_DOCUMENTS_DIR |
My Documents |
$HOME/Documents |
$HOME/Documents |
XDG_MUSIC_DIR |
My Music |
$HOME/Music |
$HOME/Music |
XDG_PICTURES_DIRS |
My Pictures |
$HOME/Pictures |
$HOME/Pictures |
XDG_VIDEOS_DIR |
My Videos |
$HOME/Movies |
$HOME/Videos |
XDG_TEMPLATES_DIR |
Templates |
$HOME/Templates |
$HOME/Templates |
XDG_PUBLICSHARE_DIR |
%PUBLIC% |
$HOME/Public |
$HOME/Public |
Extra Directories
Windows | macOS | Linux/FreeBSD | |
---|---|---|---|
Home | %USERPROFILE% |
$HOME |
$HOME |
Packaging
Stable releases are available on NuGet, and preview releases are uploaded to both GitHub packages (need GitHub account to download) and Gitea packages (no login required).
dotnet add package Xdg.Directories