Commit 525145e

HPCesia <me@hpcesia.com>
2026-07-24 11:07:16
Add Gnome bookmark for XDG user dirs
1 parent 197df00
Changed files (1)
modules
desktop
modules/desktop/xdg.nix
@@ -1,4 +1,4 @@
-{
+{lib, ...}: {
   den.aspects.desktop.xdg-user-dirs = {
     persistHome = {config, ...}: {
       directories = with config.xdg.userDirs; [
@@ -25,26 +25,45 @@
       };
     };
 
-    homeManager = {config, ...}: {
-      xdg.userDirs = {
-        enable = true;
-        createDirectories = true;
-        setSessionVariables = true;
-
+    homeManager = {
+      config,
+      pkgs,
+      ...
+    }: let
+      commonUserDirs = {
         desktop = "${config.home.homeDirectory}/Desktop";
         documents = "${config.home.homeDirectory}/Documents";
         download = "${config.home.homeDirectory}/Downloads";
         music = "${config.home.homeDirectory}/Musics";
         pictures = "${config.home.homeDirectory}/Pictures";
         projects = "${config.home.homeDirectory}/Development";
-        publicShare = "${config.home.homeDirectory}/Share";
-        templates = "${config.home.homeDirectory}/Templates";
         videos = "${config.home.homeDirectory}/Videos";
-
-        extraConfig = {
-          SCREENSHOTS = "${config.xdg.userDirs.pictures}/Screenshots";
-        };
       };
+      bookmarks =
+        pkgs.writeText "bookmarks"
+        (lib.concatMapStringsSep "\n"
+          (d: "file:///${d} ${lib.lists.last (lib.path.subpath.components (lib.path.splitRoot (/. + d)).subpath)}")
+          (lib.attrValues commonUserDirs));
+    in {
+      xdg.userDirs =
+        {
+          enable = true;
+          createDirectories = true;
+          setSessionVariables = true;
+
+          publicShare = "${config.home.homeDirectory}/Share";
+          templates = "${config.home.homeDirectory}/Templates";
+
+          extraConfig = {
+            SCREENSHOTS = "${config.xdg.userDirs.pictures}/Screenshots";
+          };
+        }
+        // commonUserDirs;
+
+      systemd.user.tmpfiles.rules = [
+        "r ${config.xdg.configHome}/gtk-3.0/bookmarks"
+        "C ${config.xdg.configHome}/gtk-3.0/bookmarks 0644 - - - ${bookmarks}"
+      ];
     };
   };
 }