/ modules / guix / init.el
init.el
 1  ;; -*- lexical-binding: t; -*-
 2  
 3  (evil-mode 1)
 4  (tab-bar-mode 1)
 5  (menu-bar-mode -1)
 6  (tool-bar-mode -1)
 7  (scroll-bar-mode -1)
 8  (centaur-tabs-mode t)
 9  (display-time-mode 1)
10  (doom-modeline-mode 1)
11  (display-battery-mode 1)
12  (pixel-scroll-precision-mode 1)
13  (global-display-line-numbers-mode 1)
14  
15  (set-language-environment "UTF-8")
16  (set-default-coding-systems 'utf-8)
17  (add-hook 'doom-modeline-mode-hook #'nyan-mode)
18  (define-key evil-normal-state-map (kbd "j") 'evil-next-visual-line)
19  (define-key evil-normal-state-map (kbd "k") 'evil-previous-visual-line)
20  (global-set-key (kbd "<f8>") #'dirvish-side)
21  
22  (setq inhibit-startup-screen nil
23        inhibit-startup-buffer-menu nil
24        initial-buffer-choice 'fancy-startup
25        display-line-numbers-type 'relative
26        display-time-day-and-date t
27        doom-theme 'doom-gruvbox
28        doom-modeline-hud t
29        doom-modeline-persp-name t
30        doom-modeline-major-mode-icon t
31        evil-ex-substitute-global t
32        evil-escape-key-sequence "jk"
33        centaur-tabs-gray-out-icons t
34        centaur-tabs-show-count t
35        centaur-tabs-enable-key-bindings t
36        centaur-tabs-show-navigation-buttons t
37        user-full-name "Mumtahin Farabi"
38        user-mail-address "mfarabi619@gmail.com")
39  
40  (use-package nyan-mode
41    :ensure t
42    :config
43    (setq nyan-animate-nyancat t
44          nyan-wavy-trail t))
45  
46  (use-package dirvish
47    :ensure t
48    :config
49    (dirvish-override-dired-mode)
50    (setq dirvish-preview-dispatchers
51          (cl-substitute 'pdf-tools 'pdf dirvish-preview-dispatchers))
52    (dirvish-define-preview eza (file)
53      "Use `eza' to generate directory preview."
54      :require ("eza") ; Ensure eza executable exists
55      (when (file-directory-p file)
56        `(shell . ("eza" "-al" "--color=always" "--icons=always"
57                   "--group-directories-first" ,file))))
58    (push 'eza dirvish-preview-dispatchers)
59    (setq dirvish-side t
60          (setq dirvish-side-display-alist '((side . right) (slot . -1)))
61          (setq dirvish-peek-mode t)
62          (setq dirvish-side-auto-close t)
63          (setq dirvish-side-follow-mode t)
64          (add-hook 'emacs-startup-hook #'dirvish-side))
65