mirror of
https://codeberg.org/frosty/dotfiles.git
synced 2024-09-19 11:47:09 -04:00
add emacs stuff (very basic)
This commit is contained in:
parent
b4daaa4f0a
commit
c93bd46068
3
.gitmodules
vendored
3
.gitmodules
vendored
|
@ -13,3 +13,6 @@
|
|||
[submodule "fastfetch/.config/fastfetch"]
|
||||
path = fastfetch/.config/fastfetch
|
||||
url = https://gitlab.com/frostalicious/tiny
|
||||
[submodule "emacs/.config/emacs/scripts/buffer-move"]
|
||||
path = emacs/.config/emacs/scripts/buffer-move
|
||||
url = https://github.com/lukhas/buffer-move
|
||||
|
|
13
emacs/.config/emacs/custom.el
Normal file
13
emacs/.config/emacs/custom.el
Normal file
|
@ -0,0 +1,13 @@
|
|||
(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.
|
||||
'(package-selected-packages
|
||||
'(general neotre doom-modeline which-key neotree mood-line lsp-haskell evil-tutor evil-collection doom-themes)))
|
||||
(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.
|
||||
)
|
156
emacs/.config/emacs/init.el
Normal file
156
emacs/.config/emacs/init.el
Normal file
|
@ -0,0 +1,156 @@
|
|||
;; Prevent custom from writing to init.el
|
||||
(setq custom-file (concat user-emacs-directory "custom.el"))
|
||||
(when (file-exists-p custom-file)
|
||||
(load custom-file))
|
||||
|
||||
(add-to-list 'load-path "~/.config/emacs/scripts/buffer-move")
|
||||
|
||||
(require 'buffer-move)
|
||||
|
||||
;; Set up package.el to work with MELPA
|
||||
(require 'package)
|
||||
(add-to-list 'package-archives
|
||||
'("melpa" . "https://melpa.org/packages/"))
|
||||
(package-initialize)
|
||||
|
||||
;; Ensure `use-package` is available and install it if not
|
||||
(unless (package-installed-p 'use-package)
|
||||
(package-refresh-contents)
|
||||
(package-install 'use-package))
|
||||
|
||||
;; Use `use-package` to manage packages and ensure they are installed
|
||||
(eval-when-compile
|
||||
(require 'use-package))
|
||||
|
||||
|
||||
|
||||
|
||||
;; Download and configure Doom Themes
|
||||
(use-package doom-themes
|
||||
:init (load-theme 'doom-gruvbox t))
|
||||
|
||||
;; Download and configure Evil
|
||||
(use-package evil
|
||||
:init
|
||||
(setq evil-want-integration :
|
||||
evil-want-keybinding nil
|
||||
evil-want-C-u-scroll t
|
||||
evil-want-C-i-jump nil)
|
||||
(evil-mode 1)
|
||||
:config
|
||||
(define-key evil-insert-state-map (kbd "C-g") 'evil-normal-state)
|
||||
(define-key evil-insert-state-map (kbd "C-h") 'evil-delete-backward-char-and-join))
|
||||
|
||||
(use-package evil-collection
|
||||
:after evil
|
||||
:init
|
||||
(evil-collection-init))
|
||||
|
||||
|
||||
|
||||
(defun lsp-mode-setup ()
|
||||
(setq lsp-headerline-breadcrumb-segments '(path-up-to-project file symbols))
|
||||
(lsp-headerline-breadcrumb-mode))
|
||||
|
||||
(use-package lsp-mode
|
||||
:commands (lsp lsp-deferred)
|
||||
:hook (lsp-mode . lsp-mode-setup)
|
||||
:init
|
||||
(setq lsp-keymap-prefix "C-c l")
|
||||
:config
|
||||
(lsp-enable-which-key-integration t))
|
||||
|
||||
(use-package lsp-ui
|
||||
:hook (lsp-mode . lsp-ui-mode)
|
||||
:custom
|
||||
(lsp-ui-doc-position 'bottom))
|
||||
|
||||
|
||||
(use-package neotree)
|
||||
|
||||
;; Download and configure which-key
|
||||
(use-package which-key
|
||||
:after evil
|
||||
:init
|
||||
(which-key-mode 1)
|
||||
:config
|
||||
(setq which-key-delay 1
|
||||
which-key-allow-evil-operators t
|
||||
which-key-show-operator-state-maps t))
|
||||
|
||||
(use-package doom-modeline
|
||||
:init
|
||||
(doom-modeline-mode 1)
|
||||
:config
|
||||
(setq doom-modeline-icon nil))
|
||||
|
||||
(defun reload-init-file ()
|
||||
"Reloads the Emacs user init file."
|
||||
(interactive)
|
||||
(load-file user-init-file))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
(global-set-key (kbd "<escape>") 'keyboard-escape-quit)
|
||||
|
||||
(use-package general
|
||||
:after evil
|
||||
:config
|
||||
(general-create-definer leader-keys
|
||||
:keymaps '(normal insert visual emacs)
|
||||
:prefix "SPC"
|
||||
:global-prefix "M-SPC")
|
||||
|
||||
(leader-keys
|
||||
"dd" 'dired
|
||||
"dj" 'dired-jump
|
||||
"g" 'comment-line
|
||||
|
||||
"bb" 'switch-to-buffer
|
||||
"bi" 'ibuffer
|
||||
"bc" 'kill-this-buffer
|
||||
"bn" 'next-buffer
|
||||
"bp" 'previous-buffer
|
||||
"br" 'revert-buffer
|
||||
|
||||
"ww" 'evil-window-next
|
||||
"wh" 'evil-window-left
|
||||
"wj" 'evil-window-down
|
||||
"wk" 'evil-window-up
|
||||
"wl" 'evil-window-right
|
||||
|
||||
"wH" 'buf-move-left
|
||||
"wJ" 'buf-move-down
|
||||
"wK" 'buf-move-up
|
||||
"wL" 'buf-move-right
|
||||
|
||||
"=" 'text-scale-increase
|
||||
"-" 'text-scale-decrease
|
||||
|
||||
"fs" 'save-buffer
|
||||
"fe" 'display-line-numbers-mode
|
||||
"fj" 'visual-line-mode
|
||||
"hr" 'reload-init-file))
|
||||
|
||||
|
||||
;; Hide UI distractions
|
||||
(tool-bar-mode -1)
|
||||
(menu-bar-mode -1)
|
||||
(tooltip-mode -1)
|
||||
(scroll-bar-mode -1)
|
||||
(horizontal-scroll-bar-mode -1)
|
||||
|
||||
;; Disable startup screen
|
||||
(setq inhibit-startup-message t
|
||||
inhibit-startup-echo-area-message t)
|
||||
|
||||
;; Display line numbers
|
||||
(display-line-numbers-mode 1)
|
||||
(setq display-line-numbers-type 'relative)
|
||||
|
||||
;; Fix scrolling speed and behavior
|
||||
(setq mouse-wheel-scroll-amount '(0.04)
|
||||
mouse-wheel-progressive-speed nil)
|
||||
|
1
emacs/.config/emacs/scripts/buffer-move
Submodule
1
emacs/.config/emacs/scripts/buffer-move
Submodule
|
@ -0,0 +1 @@
|
|||
Subproject commit e7800b3ab1bd76ee475ef35507ec51ecd5a3f065
|
Loading…
Reference in a new issue