Commit aa8112c847

fifty-six <ybham6@gmail.com>
2022-01-19 22:09:48
std/fs: Support `XDG_DATA_HOME`
This is generally used for user-specific data on linux, with the default being ~/.local/share
1 parent 3d52a32
Changed files (1)
lib/std/fs/get_app_data_dir.zig
@@ -45,6 +45,10 @@ pub fn getAppDataDir(allocator: mem.Allocator, appname: []const u8) GetAppDataDi
             return fs.path.join(allocator, &[_][]const u8{ home_dir, "Library", "Application Support", appname });
         },
         .linux, .freebsd, .netbsd, .dragonfly, .openbsd, .solaris => {
+            if (os.getenv("XDG_DATA_HOME")) |xdg| {
+                return fs.path.join(allocator, &[_][]const u8{ xdg, appname });
+            }
+
             const home_dir = os.getenv("HOME") orelse {
                 // TODO look in /etc/passwd
                 return error.AppDataDirUnavailable;