diff --git a/home-manager/default.nix b/home-manager/default.nix index b9be937..1fd4875 100644 --- a/home-manager/default.nix +++ b/home-manager/default.nix @@ -5,10 +5,7 @@ home.stateVersion = "21.11"; - imports = [ ./shell ./wayland ./password.nix ./email.nix ]; - - xdg.enable = true; - xdg.userDirs.enable = true; + imports = [ ./shell ./wayland ./xdg.nix ./password.nix ./email.nix ]; programs.git = { enable = true; diff --git a/home-manager/xdg.nix b/home-manager/xdg.nix new file mode 100644 index 0000000..17ab3a2 --- /dev/null +++ b/home-manager/xdg.nix @@ -0,0 +1,24 @@ +{ pkgs, ... }: +let + org-protocol = pkgs.writeTextDir + "/share/applications/org-protocol.desktop" + '' + [Desktop Entry] + Name=Org-Protocol + Exec=emacsclient %u + Icon=emacs-icon + Type=Application + Terminal=false + MimeType=x-scheme-handler/org-protocol + ''; +in { + xdg.enable = true; + xdg.userDirs.enable = true; + + # Org Roam Protocol + home.packages = [ org-protocol ]; + xdg.mimeApps = { + enable = true; + defaultApplications."x-scheme-handler/org-protocol" = [ "org-protocol.desktop" ]; + }; +}