Handle multiple emacs config files
This commit is contained in:
parent
76718a4bf4
commit
489239b2ed
2 changed files with 22 additions and 6 deletions
|
@ -17,7 +17,7 @@ Last export: {{{modification-time(%Y-%m-%d %H:%M)}}}
|
||||||
|
|
||||||
This ends up in =early-init.el=.
|
This ends up in =early-init.el=.
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp :tangle early-init.el
|
||||||
;; -*- lexical-binding: t; -*-
|
;; -*- lexical-binding: t; -*-
|
||||||
;; Prevent package.el from loading packages until we're ready for it
|
;; Prevent package.el from loading packages until we're ready for it
|
||||||
(setq package-enable-at-startup nil)
|
(setq package-enable-at-startup nil)
|
||||||
|
@ -37,6 +37,17 @@ This ends up in =early-init.el=.
|
||||||
;; compiled ahead-of-time when they are installed and site files are compiled
|
;; compiled ahead-of-time when they are installed and site files are compiled
|
||||||
;; when gccemacs is installed.
|
;; when gccemacs is installed.
|
||||||
(setq comp-deferred-compilation nil)
|
(setq comp-deferred-compilation nil)
|
||||||
|
|
||||||
|
;; This should fix input lag by ~80% when using PGTK
|
||||||
|
(setq-default pgtk-wait-for-event-timeout 0)
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
** Enable lexical binding
|
||||||
|
|
||||||
|
Setting =lexical-binding= to =t= can improve startup time. This has to be first!
|
||||||
|
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
;; -*- lexical-binding: t; -*-
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** Personal variables
|
** Personal variables
|
||||||
|
@ -1136,6 +1147,7 @@ Rust support with [[https://github.com/rust-lang/rust-mode][rust-mode]].
|
||||||
:after lsp-mode
|
:after lsp-mode
|
||||||
:hook
|
:hook
|
||||||
(rust-mode . lsp-deferred)
|
(rust-mode . lsp-deferred)
|
||||||
|
(rust-ts-mode . lsp-deferred)
|
||||||
(before-save . lsp-format-buffer)
|
(before-save . lsp-format-buffer)
|
||||||
(before-save . lsp-organize-imports)
|
(before-save . lsp-organize-imports)
|
||||||
:init
|
:init
|
||||||
|
|
|
@ -6,14 +6,16 @@
|
||||||
with lib; let
|
with lib; let
|
||||||
cfg = config.eboskma.programs.emacs;
|
cfg = config.eboskma.programs.emacs;
|
||||||
|
|
||||||
|
tangleEmacsConfig = initFile: pkgs.runCommand "tangled-emacs-${initFile}" { } ''
|
||||||
|
cp ${./config.org} ./config.org
|
||||||
|
${cfg.package}/bin/emacs --batch --quick --load org ./config.org --funcall org-babel-tangle
|
||||||
|
cp ${initFile} $out
|
||||||
|
'';
|
||||||
|
|
||||||
emacsWithPackages = pkgs.emacsWithPackagesFromUsePackage {
|
emacsWithPackages = pkgs.emacsWithPackagesFromUsePackage {
|
||||||
config =
|
config =
|
||||||
let
|
let
|
||||||
tangledOrgConfig = pkgs.runCommand "tangled-emacs-config" { } ''
|
tangledOrgConfig = tangleEmacsConfig "init.el";
|
||||||
cp ${./config.org} ./config.org
|
|
||||||
${cfg.package}/bin/emacs --batch -Q ./config.org -f org-babel-tangle
|
|
||||||
cp init.el $out
|
|
||||||
'';
|
|
||||||
in
|
in
|
||||||
builtins.readFile tangledOrgConfig;
|
builtins.readFile tangledOrgConfig;
|
||||||
|
|
||||||
|
@ -67,6 +69,8 @@ in
|
||||||
socketActivation.enable = true;
|
socketActivation.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
home.file."emacs.d/early-init.el".source = tangleEmacsConfig "early-init.el";
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
(texlive.combine {
|
(texlive.combine {
|
||||||
inherit (texlive) scheme-small wrapfig ulem capt-of;
|
inherit (texlive) scheme-small wrapfig ulem capt-of;
|
||||||
|
|
Loading…
Reference in a new issue