You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
120 lines
2.8 KiB
120 lines
2.8 KiB
;;; ui.el --- Specific UI definitions. |
|
;; Disable the menubar, scrollbar, and toolbar |
|
(menu-bar-mode -1) |
|
(scroll-bar-mode -1) |
|
(if window-system |
|
(tool-bar-mode -1) |
|
) |
|
|
|
;; Enable column numbers |
|
(column-number-mode 1) |
|
|
|
;; Enable line numbers globally |
|
(global-display-line-numbers-mode) |
|
|
|
;; Line numbers |
|
(display-line-numbers-mode 1) |
|
|
|
;; Ivy |
|
(use-package ivy |
|
:ensure t |
|
:config |
|
(ivy-mode 1) |
|
(setq ivy-use-virtual-buffers t) |
|
(setq enable-recursive-minibuffers t) |
|
(setq ivy-use-selectable-prompt t)) |
|
|
|
;; Swiper to replace ISearch |
|
(use-package swiper |
|
:ensure t |
|
:bind (("C-s" . swiper))) |
|
|
|
;; Counsel to force other stuff in emacs to use |
|
;; ivy for completion |
|
(use-package counsel |
|
:ensure t |
|
:config |
|
(counsel-mode 1)) |
|
|
|
;; Enable semantic for language-aware editing commands |
|
(setq semantic-mode 't) |
|
|
|
;; Install all-the-icons and it's fonts if they are not already installed. |
|
(use-package all-the-icons |
|
:ensure t |
|
:config (unless (member "all-the-icons" (font-family-list)) |
|
(all-the-icons-install-fonts t))) |
|
|
|
;; Tree |
|
(use-package treemacs |
|
:ensure t |
|
:defer t |
|
:init |
|
(with-eval-after-load 'winum |
|
(define-key winum-keymap (kbd "M-0") #'treemacs-select-window)) |
|
(with-eval-after-load 'treemacs |
|
(define-key treemacs-mode-map [mouse-1] #'treemacs-single-click-expand-action)) |
|
:config |
|
(progn |
|
(treemacs-load-theme "all-the-icons") |
|
(setq treemacs-indent-guide-mode "line"))) |
|
|
|
(use-package treemacs-projectile |
|
:after (treemacs projectile) |
|
:ensure t) |
|
|
|
(use-package treemacs-icons-dired |
|
:hook (dired-mode . treemacs-icons-dired-enable-once) |
|
:ensure t) |
|
|
|
(use-package treemacs-magit |
|
:after (treemacs magit) |
|
:ensure t) |
|
|
|
(use-package treemacs-all-the-icons |
|
:after (all-the-icons treemacs) |
|
:ensure t) |
|
|
|
;; Theme |
|
(use-package nord-theme |
|
:ensure t |
|
:requires all-the-icons |
|
:config |
|
(setq nord-uniform-mode-lines t) |
|
(load-theme 'nord t)) |
|
|
|
;; Modeline |
|
(use-package doom-modeline |
|
:ensure t |
|
:init (doom-modeline-mode 1) |
|
:custom |
|
(doom-modeline-minor-modes t) |
|
(doom-modeline-height 18) |
|
(doom-modeline-hud t) |
|
(doom-modeline-icon t)) |
|
|
|
;; Tabs for easier more modern nav |
|
(use-package centaur-tabs |
|
:ensure t |
|
:demand |
|
:config |
|
(centaur-tabs-mode t) |
|
(setq centaur-tabs-set-bar 'left |
|
;; all-the-icons support |
|
centaur-tabs-set-icons t |
|
centaur-tabs-gray-out-icons 'buffer |
|
centaur-tabs-height 24 |
|
centaur-tabs-set-modified-marker t |
|
centaur-tabs-modified-marker "•") |
|
;; This function is important to match the background to the theme. |
|
(centaur-tabs-headline-match) |
|
:hook |
|
;; This hook will ignore showing tabs in certain modes |
|
(dired-mode . centaur-tabs-local-mode) |
|
(magit-mode . centaur-tabs-local-mode)) |
|
|
|
;; Buffer configuration |
|
(use-package all-the-icons-ibuffer |
|
:ensure t |
|
:hook (ibuffer-mode . all-the-icons-ibuffer-mode) |
|
:requires all-the-icons)
|
|
|