aboutsummaryrefslogtreecommitdiffstats
path: root/modules/by-name
diff options
context:
space:
mode:
Diffstat (limited to 'modules/by-name')
-rw-r--r--modules/by-name/xd/xdg/module.nix80
1 files changed, 55 insertions, 25 deletions
diff --git a/modules/by-name/xd/xdg/module.nix b/modules/by-name/xd/xdg/module.nix
index 9ff71ca0..108e0179 100644
--- a/modules/by-name/xd/xdg/module.nix
+++ b/modules/by-name/xd/xdg/module.nix
@@ -47,36 +47,63 @@ in {
};
config = lib.mkIf cfg.enable {
- home-manager.users.soispha = {
- xdg = {
- configFile."xdg-desktop-portal-termfilechooser/config".source = tfcConfigFile;
+ home-manager.users.soispha.xdg = let
+ inherit (config.home-manager.users.soispha.home) homeDirectory;
+ in {
+ enable = true;
- desktopEntries = {
- url-handler = {
- name = "url-handler";
- genericName = "Web Browser";
- exec = "${lib.getExe url-handler} %u";
- terminal = false;
- categories = [
- "Application"
- "Network"
- "WebBrowser"
- ];
- mimeType = [
- "text/html"
- "text/xml"
- "x-scheme-handler/http"
- "x-scheme-handler/https"
- "x-scheme-handler/about"
- "x-scheme-handler/unknown"
- ];
- };
+ configFile."xdg-desktop-portal-termfilechooser/config".source = tfcConfigFile;
+
+ configHome = "${homeDirectory}/.config";
+ dataHome = "${homeDirectory}/.local/share";
+ stateHome = "${homeDirectory}/.local/state";
+ cacheHome = "${homeDirectory}/.cache";
+
+ userDirs = {
+ enable = true;
+
+ # TODO: We shouldn't build on these variables to exist, but currently my config
+ # might expect them. So let's just keep it. See here for a full explanation:
+ # https://github.com/nix-community/home-manager/pull/7937#issuecomment-3372232126
+ # <2026-04-14>
+ setSessionVariables = true;
+
+ createDirectories = true;
+
+ documents = "${homeDirectory}/documents/general";
+ download = "/tmp/download";
+ music = "${homeDirectory}/media/music";
+ pictures = "${homeDirectory}/media/pictures";
+ videos = "${homeDirectory}/media/videos";
+
+ templates = null;
+ publicShare = null;
+ desktop = null;
+ };
+
+ desktopEntries = {
+ url-handler = {
+ name = "url-handler";
+ genericName = "Web Browser";
+ exec = "${lib.getExe url-handler} %u";
+ terminal = false;
+ categories = [
+ "Application"
+ "Network"
+ "WebBrowser"
+ ];
+ mimeType = [
+ "text/html"
+ "text/xml"
+ "x-scheme-handler/http"
+ "x-scheme-handler/https"
+ "x-scheme-handler/about"
+ "x-scheme-handler/unknown"
+ ];
};
};
};
- services.dbus.enable = true;
-
xdg = {
mime = {
enable = true;
@@ -98,6 +125,7 @@ in {
wlr = {
enable = true;
};
+
config = {
common = {
default = ["wlr"];
@@ -118,6 +146,8 @@ in {
};
};
+ services.dbus.enable = true;
+
systemd.user.services.xdg-desktop-portal-termfilechooser = {
serviceConfig.ExecStart = [
""