diff --git a/user/config/kde/default.nix b/user/config/kde/default.nix index 4d16623..d090b6c 100644 --- a/user/config/kde/default.nix +++ b/user/config/kde/default.nix @@ -1,4 +1,5 @@ {...}: { + imports = [./user-places.nix]; xdg.configFile.arkrc.source = ./arkrc; xdg.configFile.kdeglobals.source = ./kdeglobals; xdg.configFile.kiorc.source = ./kiorc; diff --git a/user/config/kde/user-places.nix b/user/config/kde/user-places.nix new file mode 100644 index 0000000..9a84399 --- /dev/null +++ b/user/config/kde/user-places.nix @@ -0,0 +1,84 @@ +{ + config, + lib, + ... +}: { + u.bookmarks = let + home = config.home.homeDirectory; + in + lib.mkDefault [ + { + href = "file://${home}"; + name = "Home"; + icon = "user-home"; + } + { + href = "file://${home}/Desktop"; + name = "Desktop"; + icon = "user-desktop"; + } + { + href = "file://${home}/Downloads"; + name = "Downloads"; + icon = "folder-downloads"; + } + { + href = "file:///tmp"; + name = "tmp"; + icon = "folder-temp"; + } + { + href = "trash:/"; + name = "Trash"; + icon = "user-trash"; + } + { + href = "remote:/"; + name = "Network"; + icon = "folder-network"; + } + ]; + # dolphin complains if user-places.xbel is read-only + home.activation.user-places = let + path = "${config.xdg.dataHome}/user-places.xbel"; + bookmarks = + lib.strings.concatMapStrings ({ + href, + name, + icon, + }: '' + + ${name} + + + + + '') + config.u.bookmarks; + file-content = '' + + + + + + 4 + false + false + false + false + false + true + false + false + + + ${bookmarks} + + ''; + in + lib.hm.dag.entryAfter ["writeBoundary"] '' + [ ! -e "${path}" ] && cat > "${path}" <