diff --git a/emacs/spacemacs/.spacemacs b/emacs/spacemacs/.spacemacs
index 827c090..0056f9d 100644
--- a/emacs/spacemacs/.spacemacs
+++ b/emacs/spacemacs/.spacemacs
@@ -32,35 +32,39 @@ This function should only modify configuration layer settings."
 
    ;; List of configuration layers to load.
    dotspacemacs-configuration-layers
-   '(
+   '(csv
+     python
      ;; ----------------------------------------------------------------
      ;; Example of useful layers you may want to use right away.
      ;; Uncomment some layer names and press `SPC f e R' (Vim style) or
      ;; `M-m f e R' (Emacs style) to install them.
      ;; ----------------------------------------------------------------
      ;; (dart :variables dart-server-sdk-path "<flutter-path>/bin/cache/dart-sdk/")
+     (csharp :variables
+             csharp-backend nil)
      rust
      tabs
      auto-completion
      (auto-completion :variables
-          auto-completion-return-key-behavior 'complete
-          auto-completion-tab-key-behavior 'cycle
-          auto-completion-complete-with-key-sequence nil
-          auto-completion-complete-with-key-sequence-delay 0.1
-          auto-completion-minimum-prefix-length 2
-          auto-completion-idle-delay 0.2
-          auto-completion-private-snippets-directory nil
-          auto-completion-enable-snippets-in-popup nil
-          auto-completion-enable-help-tooltip t 
-          auto-completion-use-company-box nil
-          auto-completion-enable-sort-by-usage nil)
+                      auto-completion-return-key-behavior 'complete
+                      auto-completion-tab-key-behavior 'cycle
+                      auto-completion-complete-with-key-sequence nil
+                      auto-completion-complete-with-key-sequence-delay 0.1
+                      auto-completion-minimum-prefix-length 2
+                      auto-completion-idle-delay 0.2
+                      auto-completion-private-snippets-directory nil
+                      auto-completion-enable-snippets-in-popup nil
+                      auto-completion-enable-help-tooltip 't
+                      auto-completion-use-company-box nil
+                      auto-completion-enable-sort-by-usage nil)
      ;; better-defaults
      emacs-lisp
-     git
+     (git :variables
+          git-magit-status-fullscreen t)
      helm
      (lsp :variables
-        lsp-lens-enable t
-        lsp-ui-doc-enable t)
+          lsp-lens-enable t
+          lsp-ui-doc-enable t)
      ;; markdown
      multiple-cursors
      org
@@ -68,10 +72,13 @@ This function should only modify configuration layer settings."
      ;;        shell-default-height 30
      ;;        shell-default-position 'bottom)
      (spell-checking :variables
-        spell-checking-enable-by-default nil)
+                     spell-checking-enable-by-default nil)
      syntax-checking
      ;; version-control
-     treemacs)
+     treemacs
+     json
+     (evil-snipe :variables evil-snipe-enable-alternate-f-and-t-behaviors t)
+     )
 
 
    ;; List of additional packages that will be installed without being wrapped
@@ -82,7 +89,7 @@ This function should only modify configuration layer settings."
    ;; `dotspacemacs/user-config'. To use a local version of a package, use the
    ;; `:location' property: '(your-package :location "~/path/to/your-package/")
    ;; Also include the dependencies as they will not be resolved automatically.
-   dotspacemacs-additional-packages '()
+   dotspacemacs-additional-packages '(format-all)
 
    ;; A list of packages that cannot be updated.
    dotspacemacs-frozen-packages '()
@@ -268,7 +275,7 @@ It should only modify the values of Spacemacs settings."
    ;; a non-negative integer (pixel size), or a floating-point (point size).
    ;; Point size is recommended, because it's device independent. (default 10.0)
    dotspacemacs-default-font '("Source Code Pro"
-                               :size 12.0
+                               :size 11.0
                                :weight normal
                                :width normal)
 
@@ -572,23 +579,45 @@ This function is called at the very end of Spacemacs startup, after layer
 configuration.
 Put your configuration code here, except for variables that should be set
 before packages are loaded."
+  (setq rust-format-on-save t)
   ;; (global-set-key (kbd "M-1") 'evil-jump-forward)
   ;; (setq centaur-tabs-show-count t)
   (define-key winum-keymap (kbd "M-1") 'tab-bar-switch-to-tab)
   ;; (evil-define-key '(normal) nil (kbd "C-i") 'evil-jump-forward)
   (define-key evil-motion-state-map (kbd "C-i") 'evil-jump-forward)
+  (evil-define-key* '(normal insert visual) 'global (kbd "C-s") 'escape-and-save)
+  (evil-define-key* '(normal visual) 'global (kbd "gD") 'lsp-find-references)
+
+  (global-set-key (kbd "C--") 'spacemacs/scale-down-font)
+  (global-set-key (kbd "C-+") 'spacemacs/scale-up-font)
+  (global-set-key (kbd "C-=") 'spacemacs/reset-font-size)
 
   (spacemacs/set-leader-keys "." 'lazy-helm/spacemacs/helm-find-files)
+  (spacemacs/set-leader-keys ":" 'helm-projectile-find-file)
   (spacemacs/declare-prefix "o" "open external")
   (spacemacs/set-leader-keys "ot" 'open-external-terminal)
 
+  (spacemacs/set-leader-keys "gg" 'magit-status)
+  (spacemacs/set-leader-keys "ee" 'flycheck-explain-error-at-point)
+  ;; (spacemacs/set-leader-keys "br" '(revert-buffer nil nil))
+
   (setq evil-escape-key-sequence "kj")
 
   (defun open-external-terminal ()
     "Open external terminal"
     (interactive)
     (call-process-shell-command "alacritty&" nil 0))
-)
+
+  (defun escape-and-save()
+    "Evil escape and then save buffer"
+    (interactive)
+    (evil-escape)
+    (condition-case nil
+        (format-all-buffer)
+      (error nil))
+    (save-buffer))
+
+  )
 
 ;; Do not write anything past this comment. This is where Emacs will
 ;; auto-generate custom variable definitions.
@@ -603,8 +632,9 @@ This function is called at the very end of Spacemacs initialization."
  ;; Your init file should contain only one such instance.
  ;; If there is more than one, they won't work right.
  '(evil-want-Y-yank-to-eol nil)
+ '(org-babel-load-languages '((csharp . t) (emacs-lisp)))
  '(package-selected-packages
-   '(company-quickhelp stickyfunc-enhance srefactor yasnippet-snippets treemacs-magit smeargle orgit-forge orgit org-rich-yank org-projectile org-category-capture org-present org-pomodoro alert log4e gntp org-mime org-download org-contrib org-cliplink org lsp-ui lsp-origami origami htmlize helm-org-rifle helm-lsp helm-git-grep helm-company helm-c-yasnippet gnuplot gitignore-templates git-timemachine git-modes git-messenger git-link fuzzy forge yaml magit ghub closql emacsql-sqlite emacsql treepy magit-section git-commit with-editor transient flyspell-correct-helm flyspell-correct flycheck-pos-tip evil-org centaur-tabs auto-yasnippet yasnippet auto-dictionary ac-ispell auto-complete toml-mode ron-mode racer pos-tip rust-mode helm-gtags ggtags flycheck-rust dap-mode lsp-treemacs bui lsp-mode counsel-gtags counsel swiper ivy company cargo markdown-mode ws-butler writeroom-mode winum which-key volatile-highlights vi-tilde-fringe uuidgen use-package undo-tree treemacs-projectile treemacs-persp treemacs-icons-dired treemacs-evil toc-org symon symbol-overlay string-inflection string-edit spaceline-all-the-icons restart-emacs request rainbow-delimiters quickrun popwin pcre2el password-generator paradox overseer org-superstar open-junk-file nameless multi-line macrostep lorem-ipsum link-hint inspector info+ indent-guide hybrid-mode hungry-delete hl-todo highlight-parentheses highlight-numbers highlight-indentation hide-comnt helm-xref helm-themes helm-swoop helm-purpose helm-projectile helm-org helm-mode-manager helm-make helm-ls-git helm-flx helm-descbinds helm-ag google-translate golden-ratio font-lock+ flycheck-package flycheck-elsa flx-ido fancy-battery eyebrowse expand-region evil-visualstar evil-visual-mark-mode evil-unimpaired evil-tutor evil-textobj-line evil-terminal-cursor-changer evil-surround evil-numbers evil-nerd-commenter evil-mc evil-matchit evil-lisp-state evil-lion evil-indent-plus evil-iedit-state evil-goggles evil-exchange evil-escape evil-ediff evil-easymotion evil-collection evil-cleverparens evil-args evil-anzu eval-sexp-fu emr elisp-slime-nav elisp-def editorconfig dumb-jump drag-stuff dotenv-mode dired-quick-sort diminish devdocs define-word column-enforce-mode clean-aindent-mode centered-cursor-mode auto-highlight-symbol auto-compile aggressive-indent ace-link ace-jump-helm-line)))
+   '(csv-mode yapfify sphinx-doc pytest pyenv-mode pydoc py-isort poetry pippel pipenv pyvenv pip-requirements nose lsp-python-ms lsp-pyright live-py-mode importmagic epc ctable concurrent deferred helm-pydoc helm-cscope xcscope cython-mode company-anaconda blacken anaconda-mode pythonic evil-snipe omnisharp csharp-mode web-beautify prettier-js json-reformat json-navigator hierarchy json-mode json-snatcher format-all language-id inheritenv company-quickhelp stickyfunc-enhance srefactor yasnippet-snippets treemacs-magit smeargle orgit-forge orgit org-rich-yank org-projectile org-category-capture org-present org-pomodoro alert log4e gntp org-mime org-download org-contrib org-cliplink org lsp-ui lsp-origami origami htmlize helm-org-rifle helm-lsp helm-git-grep helm-company helm-c-yasnippet gnuplot gitignore-templates git-timemachine git-modes git-messenger git-link fuzzy forge yaml magit ghub closql emacsql-sqlite emacsql treepy magit-section git-commit with-editor transient flyspell-correct-helm flyspell-correct flycheck-pos-tip evil-org centaur-tabs auto-yasnippet yasnippet auto-dictionary ac-ispell auto-complete toml-mode ron-mode racer pos-tip rust-mode helm-gtags ggtags flycheck-rust dap-mode lsp-treemacs bui lsp-mode counsel-gtags counsel swiper ivy company cargo markdown-mode ws-butler writeroom-mode winum which-key volatile-highlights vi-tilde-fringe uuidgen use-package undo-tree treemacs-projectile treemacs-persp treemacs-icons-dired treemacs-evil toc-org symon symbol-overlay string-inflection string-edit spaceline-all-the-icons restart-emacs request rainbow-delimiters quickrun popwin pcre2el password-generator paradox overseer org-superstar open-junk-file nameless multi-line macrostep lorem-ipsum link-hint inspector info+ indent-guide hybrid-mode hungry-delete hl-todo highlight-parentheses highlight-numbers highlight-indentation hide-comnt helm-xref helm-themes helm-swoop helm-purpose helm-projectile helm-org helm-mode-manager helm-make helm-ls-git helm-flx helm-descbinds helm-ag google-translate golden-ratio font-lock+ flycheck-package flycheck-elsa flx-ido fancy-battery eyebrowse expand-region evil-visualstar evil-visual-mark-mode evil-unimpaired evil-tutor evil-textobj-line evil-terminal-cursor-changer evil-surround evil-numbers evil-nerd-commenter evil-mc evil-matchit evil-lisp-state evil-lion evil-indent-plus evil-iedit-state evil-goggles evil-exchange evil-escape evil-ediff evil-easymotion evil-collection evil-cleverparens evil-args evil-anzu eval-sexp-fu emr elisp-slime-nav elisp-def editorconfig dumb-jump drag-stuff dotenv-mode dired-quick-sort diminish devdocs define-word column-enforce-mode clean-aindent-mode centered-cursor-mode auto-highlight-symbol auto-compile aggressive-indent ace-link ace-jump-helm-line)))
 (custom-set-faces
  ;; custom-set-faces was added by Custom.
  ;; If you edit it by hand, you could mess it up, so be careful.