Some working configuration

This commit is contained in:
2025-09-28 22:28:43 +02:00
parent 9fa0bd3320
commit f304d92cb5
7 changed files with 131 additions and 0 deletions

7
.gitignore vendored Normal file
View File

@@ -0,0 +1,7 @@
# Directories in root
eln-cache/
auto-save-list/
elpa/
# Files in root
recentf

30
init.el
View File

@@ -0,0 +1,30 @@
;;; -*- lexical-binding: t -*-
;; Package manager
(require 'package)
(add-to-list 'package-archives
'("melpa" . "https://melpa.org/packages/"))
(package-initialize)
(unless package-archive-contents
(package-refresh-contents))
;; Load custom modules
(add-to-list 'load-path (expand-file-name "lisp" user-emacs-directory))
(require 'options)
(require 'utils)
(require 'navigation)
(require 'init-org)
(require 'keybinds)
(custom-set-variables
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(custom-enabled-themes '(leuven-dark))
'(package-selected-packages '(evil org-modern org-superstar)))
(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
)

43
lisp/init-org.el Normal file
View File

@@ -0,0 +1,43 @@
;; Load org mode
(use-package org
:ensure t
:hook ((org-mode . visual-line-mode) ;; wrap lines nicely
(org-mode . org-indent-mode)) ;; clean indentation
:config
;; Better heading bullets (requires org-modern or org-superstar)
(use-package org-superstar
:ensure t
:hook (org-mode . org-superstar-mode))
;; Show inline images after evaluating a block
(setq org-startup-with-inline-images t)
(setq org-image-actual-width nil) ;; scale to window
;; Hide emphasis markers (*bold* → bold, no stars shown)
(setq org-hide-emphasis-markers t)
;; Start folded, except top-level headings
(setq org-startup-folded 'content)
;; Use syntax highlighting in code blocks
(setq org-src-fontify-natively t
org-src-tab-acts-natively t
org-edit-src-content-indentation 0)
;; Confirm before evaluating code blocks
(setq org-confirm-babel-evaluate t)
;; Enable a few languages in org-babel
(org-babel-do-load-languages
'org-babel-load-languages
'((emacs-lisp . t)
(python . t)
(shell . t)))
;; Pretty UTF-8 symbols (like → instead of =>)
(use-package org-modern
:ensure t
:hook (org-mode . org-modern-mode)))
(provide 'init-org)

20
lisp/keybinds.el Normal file
View File

@@ -0,0 +1,20 @@
;; Variables
(defvar my-zettelkasten-dir "/webdav/notes"
"Path to zettelkasten directory.")
;; Functions
(defun jonas/open-notes ()
"Open zettelkasten directory in dired."
(interactive)
(dired my-zettelkasten-dir))
;; Helpers
(global-set-key (kbd "C-c z") #'jonas/open-notes)
;; Org mode
(with-eval-after-load 'org
(define-key org-mode-map (kbd "C-c t") #'org-todo)
(define-key org-mode-map (kbd "C-c TAB") #'org-cycle)
(define-key org-mode-map (kbd "C-c l") #'org-insert-link))
(provide 'keybinds)

8
lisp/navigation.el Normal file
View File

@@ -0,0 +1,8 @@
;; Activate evil mode
(unless (package-installed-p 'evil)
(package-install 'evil))
(require 'evil)
(evil-mode 1)
(provide 'navigation)

13
lisp/options.el Normal file
View File

@@ -0,0 +1,13 @@
;; Set all common options here
(custom-set-variables
'(custom-enabled-themes '(leuven-dark))
'(package-selected-packages nil))
(setq inhibit-startup-message t)
(scroll-bar-mode -1)
;; Disable just the white menu bar
(menu-bar-mode -1)
(provide 'options)

10
lisp/utils.el Normal file
View File

@@ -0,0 +1,10 @@
;; Utility macros and tools
;; Setup recent files
(require 'recentf)
(recentf-mode 1)
(setq recentf-max-menu-items 25)
(global-set-key "\C-x\ \C-r" 'recentf-open-files)
(custom-set-faces)
(provide 'utils)