From edc74a464606b98378e24e27dcd3041b0f7f9162 Mon Sep 17 00:00:00 2001 From: venomade Date: Thu, 22 May 2025 20:25:43 +0100 Subject: MacOS & Neovim --- .emacs.d/config.org | 48 ++++++++++++++++++++++++++++++++++++++---------- .emacs.d/early-init.el | 6 ++++++ 2 files changed, 44 insertions(+), 10 deletions(-) (limited to '.emacs.d') diff --git a/.emacs.d/config.org b/.emacs.d/config.org index 070de5b..36876fa 100644 --- a/.emacs.d/config.org +++ b/.emacs.d/config.org @@ -65,7 +65,7 @@ I'm using the Straight package manager instead of use-package because it is only * Configs ** Custom Functions -*** Cursor follow on split +*** Cursor follow on split This is so that action can be taken as soon as a split takes place, to either close/move the window or perform an action inside of it. #+begin_src emacs-lisp (defun split-and-follow-horizontally() @@ -282,6 +282,10 @@ Add shortcuts to scrolling and moving between windows. (keymap-global-set "C-c w p" (lambda () (interactive) (other-window -1))) (keymap-global-set "C-c w b" (lambda () (interactive) (other-window -1))) #+end_src +*** MacOS Bindings +#+begin_src emacs-lisp + (setq mac-option-key-is-meta t) +#+end_src ** Setup Line Numbers *** Always show line numbers @@ -553,7 +557,7 @@ Automatically generate a table of contents for an Org file. (add-hook 'org-mode-hook 'org-indent-mode) #+end_src -** Bullet Headers +** Bullet Headers Stylize Org Mode headers with Nerd Icons. #+begin_src emacs-lisp (use-package org-bullets @@ -889,6 +893,18 @@ Functionally Scottish. :hook (haskell-mode . lsp)) #+end_src +*** Kotlin +Jetbrains had enough of Java. +#+begin_src emacs-lisp + (use-package kotlin-ts-mode + :config + (add-hook 'kotlin-ts-mode-hook 'lsp) + + (add-to-list 'auto-mode-alist '("\\.kt\\'" . kotlin-ts-mode))) + + ;; Java Support + (use-package lsp-java) +#+end_src *** LISP Programming for Programmers. #+begin_src emacs-lisp @@ -925,7 +941,12 @@ A simple Python-like language with many implementations. (add-hook 'lua-mode-hook 'lua-abbrev-mode-off) (setq save-abbrevs nil) ;; is this still needed? #+end_src -*** OCaml +*** Nix +The deterministic package manager. +#+begin_src emacs-lisp + (use-package nix-mode) +#+end_src +*** COMMENT OCaml Installed with OPAM #+begin_src emacs-lisp (setenv "PATH" (concat (concat @@ -944,6 +965,7 @@ Installed with OPAM (require 'utop) #+end_src *** Typescript +Embrace, Extend, Exstinguish, Eich. #+begin_src emacs-lisp (setenv "PATH" (concat (concat (concat (expand-file-name "~/.bun/bin") ":") @@ -1009,7 +1031,7 @@ A powerful auto-completion utility. ;; Bind M-/ to company-complete (define-key global-map (kbd "M-/") 'company-complete) - (define-key global-map (kbd "M-?") 'dabbrev-expand) + (define-key global-map (kbd "M-?") 'dabbrev-expand) :hook (prog-mode . company-mode)) @@ -1086,7 +1108,7 @@ Syntax checking for Emacs. #+end_src * User Interface -** Add Nerd Icons +** Add Nerd Icons Use Icons from Nerd Font to add a little modern spice to Emacs. #+begin_src emacs-lisp (use-package nerd-icons @@ -1108,7 +1130,7 @@ Set font for both Monospace and Proportional text. #+begin_src emacs-lisp (defvar fontconf '((font . "Aporetic Sans Mono") - (size . 11))) + (size . 15))) (set-face-attribute 'variable-pitch nil :font (cdr (assoc 'font fontconf)) @@ -1193,13 +1215,13 @@ Set the theme to a nice dark one. (add-hook 'emacs-startup-hook (lambda () - (load-theme 'kaolin-light t))) + (load-theme 'kaolin-dark t))) (defun theme-toggle () "Toggle between two Emacs themes: doom-one and doom-dracula." (interactive) - (let ((theme-a 'kaolin-light) - (theme-b 'kaolin-dark)) + (let ((theme-a 'kaolin-dark) + (theme-b 'kaolin-light)) (cond ((member theme-a custom-enabled-themes) (disable-theme theme-a) @@ -1215,7 +1237,7 @@ Set the theme to a nice dark one. *** Disable Extra GUI Features Disable GUI features to simplify frames. #+begin_src emacs-lisp - (menu-bar-mode -1) + ;;(menu-bar-mode -1) (tool-bar-mode -1) (scroll-bar-mode -1) (setq inhibit-startup-screen t) @@ -1231,6 +1253,12 @@ Reduce fringe size to 1px. #+begin_src emacs-lisp (set-fringe-mode 1) #+end_src +*** MacOS Style +#+begin_src emacs-lisp + (use-package ns-auto-titlebar + :config + (when (eq system-type 'darwin) (ns-auto-titlebar-mode))) +#+end_src ** Zen Mode Center the edtior with Olivetti for distraction-free editing. diff --git a/.emacs.d/early-init.el b/.emacs.d/early-init.el index b80a729..40200af 100644 --- a/.emacs.d/early-init.el +++ b/.emacs.d/early-init.el @@ -1,3 +1,9 @@ +(setenv "LIBRARY_PATH" + (string-join + '("/opt/homebrew/opt/gcc/lib/gcc/13" + "/opt/homebrew/opt/libgccjit/lib/gcc/13" + "/opt/homebrew/opt/gcc/lib/gcc/13/gcc/aarch64-apple-darwin22/13") + ":")) (setq gc-cons-threshold 100000000) (setq read-process-output-max (* 1024 1024)) (setenv "LSP_USE_PLISTS" "true") -- cgit 1.4.1-2-gfad0