|
|
|
;;; 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)
|