home-manager/tests/modules/services/emacs/emacs-default-editor.nix
rcerc f3be3cda6a
services/emacs: add option to set emacsclient as the default editor (#2545)
* services/emacs: add `defaultEditor` option

Sets `emacsclient` as the default editor using the `EDITOR` environment variable.
2022-01-10 02:17:13 -05:00

24 lines
508 B
Nix

{ config, lib, pkgs, ... }:
{
nixpkgs.overlays = [
(self: super: {
# Use `cat` instead of `echo` to prevent arguments from being
# interpreted as an option.
emacs = pkgs.writeShellScriptBin "emacsclient"
''${pkgs.coreutils}/bin/cat <<< "$*"'';
})
];
services.emacs = {
defaultEditor = true;
enable = true;
};
nmt.script = "source ${
pkgs.substituteAll {
inherit (pkgs) coreutils;
src = ./emacs-default-editor.sh;
}
}";
}