From 53d59b49ee888bada1b24bbe15865012f9ce9809 Mon Sep 17 00:00:00 2001 From: qaristote Date: Tue, 14 Mar 2023 17:44:59 +0100 Subject: home: emacs: correctly wrap emacs with dependencies --- modules/home-manager/personal/programs/emacs.nix | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'modules/home-manager/personal/programs') diff --git a/modules/home-manager/personal/programs/emacs.nix b/modules/home-manager/personal/programs/emacs.nix index ac87ef6..da0c07f 100644 --- a/modules/home-manager/personal/programs/emacs.nix +++ b/modules/home-manager/personal/programs/emacs.nix @@ -21,10 +21,23 @@ let }) { emacs = cfg.package; }; in { config = lib.mkIf cfg.enable { + services.emacs = { enable = lib.mkDefault true; client.enable = lib.mkDefault true; startWithUserSession = lib.mkDefault true; + package = let emacs = config.programs.emacs.finalPackage; in + pkgs.runCommand "emacsWrapped" { + nativeBuildInputs = with pkgs; [ makeWrapper ]; + } '' + mkdir "$out" + ln -s ${emacs}/share "$out" + for binary in ${emacs}/bin/* + do + makeWrapper "$binary" "$out"/bin/$(basename "$binary")\ + --prefix PATH : ${lib.makeBinPath (with pkgs; [ gnutar gcc ])} + done + ''; }; home.sessionVariables.EDITOR = "emacsclient --tty"; home.shellAliases.editor = "emacsclient --create-frame"; @@ -50,9 +63,6 @@ in { OnCalendar = "daily"; }; Install = { WantedBy = [ "default.target" ]; }; - }) // { - services.emacs.Service.Environment = with pkgs; - [ "PATH=${gnutar}/bin:${gcc}/bin:$PATH" ]; - }; + }); }; } -- cgit v1.2.3