blob: 847d0b6428db77f25454da0289d62dcbaa236849 (
plain) (
tree)
|
|
;; bootstrap straight start
(defvar bootstrap-version)
(let ((bootstrap-file
(expand-file-name "straight/repos/straight.el/bootstrap.el" user-emacs-directory))
(bootstrap-version 6))
(unless (file-exists-p bootstrap-file)
(with-current-buffer
(url-retrieve-synchronously
"https://raw.githubusercontent.com/radian-software/straight.el/develop/install.el"
'silent 'inhibit-cookies)
(goto-char (point-max))
(eval-print-last-sexp)))
(load bootstrap-file nil 'nomessage))
(use-package straight
:custom
(straight-use-package-by-default t))
;; bootstrap straight end
(use-package which-key
:ensure t)
(use-package evil
:ensure t
:init
(setq evil-want-integration t) ;; This is optional since it's already set to t by default.
(setq evil-want-keybinding nil)
:config
(evil-mode 1))
(use-package evil-collection
:after evil
:ensure t
:config
(evil-collection-init))
(use-package doom-themes
:ensure t )
(setq doom-themes-enable-bold t
doom-themes-enable-italic t)
(load-theme 'doom-one t)
(defun my/setup-font-faces ()
(when (display-graphic-p)
(cond
((find-font (font-spec :name "Inconsolata LGC Nerd Font 11"))
(set-face-attribute 'default nil
:font "Inconsolata LGC Nerd Font 11"
:weight 'medium)))
)
)
(defun my/on-init ()
(my/setup-font-faces)
)
(add-hook 'after-init-hook 'my/on-init)
(add-hook 'server-after-make-frame-hook 'my/on-init)
(setq ring-bell-function 'ignore)
(setq default-line-spacing 0.10)
(setq make-backup-files nil)
(setq auto-save-default nil)
(setq create-lockfiles nil)
(setq warning-minimum-level :error)
(setq inhibit-startup-screen t)
;; Refresh buffers if underlying file changes
(setq globa-auto-revert-mode 1)
;; Disable toolbar, menubar and scrollbar
(menu-bar-mode -1)
(tool-bar-mode -1)
(scroll-bar-mode -1)
(use-package doom-modeline
:ensure t
:init (doom-modeline-mode 1))
;; One line scrolling
(setq scroll-step 1)
(setq scroll-conservatively 10000)
(global-display-line-numbers-mode)
(setq display-line-numbers-type 'relative)
(global-visual-line-mode t)
(use-package dashboard
:ensure t
:config
(setq dashboard-banner-logo-title "Welcome to Emacs Dashboard")
(setq dashboard-footer-messages '("I showed you my source code, plz respond."))
(setq dashboard-center-content nil)
(setq dashboard-items '((recents . 5)
(bookmarks . 5)
(projects . 5)))
(setq dashboard-set-navigator t)
(if (< (length command-line-args) 2)
(setq initial-buffer-choice (lambda ()
(get-buffer-create "*dashboard*")
(dashboard-refresh-buffer)))))
(use-package direnv
:ensure t
:config
(direnv-mode))
(use-package vertico
:ensure t
:init
(vertico-mode))
(use-package marginalia
:ensure t
:init
(marginalia-mode))
(use-package consult
:ensure t
:config
(setq consult-async-min-input 2)
:bind
(:map evil-normal-state-map
("C-S-f" . consult-line)
("C-p" . consult-find)
("C-S-p" . consult-ripgrep)))
(use-package savehist
:ensure t
:init
(savehist-mode))
(use-package projectile
:ensure t
:init
(setq projectile-project-search-path '("~/src/"))
:config
(projectile-mode +1))
(use-package orderless
:ensure t
:custom
(completion-styles '(basic partial-completion orderless)))
(use-package corfu
:ensure t
:config
(setq corfu-auto t)
:init
(global-corfu-mode))
(use-package kind-icon
:ensure t
:after corfu
;:custom
:config
(add-to-list 'corfu-margin-formatters #'kind-icon-margin-formatter))
(use-package treesit-auto
:ensure t
:custom
(treesit-auto-install 'prompt)
:config
(treesit-auto-add-to-auto-mode-alist 'all)
(global-treesit-auto-mode))
(use-package eglot
:ensure t
:config
(add-to-list 'eglot-ignored-server-capabilites :hoverProvider)
(setq read-process-output-max (* 1024 1024))
(setq gc-cons-threshold 100000000))
(use-package eldoc-box
:ensure t
:init
(add-hook 'eldoc-mode-hook 'eldoc-box-hover-at-point-mode))
(use-package copilot
:straight (:host github :repo "copilot-emacs/copilot.el" :files ("dist" "*.el"))
:ensure t
:config
(add-hook 'prog-mode-hook 'copilot-mode)
(define-key copilot-completion-map (kbd "<tab>") 'copilot-accept-completion)
(define-key copilot-completion-map (kbd "TAB") 'copilot-accept-completion))
(use-package rustic
:ensure t
:config
(setq rustic-format-on-save t)
(setq rustic-lsp-client 'eglot)
(delete 'rust treesit-auto-langs))
(use-package go-mode
:ensure t
:init
(add-hook 'go-mode-hook 'eglot-ensure)
(delete 'go treesit-auto-langs))
(use-package dired-sidebar
:ensure t
:config
(setq dired-sidebar-resize-on-open nil)
(setq dired-sidebar-window-fixed nil)
:bind
(:map evil-normal-state-map ("C-b" . dired-sidebar-toggle-sidebar)))
(use-package minimap
:ensure t
:config
(setq minimap-window-location 'right)
(setq minimap-dedicated-window t)
(setq minimap-enlarge-certain-faces nil)
(setq minimap-width-fraction 0.0)
(setq minimap-minimum-width 12)
:bind
(:map evil-normal-state-map
("C-n" . minimap-mode)))
(eval-after-load 'dired
'(evil-define-key 'normal dired-mode-map [mouse-2] 'dired-mouse-find-file)
)
|