diff --git a/modules/darwin/base/emacs/darwin-init.el b/modules/darwin/base/emacs/darwin-init.el new file mode 100644 index 00000000..476f31b4 --- /dev/null +++ b/modules/darwin/base/emacs/darwin-init.el @@ -0,0 +1,10 @@ +(use-package emacs-on-darwin + :ensure nil ;; Not a real package, but a place to collect global settings for darwin + :demand t + :config + (defun focus-frame () + (select-frame-set-input-focus (selected-frame))) + (if (daemonp) + (add-hook 'server-after-make-frame-hook #'focus-frame)) + ) + diff --git a/modules/darwin/base/emacs/default.nix b/modules/darwin/base/emacs/default.nix index bb2826a1..c09a4a5e 100644 --- a/modules/darwin/base/emacs/default.nix +++ b/modules/darwin/base/emacs/default.nix @@ -4,7 +4,10 @@ let username = config.chvp.username; in { - chvp.base.emacs.basePackage = pkgs.emacs; + chvp.base.emacs = { + basePackage = pkgs.emacs; + extraConfig = [ (builtins.readFile ./darwin-init.el) ]; + }; services.emacs = { enable = true; package = config.chvp.base.emacs.package; diff --git a/modules/nixos/base/emacs/default.nix b/modules/nixos/base/emacs/default.nix index b85eb8b8..8650c619 100644 --- a/modules/nixos/base/emacs/default.nix +++ b/modules/nixos/base/emacs/default.nix @@ -6,6 +6,7 @@ in { chvp.base.emacs = { basePackage = pkgs.emacs-pgtk; + extraConfig = [ (builtins.readFile ./linux-init.el) ]; }; home-manager.users.${username} = { ... }: { services.emacs = {