diff --git a/home/misterio/features/emacs/default.nix b/home/misterio/features/emacs/default.nix index 387cfb21..2d8da60e 100644 --- a/home/misterio/features/emacs/default.nix +++ b/home/misterio/features/emacs/default.nix @@ -22,66 +22,7 @@ evil-surround ]; - extraConfig = /* elisp */ '' - (scroll-bar-mode -1) - (tool-bar-mode -1) - (tooltip-mode -1) - (set-fringe-mode 10) - (menu-bar-mode -1) - (set-face-attribute 'default nil :font "FiraCode Nerd Font" :height 120) - (setq visible-bell t) - (global-display-line-numbers-mode) - (setq display-line-numbers-type 'relative) - - (setq base16-theme-256-color-source "base16-shell") - (load-theme 'base16-${config.colorscheme.slug} t) - - (require 'nix-mode) - (add-to-list 'auto-mode-alist '("\\.nix\\'" . nix-mode)) - - (add-to-list 'auto-mode-alist '("\\.org\\'" . org-mode)) - (global-set-key "\C-cl" 'org-store-link) - (global-set-key "\C-ca" 'org-agenda) - (setq org-directory "~/Documents/Org") - (setq org-agenda-files (directory-files-recursively org-directory "\\.org$")) - - (require 'lsp-mode) - (add-hook 'nix-mode-hook #'lsp) - - (require 'which-key) - (which-key-mode) - - (require 'mmm-mode) - (setq mmm-global-mode 't) - - (mmm-add-classes - '((nix-block - :front " \/\* \\([a-zA-Z0-9_-]+\\) \*\/ '''[^']" - :back "''';" - ;; :save-matches 1 - ;; :delimiter-mode nil - ;; :match-submode identity - :submode org - ))) - (mmm-add-mode-ext-class 'nix-mode nil 'nix-block) - - - - (setq evil-want-keybinding nil) - (require 'evil) - (evil-mode 1) - (setq evil-jumps-across-buffers t) - - (require 'evil-org) - (add-hook 'org-mode-hook 'evil-org-mode) - (evil-org-set-key-theme '(navigation insert textobjects additional calendar)) - (require 'evil-org-agenda) - (evil-org-agenda-set-keys) - - (evil-collection-init) - - (global-evil-surround-mode 1) - ''; + extraConfig = builtins.readFile ./init.el; }; services.emacs = { enable = true; diff --git a/home/misterio/features/emacs/init.el b/home/misterio/features/emacs/init.el new file mode 100644 index 00000000..07c26997 --- /dev/null +++ b/home/misterio/features/emacs/init.el @@ -0,0 +1,58 @@ +(scroll-bar-mode -1) +(tool-bar-mode -1) +(tooltip-mode -1) +(set-fringe-mode 10) +(menu-bar-mode -1) +(set-face-attribute 'default nil :font "FiraCode Nerd Font" :height 120) +(setq visible-bell t) +(global-display-line-numbers-mode) +(setq display-line-numbers-type 'relative) + +(setq base16-theme-256-color-source "base16-shell") +(load-theme 'base16-${config.colorscheme.slug} t) + +(require 'nix-mode) +(add-to-list 'auto-mode-alist '("\\.nix\\'" . nix-mode)) + +(add-to-list 'auto-mode-alist '("\\.org\\'" . org-mode)) +(global-set-key "\C-cl" 'org-store-link) +(global-set-key "\C-ca" 'org-agenda) +(setq org-directory "~/Documents/Org") +(setq org-agenda-files (directory-files-recursively org-directory "\\.org$")) + +(require 'lsp-mode) +(add-hook 'nix-mode-hook #'lsp) + +(require 'which-key) +(which-key-mode) + +(require 'mmm-mode) +(setq mmm-global-mode 't) + +(mmm-add-classes +'((nix-block + :front " \/\* \\([a-zA-Z0-9_-]+\\) \*\/ '''[^']" + :back "''';" + ;; :save-matches 1 + ;; :delimiter-mode nil + ;; :match-submode identity + :submode org +))) +(mmm-add-mode-ext-class 'nix-mode nil 'nix-block) + + + +(setq evil-want-keybinding nil) +(require 'evil) +(evil-mode 1) +(setq evil-jumps-across-buffers t) + +(require 'evil-org) +(add-hook 'org-mode-hook 'evil-org-mode) +(evil-org-set-key-theme '(navigation insert textobjects additional calendar)) +(require 'evil-org-agenda) +(evil-org-agenda-set-keys) + +(evil-collection-init) + +(global-evil-surround-mode 1)