about summary refs log tree commit diff
path: root/modules/darwin/common
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--modules/darwin/common/default.nix1
-rw-r--r--modules/darwin/common/xdg.nix25
2 files changed, 26 insertions, 0 deletions
diff --git a/modules/darwin/common/default.nix b/modules/darwin/common/default.nix
index b03e431..4d4824f 100644
--- a/modules/darwin/common/default.nix
+++ b/modules/darwin/common/default.nix
@@ -7,5 +7,6 @@ _: {
     ./secrets.nix
     ./shell.nix
     ./users.nix
+    ./xdg.nix
   ];
 }
diff --git a/modules/darwin/common/xdg.nix b/modules/darwin/common/xdg.nix
new file mode 100644
index 0000000..9e798ad
--- /dev/null
+++ b/modules/darwin/common/xdg.nix
@@ -0,0 +1,25 @@
+{
+  config,
+  lib,
+  ...
+}:
+with lib; let
+  cfg = config.nixfiles.modules.common.xdg;
+in {
+  hm.home.sessionVariables = with cfg;
+    {
+      XDG_CACHE_HOME = cacheHome;
+      XDG_CONFIG_HOME = configHome;
+      XDG_DATA_HOME = dataHome;
+      XDG_STATE_HOME = stateHome;
+    }
+    // (with userDirs; {
+      XDG_DOCUMENTS_DIR = documents;
+      XDG_DOWNLOAD_DIR = download;
+      XDG_MUSIC_DIR = music;
+      XDG_PICTURES_DIR = pictures;
+      XDG_PUBLICSHARE_DIR = publicShare;
+      XDG_TEMPLATES_DIR = templates;
+      XDG_VIDEOS_DIR = videos;
+    });
+}

Consider giving Nix/NixOS a try! <3