aboutsummaryrefslogtreecommitdiffstats
path: root/hm/soispha/conf/xdg/default.nix
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--hm/soispha/conf/xdg/default.nix52
1 files changed, 52 insertions, 0 deletions
diff --git a/hm/soispha/conf/xdg/default.nix b/hm/soispha/conf/xdg/default.nix
new file mode 100644
index 00000000..d18377c0
--- /dev/null
+++ b/hm/soispha/conf/xdg/default.nix
@@ -0,0 +1,52 @@
+{
+ sysLib,
+ pkgs,
+ config,
+ ...
+}: let
+ url_handler = sysLib.writeShellScriptWithLibraryAndKeepPath {
+ name = "url_handler";
+ src = ./url_handler;
+ # Naming dependencies for this will be difficult, as it depend on overridden packages.
+ dependencies = with pkgs; [
+ rofi
+ libnotify
+ ];
+ replacementStrings = {
+ ALL_PROJECTS_PIPE = "${config.soispha.taskwarrior.projects.projects_pipe}";
+ };
+ };
+in {
+ xdg.mimeApps = {
+ enable = true;
+ desktopEntries = {
+ url_handler = {
+ name = "url_handler";
+ genericName = "Web Browser";
+ exec = "${url_handler}/bin/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"
+ ];
+ };
+ };
+ defaultApplications = {
+ "text/html" = ["url_handler.desktop"];
+ "text/xml" = ["url_handler.desktop"];
+ "x-scheme-handler/http" = ["url_handler.desktop"];
+ "x-scheme-handler/https" = ["url_handler.desktop"];
+ "x-scheme-handler/about" = ["url_handler.desktop"];
+ "x-scheme-handler/unknown" = ["url_handler.desktop"];
+ };
+ };
+}