diff --git a/users/tacocat/.config/emacs/init.el b/users/tacocat/.config/emacs/init.el index e51f975..a77bd08 100644 --- a/users/tacocat/.config/emacs/init.el +++ b/users/tacocat/.config/emacs/init.el @@ -1,21 +1,3 @@ -(setq-default fill-column 80) -(setq-default tab-width 2) -(setq ring-bell-function 'ignore) - -;; Display line numbers in every buffer -(global-display-line-numbers-mode 1) -(setq display-line-numbers-type 'relative) -(blink-cursor-mode 0) -(global-hl-line-mode 1) - -;; Turn off some unneeded UI elements -(menu-bar-mode -1) -(tool-bar-mode -1) -(scroll-bar-mode -1) - -(add-to-list 'default-frame-alist - '(font . "Mononoki Nerd Font-14")) - ;; Initialize straight package manager (defvar bootstrap-version) (let ((bootstrap-file @@ -33,5 +15,106 @@ (eval-print-last-sexp))) (load bootstrap-file nil 'nomessage)) -(straight-use-package 'material-theme) -(load-theme 'material t) +(straight-use-package 'use-package) +(setq straight-use-package-by-default t) + +(use-package material-theme + :config + (load-theme 'material t)) + +(use-package nerd-icons) + +(use-package dashboard + :config + (setq dashboard-center-content t + dashboard-display-icons-p t + dashboard-icon-type 'nerd-icons + dashboard-set-file-icons t) + (dashboard-setup-startup-hook)) + +(use-package nerd-icons-dired + :hook + (dired-mode . nerd-icons-dired-mode)) + +(use-package pdf-tools + :magic ("%PDF" . pdf-view-mode) + :config + (pdf-tools-install) + (setq-default pdf-view-display-size 'fit-page)) + + +(use-package latex + :straight auctex + :defer t + :mode + ("\\.tex\\'" . latex-mode) + :hook + (LaTeX-mode . TeX-PDF-mode) + (LaTeX-mode . flyspell-mode) + (LaTeX-mode . LaTeX-math-mode) + :config + (setq TeX-auto-save t) + (setq TeX-parse-self t) + (setq-default TeX-master nil) + ;; pdftools + ;; https://emacs.stackexchange.com/questions/21755/use-pdfview-as-default-auctex-pdf-viewer#21764 + (setq TeX-view-program-selection '((output-pdf "PDF Tools")) + TeX-view-program-list '(("PDF Tools" TeX-pdf-tools-sync-view)) + TeX-source-correlate-start-server t) ;; not sure if last line is neccessary + ;; to have the buffer refresh after compilation, + ;; very important so that PDFView refesh itself after comilation + (add-hook 'TeX-after-compilation-finished-functions + #'TeX-revert-document-buffer)) + +;; Tell Emacs to prefer the treesitter mode +;; You'll want to run the command `M-x treesit-install-language-grammar' before editing. +(setq major-mode-remap-alist + '((bash-mode . bash-ts-mode) + (c-mode . c-ts-mode) + (c++-mode . c++-ts-mode) + (java-mode . java-ts-mode) + (js-mode . js-ts-mode) + (typescript-mode . typescript-ts-mode) + (rust-mode . rust-ts-mode) + (go-mode . go-ts-mode) + (json-mode . json-ts-mode) + (css-mode . css-ts-mode) + (python-mode . python-ts-mode))) + +(setq treesit-language-source-alist +'((bash "https://github.com/tree-sitter/tree-sitter-bash") + (css "https://github.com/tree-sitter/tree-sitter-css") + (go "https://github.com/tree-sitter/tree-sitter-go") + (rust "https://github.com/tree-sitter/tree-sitter-rust") + (html "https://github.com/tree-sitter/tree-sitter-html") + (ruby "https://github.com/tree-sitter/tree-sitter-ruby") + (javascript "https://github.com/tree-sitter/tree-sitter-javascript" "master" "src") + (json "https://github.com/tree-sitter/tree-sitter-json") + (python "https://github.com/tree-sitter/tree-sitter-python") + (typescript "https://github.com/tree-sitter/tree-sitter-typescript" "master" "typescript/src") + (java "https://github.com/tree-sitter/tree-sitter-java") + (scala "https://github.com/tree-sitter/tree-sitter-scala") + (c "https://github.com/tree-sitter/tree-sitter-c") + (cpp "https://github.com/tree-sitter/tree-sitter-cpp") + (elisp "https://github.com/Wilfred/tree-sitter-elisp"))) + +(setq-default fill-column 80) +(setq-default tab-width 2) +(setq ring-bell-function 'ignore) + +(setq display-line-numbers-type 'relative) +(blink-cursor-mode 0) +(global-hl-line-mode 1) + +;; Turn off some unneeded UI elements +(menu-bar-mode -1) +(tool-bar-mode -1) +(scroll-bar-mode -1) + +(add-hook 'text-mode-hook 'auto-fill-mode) +(add-hook 'text-mode-hook 'display-line-numbers-mode) +(add-hook 'prog-mode-hook 'display-line-numbers-mode) + +(add-to-list 'default-frame-alist + '(font . "Mononoki-14")) + diff --git a/users/tacocat/home.nix b/users/tacocat/home.nix index 3cd26f6..da3e554 100644 --- a/users/tacocat/home.nix +++ b/users/tacocat/home.nix @@ -65,7 +65,7 @@ fira-code mononoki inter - (nerdfonts.override {fonts = ["FiraCode" "Mononoki"];}) + (nerdfonts.override {fonts = ["FiraCode" "Mononoki" "NerdFontsSymbolsOnly"];}) pandoc pdftk lua