From 84e0866c19615e168303c66305209efd08330699 Mon Sep 17 00:00:00 2001 From: hektor Date: Sun, 1 Nov 2026 12:22:42 +0100 Subject: [PATCH] feat(xdg): declare 'xdg' module --- home/hosts/andromache/default.nix | 4 +--- home/hosts/astyanax/default.nix | 6 +----- home/hosts/work/default.nix | 15 ++++++--------- home/modules/xdg/default.nix | 28 ++++++++++++++++++++++++++++ 4 files changed, 36 insertions(+), 17 deletions(-) create mode 100644 home/modules/xdg/default.nix diff --git a/home/hosts/andromache/default.nix b/home/hosts/andromache/default.nix index 68f4ac8..050e904 100644 --- a/home/hosts/andromache/default.nix +++ b/home/hosts/andromache/default.nix @@ -16,9 +16,6 @@ homeDirectory = "/home/${config.host.username}"; }; - xdg.userDirs.createDirectories = false; - xdg.userDirs.download = "${config.home.homeDirectory}/dl"; - modules."3d".printing.enable = true; ai-tools = { claude-code.enable = true; @@ -64,6 +61,7 @@ taskwarrior.enable = true; terminal.enable = true; torrenting.enable = true; + my.xdg.enable = true; my.yubikey.enable = true; zk.enable = true; diff --git a/home/hosts/astyanax/default.nix b/home/hosts/astyanax/default.nix index fec3d9b..229a899 100644 --- a/home/hosts/astyanax/default.nix +++ b/home/hosts/astyanax/default.nix @@ -15,11 +15,6 @@ homeDirectory = "/home/${config.host.username}"; }; - xdg.userDirs = { - enable = false; - createDirectories = false; - }; - modules."3d".printing.enable = true; ai-tools = { claude-code.enable = true; @@ -44,6 +39,7 @@ keepassxc.enable = true; music.enable = true; newsboat.enable = true; + my.xdg.enable = true; my.yubikey.enable = true; nfc.enable = true; nvim.enable = true; diff --git a/home/hosts/work/default.nix b/home/hosts/work/default.nix index f6852de..0a7adb0 100644 --- a/home/hosts/work/default.nix +++ b/home/hosts/work/default.nix @@ -16,13 +16,7 @@ nixpkgs.config.allowUnfree = true; - xdg = { - systemDirs.config = [ "/etc/xdg" ]; - userDirs = { - createDirectories = false; - download = "${config.home.homeDirectory}/dl"; - }; - }; + xdg.systemDirs.config = [ "/etc/xdg" ]; home = { stateVersion = "25.05"; @@ -70,8 +64,11 @@ k8s.enable = true; keepassxc.enable = true; music.enable = true; - my.dconf.enable = true; - my.stylix.enable = true; + my = { + dconf.enable = true; + stylix.enable = true; + xdg.enable = true; + }; nvim = { enable = true; colorscheme = "vscode"; diff --git a/home/modules/xdg/default.nix b/home/modules/xdg/default.nix new file mode 100644 index 0000000..f9697ec --- /dev/null +++ b/home/modules/xdg/default.nix @@ -0,0 +1,28 @@ +{ + config, + lib, + ... +}: + +let + inherit (config.home) homeDirectory; +in +{ + options.my.xdg.enable = lib.mkEnableOption "XDG user directories"; + + config = lib.mkIf config.my.xdg.enable { + xdg.userDirs = { + enable = true; + createDirectories = false; + download = "${homeDirectory}/dl"; + documents = "${homeDirectory}/doc"; + desktop = homeDirectory; + music = homeDirectory; + pictures = homeDirectory; + projects = homeDirectory; + publicShare = homeDirectory; + templates = homeDirectory; + videos = homeDirectory; + }; + }; +}