nixos/config/emacs/emacs.org
2023-09-07 18:22:28 +00:00

2 KiB

#+title Sakomacs configuration

Emacs from scratch

where we are right now https://youtu.be/kkqVTDbfYp4?t=2795

TODO move init.el to here

Usage

org-bable-tangle

ui configuration

  ;; UI/UX
  (setq inhibit-startup-message t)
  ;; make it look like neovim a little
  (scroll-bar-mode -1)
  (tool-bar-mode -1)
  (tooltip-mode -1)
  (set-fringe-mode 10)
  (menu-bar-mode -1)
  ;; Line Numbers
  (column-number-mode)
  (global-display-line-numbers-mode t)
  ;; disable line numbers on some modes
  (dolist (mode '(org-mode-hook
                  term-mode-hook
                  eshell-mode-hook))
    (add-hook mode (lambda () (display-line-numbers-mode 0))))
  ;; Bell
  (setq visible-bell t)

Fonts

      ;; Font
      (set-face-attribute `default nil :font "JetBrains Mono" :height 125)

Package setup

;; Package related stuqff
(require `package)

(setq package-archives `(("mepla" . "https://melpa.org/packages/")
			 ("org" . "https://orgmode.org/elpa/")
			 ("elpa" . "https://elpa.gnu.org/packages/")))

(package-initialize)
(unless package-archive-contents
  (package-refresh-contents))

;; Init package for non-linux
(unless (package-installed-p `use-package)
  (package-install `use-package))

(require 'use-package)
(setq use-package-always-ensure t)

Packages

Org Mode Configuration Setup

Babel Languages

   (org-babel-do-load-languages
  'org-babel-load-languages
  '((emacs-lisp . t)
    (python . t)))

Auto-tangle Configuration

  (defun sakomacs/org-babel-tangle-config ()
    (when (string-equal (buffer-file-name)
                        (expand-file-name "~/nixos/config/emacs/emacs.org"))
      (let ((org-confirm-babel-evaluate nil))
        (org-babel-tangle)))
    (add-hook 'org-mode-hook (lambda () (add-hook 'after-save-hook #'sakomacs/org-babel-tangle-config))))