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