V2 Emacs config now kept as it's own repository.
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

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