; set variables (setq ido-enable-flex-matching t) (setq ido-everywhere t) (setq inhibit-splash-screen t) (setq tab-width 4) (setq custom-file "~/emacs-custom.el") (setq ring-bell-function 'ignore) (setq display-line-numbers-type 'relative) ; Toggle modes (require 'ido-vertical-mode ) (ido-mode 1) (ido-vertical-mode 1) (ido-everywhere 1) (tool-bar-mode -1) (toggle-scroll-bar -1) (menu-bar-mode -1) (global-display-line-numbers-mode 1) ; Install and load packages (require 'package) (require 'use-package-ensure) (setq package-archives '(("melpa" . "https://melpa.org/packages/") ("elpa" . "https://elpa.gnu.org/packages/") ("non-gnu" . "https://elpa.nongnu.org/nongnu/"))) (when (not package-archive-contents) (package-refresh-contents)) (package-initialize) (setq use-package-always-ensure t) (use-package catppuccin-theme) (use-package magit ) (use-package paredit ) ; keyboard (global-set-key (kbd "") 'keyboard-escape-quit) ;; Prevent me from confusion with VIM (use-package evil :init (setq evil-want-integration t) (setq evil-want-keybinding nil) (setq evil-want-C-u-scroll t) (setq evil-want-C-i-jump nil) :config (evil-mode 1) (define-key evil-insert-state-map (kbd "C-n") 'evil-normal-state) ) (use-package evil-collection :after evil :config (evil-collection-init)) (use-package all-the-icons) (use-package nerd-icons) (use-package doom-modeline :init (doom-modeline-mode 1) ) (use-package fzf :bind :config (setq fzf/args "-x --color bw --print-query --margin=1,0 --no-hscroll" fzf/executable "fzf" fzf/git-grep-args "-i --line-number %s" fzf/grep-command "rg -nrH" fzf/position-bottom t fzf/window-height 15) 'nowarnings ) (use-package projectile) (projectile-mode +1) (define-key projectile-mode-map (kbd "C-c p") 'projectile-command-map) (use-package consult :hook (completion-list-mode . consult-preview-at-point-mode) ) (use-package consult-company) (use-package consult-flycheck) (use-package consult-lsp) (use-package consult-projectile) (use-package dap-mode) (use-package flycheck) (use-package company) (use-package ivy) (require 'eglot) (add-to-list 'eglot-server-programs '("gradle" ("gradle" "--no-daemon" "tasks" "--quiet" "--info") (mode . gradle-mode) (file-mode . "java") (file-types . ("java" "groovy")))) (use-package lsp-pyright :custom (lsp-pyright-langserver-command "pyright") :hook (python-mode . (lambda () (lsp)))) (use-package lsp-java :config (add-hook 'java-mode-hook 'lsp)) ;; Set font (add-to-list 'default-frame-alist '(font . "SF Mono")) (set-face-attribute 'default t :font "SF Mono") ;; Load catppuccin theme (load-theme 'catppuccin :no-confirm) (setq catppuccin-flavor 'frappe) ;; Create semi-transparent background (set-frame-parameter nil 'alpha-background 80) (add-to-list 'default-frame-alist '(alpha-background . 80)) (load custom-file 'noerror 'nomessage) (put 'dired-find-alternate-file 'disabled nil)