diff --git a/users/crumb/programs/emacs.nix b/users/crumb/programs/emacs.nix index 51f7834..c5221b6 100755 --- a/users/crumb/programs/emacs.nix +++ b/users/crumb/programs/emacs.nix @@ -56,12 +56,24 @@ let done ''; }; + + emacsclient-or-emacs = pkgs.writeShellScriptBin "emacsclient-or-emacs" '' + emacsclient --alternate-editor=${emacsWrapper}/bin/emacs "$@" + ''; in { sydnix.impermanence.cache.directories = [ # Impermanence expects the path to be relative to ~. (lib.removePrefix config.home.homeDirectory straightBaseDir) ]; + # Set emacsclient as the default editor for the time being. + home.sessionVariables = + let e = "${emacsclient-or-emacs}/bin/emacsclient-or-emacs"; + in { + "EDITOR" = e; + "VISUAL" = e; + }; + home.file = let default = lib.removePrefix "${config.home.homeDirectory}/" @@ -74,6 +86,7 @@ in { home.packages = [ emacsWrapper + emacsclient-or-emacs ] ++ fontPackages; # There's probably a better place to put this, but the current setup demands @@ -85,5 +98,6 @@ in { enable = true; # Generate a desktop entry for emacsclient. client.enable = true; + package = emacsWrapper; }; }