|
|
|
;;; 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)))
|
|
|
|
|
|
|
|
;; Nice tree
|
|
|
|
(use-package neotree
|
|
|
|
:ensure t
|
|
|
|
:demand t
|
|
|
|
:commands neotree-toggle
|
|
|
|
:init (setq neo-theme (if (display-graphic-p) 'icons 'arrow))
|
|
|
|
:config
|
|
|
|
(setq neo-window-fixed-size nil)
|
|
|
|
:bind ("C-`" . neotree-toggle)
|
|
|
|
:requires all-the-icons)
|
|
|
|
|
|
|
|
;; 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)
|