From c52c7f314ccadcc2fcd91e28c8fd1b88f6d5ce0c Mon Sep 17 00:00:00 2001 From: Benedikt Peetz Date: Fri, 18 Oct 2024 17:07:46 +0200 Subject: refactor(modules): Move all system modules to `by-name` From now on all modules should be added to the new `by-name` directory. This should help remove the (superficial and utterly useless) distinction between `home-manager` and `NixOS` modules. --- modules/by-name/xd/xdg/module.nix | 58 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 modules/by-name/xd/xdg/module.nix (limited to 'modules/by-name/xd/xdg/module.nix') diff --git a/modules/by-name/xd/xdg/module.nix b/modules/by-name/xd/xdg/module.nix new file mode 100644 index 00000000..5140a832 --- /dev/null +++ b/modules/by-name/xd/xdg/module.nix @@ -0,0 +1,58 @@ +{ + pkgs, + nixpkgs_open_prs, + sysLib, + system, + ... +}: let + pkgs_tfc = nixpkgs_open_prs.nixpkgs-tfc.legacyPackages."${system}"; +in { + services.dbus.enable = true; + xdg = { + portal = { + enable = true; + termfilechooser = { + enable = true; + logLevel = "TRACE"; + package = pkgs_tfc.xdg-desktop-portal-termfilechooser; + settings = { + filechooser = { + default_dir = "/tmp"; + cmd = "${sysLib.writeShellScript { + src = ./scripts/lf_wrapper.sh; + name = "lf_wrapper"; + keepPath = true; + dependencies = with pkgs; [ + lf + alacritty + bash + ]; + }}/bin/lf_wrapper"; + }; + }; + }; + wlr = { + enable = true; + }; + config = { + common = { + # NOTE: The next entry is supposedly needed for gtk based apps <2023-08-31> + default = ["wlr" "gtk"]; + "org.freedesktop.impl.portal.FileChooser" = ["termfilechooser"]; + }; + + # TODO: Also activate, when on another wlr-based compositor <2023-11-25> + river = { + default = ["wlr" "gtk"]; + "org.freedesktop.impl.portal.FileChooser" = ["termfilechooser"]; + }; + }; + extraPortals = [ + pkgs.xdg-desktop-portal-gtk + pkgs.xdg-desktop-portal-wlr + pkgs_tfc.xdg-desktop-portal-termfilechooser + ]; + }; + }; + # TODO: mime = {}; +} -- cgit 1.4.1