Created
March 12, 2025 15:54
-
-
Save YellowOnion/c858846039ac7d22b356623a758f7932 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;;; init.el --- Description -*- lexical-binding: t; -*- | |
;; | |
;; Copyright (C) 2025 Daniel Hill | |
;; | |
;; Author: Daniel Hill <[email protected]> | |
;; Maintainer: Daniel Hill <[email protected]> | |
;; Created: March 12, 2025 | |
;; Modified: March 12, 2025 | |
;; Version: 0.0.1 | |
;; Keywords: abbrev bib c calendar comm convenience data docs emulations extensions faces files frames games hardware help hypermedia i18n internal languages lisp local maint mail matching mouse multimedia news outlines processes terminals tex text tools unix vc wp | |
;; Homepage: https://github.com/YellowOnion/nothing | |
;; Package-Requires: ((emacs "29.1")) | |
;; | |
;; This file is not part of GNU Emacs. | |
;; | |
;;; Commentary: | |
;; | |
;; Description | |
;; | |
;;; Code: | |
;;(org-babel-load-file | |
;; (expand-file-name | |
;; "config.org" | |
;; user-emacs-directory)) | |
(eval-when-compile | |
(require 'use-package)) | |
(set-face-attribute 'default nil | |
:font "FiraCode Nerd Font" | |
:height 110 | |
:weight 'medium) | |
(set-face-attribute 'variable-pitch nil | |
:font "EB Garamond" | |
:height 120) | |
(set-face-attribute 'fixed-pitch nil | |
:font "FiraCode Nerd Font" | |
:height 110) | |
(set-face-attribute 'font-lock-comment-face nil | |
:slant 'italic) | |
(menu-bar-mode -1) | |
(tool-bar-mode -1) | |
(scroll-bar-mode -1) | |
(global-display-line-numbers-mode 1) | |
(global-visual-line-mode t) | |
(use-package evil | |
:init | |
(setq evil-want-keybinding nil) | |
(setq evil-vsplit-window-right t) | |
(setq evil-split-window-below t) | |
(evil-mode)) | |
(use-package evil-collection | |
:after evil | |
:config | |
(setq evil-collection-mode-list '(dashboard dired ibuffer magit)) | |
(evil-collection-init)) | |
(use-package evil-tutor) | |
(use-package general | |
:config | |
(general-evil-setup) | |
(general-create-definer my-leader-keys | |
:states '(normal insert visual emacs) | |
:keymaps 'override | |
:prefix "SPC" | |
:global-prefix "M-SPC") | |
(my-leader-keys | |
"h" '(:ignore t :wk "Help") | |
"h f" '(describe-function :wk "Describe function") | |
"h v" '(describe-variable :wk "Describe variable")) | |
(my-leader-keys | |
"b" '(:ignore t :wk "Buffer operations") | |
"b b" '(switch-to-buffer :wk "Switch buffer") | |
"b i" '(ibuffer :wk "Use ibuffer") | |
"b k" '(kill-this-buffer :wk "Kill buffer") | |
"b n" '(next-buffer :wk "Next buffer") | |
"b p" '(previous-buffer :wk "Previous buffer") | |
"b r" '(revert-buffer :wk "Reload buffer") | |
"b e" '(eval-buffer :wk "Evaluate buffer")) | |
(my-leader-keys | |
"f" '(:ignore t :wk "File operations") | |
"f f" '(find-file :wk "Find file") | |
"f u" '(:ignore t :wk "TODO: Open file with root")) | |
(my-leader-keys | |
"v" '(:ignore t :wk "Change viewing details") | |
"v l" '(display-line-numbers-mode :wk "Toggle line numbers") | |
"v t" '(visual-line-mode :wk "Toggle trucated lines"))) | |
(use-package which-key | |
:init (which-key-mode 1) | |
:config (setq | |
which-key-side-window-location 'bottom | |
which-key-sort-order #'which-key-key-order-alpha | |
which-key-sort-uppercase-first nil | |
which-key-add-column-padding 1 | |
which-key-max-display-columns 1 | |
which-key-min-display-lines 6 | |
which-key-side-window-slot -10 | |
which-key-idle-delay 2 | |
which-key-max-description-length 25 | |
which-key-allow-imprecise-window-fit t | |
which-key-separator " → ")) | |
(use-package doom-themes | |
:config | |
(setq doom-themes-enable-bold t ; if nil, bold is universally disabled | |
doom-themes-enable-italic t) ; if nil, italics is universally disabled | |
(load-theme 'doom-one t)) | |
;; Language unities (completion, syntax etc) | |
;; TODO: eglot, rest? | |
(use-package company) | |
(use-package counsel | |
:after ivy | |
(counsel-mode)) | |
(use-package ivy | |
:custom | |
(setq ivy-use-virtual-buffers t) | |
(setq ivy-count-format "(%d/%d) ") | |
(setq enable-recursive-minibuffers t) | |
:config | |
(ivy-mode)) | |
(use-package flycheck | |
:init | |
(global-flycheck-mode)) | |
;; Language support | |
;; TODO, nix, python, lua, json, org roam, latex, c/c++, rust, sh, yaml, md | |
;;(use-package haskell-mode) | |
;; Tools | |
;; TODO: spelling, direnv, editorconfig, magit, multicursor, smartparens/rainbow mode? | |
;; file-templates maybe, workspaces, ophints, indent-guides, ivy?? | |
;;; init.el ends here |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment