119 lines
3.2 KiB
EmacsLisp
119 lines
3.2 KiB
EmacsLisp
;; -*- lexical-binding: t -*-
|
|
|
|
|
|
(use-package emacs
|
|
:init
|
|
(setq frame-resize-pixelwise t
|
|
window-resize-pixelwise t
|
|
frame-inhibit-implied-resize t
|
|
inhibit-splash-screen t
|
|
inhibit-startup-screen t
|
|
initial-scratch-message nil)
|
|
(defun crm-indicator (args)
|
|
(cons (format "[CRM%s] %s"
|
|
(replace-regexp-in-string
|
|
"\\`\\[.*?]\\*\\|\\[.*?]\\*\\'" ""
|
|
crm-separator)
|
|
(car args))
|
|
(cdr args)))
|
|
(advice-add #'completing-read-multiple :filter-args #'crm-indicator)
|
|
(setq minibuffer-prompt-properties
|
|
'(read-only t cursor-intangible t face minibuffer-prompt))
|
|
(add-hook 'minibuffer-setup-hook #'cursor-intangible-mode)
|
|
:custom
|
|
(menu-bar-mode nil)
|
|
(tool-bar-mode nil)
|
|
(scroll-bar-mode nil)
|
|
(delete-selection-mode t)
|
|
(enable-recursive-buffer t)
|
|
(read-extended-command-predicate #'command-completion-default-include-p)
|
|
(tab-always-indent 'complete)
|
|
(mode-line-format nil)
|
|
:hook (prog-mode . display-line-numbers-mode))
|
|
|
|
(use-package nano-modeline
|
|
:hook ((prog-mode . nano-modeline-prog-mode)
|
|
(text-mode . nano-modeline-text-mode)
|
|
(org-mode . nano-modeline-org-mode)
|
|
(pdf-view-mode . nano-modeline-pdf-mode)
|
|
(mu4e-headers-mode . nano-modeline-mu4e-headers-mode)
|
|
(mu4e-view-mode . nano-modeline-mu4e-message-mode)
|
|
(elfeed-show-mode . nano-modeline-elfeed-entry-mode)
|
|
(elfeed-search-mode . nano-modeline-elfeed-search-mode)
|
|
(term-mode . nano-modeline-term-mode)
|
|
(xwidget-webkit-mode . nano-modeline-xwidget-mode)
|
|
(messages-buffer-mode . nano-modeline-message-mode)
|
|
(org-capture-mode . nano-modeline-org-capture-mode)
|
|
(org-agenda-mode . nano-modeline-org-agenda-mode)))
|
|
|
|
(use-package ivy
|
|
:custom
|
|
(ivy-use-virtual-buffers t)
|
|
:bind (("C-s" . swiper-isearch)
|
|
("C-c C-r" . ivy-resume)
|
|
("<f6>" . ivy-resume)
|
|
("M-x" . counsel-M-x)
|
|
("C-x C-f" . counsel-find-file)
|
|
("<f1> f" . counsel-describe-function)
|
|
("<f1> v" . counsel-describe-variable)
|
|
("<f1> o" . counsel-describe-symbol)
|
|
("<f1> l" . counsel-find-library)
|
|
("<f2> i" . counsel-info-lookup-symbol)
|
|
("<f2> u" . counsel-unicode-char)
|
|
("C-c g" . counsel-git)
|
|
("C-c j" . counsel-git-grep)
|
|
("C-c k" . counsel-ag)
|
|
("C-x l" . counsel-locate)
|
|
("C-S-o" . counsel-rhythmbox)
|
|
:map minibuffer-local-map
|
|
("C-r" . counsel-minibuffer-history))
|
|
:hook after-init)
|
|
|
|
(use-package savehist
|
|
:hook after-init)
|
|
|
|
(use-package which-key
|
|
:hook after-init)
|
|
|
|
(use-package base16-theme
|
|
:config
|
|
(load-theme 'base16-dracula t))
|
|
|
|
(use-package nix-mode
|
|
:mode "\\.nix\\'")
|
|
|
|
(use-package rust-mode
|
|
:mode "\\.rs\\'")
|
|
|
|
(when (executable-find "direnv")
|
|
(use-package envrc
|
|
:hook after-init))
|
|
|
|
(use-package eglot
|
|
:hook (prog-mode . eglot-ensure))
|
|
|
|
(use-package qml-mode
|
|
:mode "\\.qml\\'")
|
|
|
|
(use-package haskell-mode
|
|
:mode "\\.hs\\'")
|
|
|
|
(use-package python
|
|
:custom
|
|
(python-indent-offset 4))
|
|
|
|
(use-package cc-mode
|
|
:custom
|
|
(c-basic-offset 4))
|
|
|
|
(use-package nushell-mode
|
|
:mode "\\.nu\\'")
|
|
|
|
(use-package tuareg
|
|
:mode "\\.ml\\'")
|
|
|
|
(use-package nerd-icons
|
|
:custom
|
|
(nerd-icons-font-family "Symbols Nerd Font Mono"))
|
|
|
|
(provide 'config)
|