(use-package paredit :straight t :config (add-hook 'emacs-lisp-mode-hook #'paredit-mode) (add-hook 'lisp-interaction-mode-hook #'paredit-mode) (add-hook 'ielm-mode-hook #'paredit-mode) (add-hook 'lisp-mode-hook #'paredit-mode) (add-hook 'eval-expression-minibuffer-setup-hook #'paredit-mode)) (use-package magit :straight t) (use-package treemacs :straight t :init (with-eval-after-load 'winum (define-key winum-keymap (kbd "M-0") #'treemacs-select-window)) :bind (:map global-map ("M-0" . treemacs-select-window) ("C-x t t" . treemacs) ("C-x t C-t" . treemacs-find-file))) (use-package hide-mode-line :straight t) (add-hook 'treemacs-mode-hook #'hide-mode-line-mode) ;; Direnv integration (use-package direnv :straight t) ; (direnv-mode) (use-package company :straight t :config (add-hook 'after-init-hook 'global-company-mode) (setq company-idle-delay 0) (setq company-minimum-prefix-length 1)) (use-package go-mode :straight t) (use-package nix-mode :straight t :mode "\\.nix\\'") (use-package yaml-mode :straight t) (use-package svelte-mode :straight t) (use-package terraform-mode :straight t) (use-package yasnippet :straight t) (yas-global-mode 1) (use-package k8s-mode :straight t :config (setq k8s-search-documentation-browser-function 'browse-url-firefox) :hook (k8s-mode . yas-minor-mode)) (use-package kubernetes :straight t) (use-package rust-mode :straight t) (add-hook 'rust-mode-hook (lambda () (setq indent-tabs-mode nil))) (add-hook 'rust-ts-mode-hook (lambda () (setq indent-tabs-mode nil))) (use-package ebuild-mode :straight t) (use-package just-mode :straight t) (use-package lua-mode :straight t) (use-package tree-sitter :straight t) (use-package tree-sitter-indent :straight t) (use-package php-mode :straight t) (setq treesit-language-source-alist '((bash "https://github.com/tree-sitter/tree-sitter-bash") (cmake "https://github.com/uyha/tree-sitter-cmake") (css "https://github.com/tree-sitter/tree-sitter-css") (elisp "https://github.com/Wilfred/tree-sitter-elisp") (go "https://github.com/tree-sitter/tree-sitter-go") (html "https://github.com/tree-sitter/tree-sitter-html") (javascript "https://github.com/tree-sitter/tree-sitter-javascript" "master" "src") (json "https://github.com/tree-sitter/tree-sitter-json") (make "https://github.com/alemuller/tree-sitter-make") (markdown "https://github.com/ikatyang/tree-sitter-markdown") (python "https://github.com/tree-sitter/tree-sitter-python") (toml "https://github.com/tree-sitter/tree-sitter-toml") (tsx "https://github.com/tree-sitter/tree-sitter-typescript" "master" "tsx/src") (typescript "https://github.com/tree-sitter/tree-sitter-typescript" "master" "typescript/src") (yaml "https://github.com/ikatyang/tree-sitter-yaml") (just "https://github.com/IndianBoy42/tree-sitter-just") (php "https://github.com/tree-sitter/tree-sitter-php"))) (add-to-list 'auto-mode-alist '("\\.ts\\'" . typescript-ts-mode)) (setq major-mode-remap-alist '((yaml-mode . yaml-ts-mode) (bash-mode . bash-ts-mode) (js2-mode . js-ts-mode) (typescript-mode . typescript-ts-mode) (json-mode . json-ts-mode) (css-mode . css-ts-mode) (python-mode . python-ts-mode) (rust-mode . rust-ts-mode) (php-mode . php-ts-mode) )) (add-hook 'prog-mode-hook 'display-line-numbers-mode)