aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2026-04-14 17:08:53 +0200
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2026-04-14 17:08:53 +0200
commit89908c69b7819c7c50cdfa7219d9ef77edfdd65e (patch)
tree55c77dab162a921dce2ba1ac468318c6a39b8b94
parentmodules/atuin: Use the daemon (diff)
downloadnixos-config-89908c69b7819c7c50cdfa7219d9ef77edfdd65e.zip
modules/xdg: Move the rest of the xdg config here
-rw-r--r--modules/by-name/xd/xdg/module.nix80
-rw-r--r--modules/home.legacy/default.nix35
2 files changed, 56 insertions, 59 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 = [
""
diff --git a/modules/home.legacy/default.nix b/modules/home.legacy/default.nix
index 8fb209f3..7cc9bb45 100644
--- a/modules/home.legacy/default.nix
+++ b/modules/home.legacy/default.nix
@@ -7,17 +7,7 @@
#
# You should have received a copy of the License along with this program.
# If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
-{config, ...}: let
- inherit (config.home) homeDirectory;
-
- # xdg
- configHome = "${homeDirectory}/.config";
- dataHome = "${homeDirectory}/.local/share";
- stateHome = "${homeDirectory}/.local/state";
- cacheHome = "${homeDirectory}/.cache";
- binHome = "${homeDirectory}/.local/bin";
- # TODO: add XDG_RUNTIME_DIR
-in {
+{...}: {
imports = [
./conf
./files
@@ -26,27 +16,4 @@ in {
# I don't know what this does, but I've seen it a lot online, so it should be good, right?
programs.home-manager.enable = true;
-
- xdg = {
- enable = true;
- inherit configHome dataHome stateHome cacheHome; #binHome; # TODO: add binHome, when the standard is extended
-
- /*
- TODO: add this
- desktopEntries = {};
- */
-
- userDirs = {
- enable = true;
- createDirectories = true;
- desktop = null;
- documents = "${homeDirectory}/documents/general";
- download = "/tmp/download";
- music = "${homeDirectory}/media/music";
- pictures = "${homeDirectory}/media/pictures";
- videos = "${homeDirectory}/media/videos";
- templates = "${homeDirectory}/media/templates";
- publicShare = "${homeDirectory}/media/public";
- };
- };
}