     ("e" mc/edit-lines "edit lines")
     ("q" nil "quit")))
 
-(use-package modalka
-  :bind (("M-<SPC>" . modalka-mode))
-  :init
-  (setq-default cursor-type '(bar . 1))
-  (setq modalka-cursor-type 'box)
-
-  (add-hook 'text-mode-hook #'modalka-mode)
-  (add-hook 'conf-mode-hook #'modalka-mode)
-  (add-hook 'prog-mode-hook #'modalka-mode)
-  :config
-  (modalka-define-kbd "%" "M-%")
-  (modalka-define-kbd "@" "C-c @ C-c")
-  (modalka-define-kbd "<" "M-<")
-  (modalka-define-kbd ">" "M->")
-  (modalka-define-kbd "/" "C-/")
-  (modalka-define-kbd "SPC" "C-SPC")
-
-  (modalka-define-kbd "0" "C-0")
-  (modalka-define-kbd "1" "C-1")
-  (modalka-define-kbd "2" "C-2")
-  (modalka-define-kbd "3" "C-3")
-  (modalka-define-kbd "4" "C-4")
-  (modalka-define-kbd "5" "C-5")
-  (modalka-define-kbd "6" "C-6")
-  (modalka-define-kbd "7" "C-7")
-  (modalka-define-kbd "8" "C-8")
-  (modalka-define-kbd "9" "C-9")
-
-  (modalka-define-kbd "G" "M-g g")
-  (modalka-define-kbd "L" "C-l")
-
-  (modalka-define-kbd "a" "C-a")
-  (modalka-define-kbd "b" "C-b")
-  (modalka-define-kbd "d" "C-d")
-  (modalka-define-kbd "e" "C-e")
-  (modalka-define-kbd "f" "C-f")
-  (modalka-define-kbd "g" "C-g")
-  (modalka-define-kbd "j" "C-c l j")
-  (modalka-define-kbd "k" "C-k")
-  (modalka-define-kbd "l" "C-c l t")
-  (modalka-define-kbd "m" "C-c m")
-  (modalka-define-kbd "n" "C-n")
-  (modalka-define-kbd "p" "C-p")
-  (modalka-define-kbd "s" "C-s")
-  (modalka-define-kbd "v" "C-v")
-  (modalka-define-kbd "w" "C-w")
-  (modalka-define-kbd "y" "C-y")
-
-  (modalka-define-kbd "cb" "C-c p b")
-  (modalka-define-kbd "cd" "C-c p d")
-  (modalka-define-kbd "cf" "C-c p f")
-  (modalka-define-kbd "ck" "C-c p k")
-  (modalka-define-kbd "cp" "C-c p p")
-  (modalka-define-kbd "rm" "C-x r m")
-  (modalka-define-kbd "rb" "C-x r b")
-  (modalka-define-kbd "xb" "C-x b")
-  (modalka-define-kbd "xc" "C-x C-c")
-  (modalka-define-kbd "xd" "C-x d")
-  (modalka-define-kbd "xe" "C-x C-e")
-  (modalka-define-kbd "xf" "C-x C-f")
-  (modalka-define-kbd "xk" "C-x k")
-  (modalka-define-kbd "xo" "C-x o")
-  (modalka-define-kbd "xs" "C-x C-s"))
+(use-package god-mode
+  :bind (("M-<SPC>" . god-mode-all)
+         :map god-local-mode-map
+         ("." . repeat)
+         ("i" . god-local-mode))
+  :init
+  (setq god-exempt-major-modes '(magit-popup-mode)
+        god-exempt-predicates '(god-exempt-mode-p))
+  (god-mode-all)
+  :config
+  (defun my/god-update-cursor ()
+    (setq cursor-type (if god-local-mode 'box '(bar . 1))))
+
+  (add-hook 'god-mode-enabled-hook #'my/god-update-cursor)
+  (add-hook 'god-mode-disabled-hook #'my/god-update-cursor))
 
 ;;; Window management settings
 

    (windmove-right)))

(use-package hydra
  :commands hydra-window-layout/body
  :config
  (defhydra hydra-window-layout ()

(use-package treemacs
  :defer t
  :bind (:map global-map
              ("C-c v" . treemacs-toggle)
              ("C-c V" . treemacs-projectile))
  :init
  (setq treemacs-follow-after-init          t
        treemacs-width                      35
