all repos — nixfiles @ 5c31e2ef01c78e4c3201fb0464891963f097ebeb

System and user configuration, managed by nix and home-manager

emacs: generate PATH at build time

Alan Pearce
commit

5c31e2ef01c78e4c3201fb0464891963f097ebeb

parent

1b4e4f88abbbf1ed908ce511b36eb9769a8c0c41

2 files changed, 11 insertions(+), 17 deletions(-)

jump to
M user/emacs/init.eluser/emacs/init.el
@@ -25,23 +25,6 @@ (require 'use-package)
(setq use-package-expand-minimally t)) (setq use-package-always-demand (daemonp)) -(defvar ap/path-configured nil) -(when (and (eq system-type 'darwin) - (not ap/path-configured)) - (setq exec-path - (delete-dups - (append - (parse-colon-path - (setenv "PATH" - (elt (split-string-and-unquote - (with-output-to-string - (with-current-buffer standard-output - (call-process "/usr/libexec/path_helper" nil t nil "-s"))) - "[=;]") - 1))) - exec-path)) - ap/path-configured t)) - ;;; Customize (setq custom-file (expand-file-name "custom.el" user-emacs-directory))
M user/settings/emacs.nixuser/settings/emacs.nix
@@ -6,6 +6,11 @@ }:
let inherit (pkgs) stdenv; + darwinPath = pkgs.runCommandLocal "path_helper " { } '' + eval $(/usr/libexec/path_helper -s) + echo -n $PATH > $out + ''; + editorScript = pkgs.writeScriptBin "edit" '' #!${pkgs.runtimeShell} if [ -z "$1" ]; then
@@ -151,6 +156,12 @@ which-key
yaml-mode yasnippet ]); + extraConfig = '' + (with-eval-after-load 'editorconfig + (setq editorconfig-exec-path "${pkgs.editorconfig-core-c}/bin/editorconfig")) + '' + lib.optionalString stdenv.isDarwin '' + (setq exec-path (parse-colon-path (setenv "PATH" "${pkgs.lib.readFile darwinPath}"))) + ''; }; home.packages = [ editorScript