(setq custom-file "~/.emacs.custom.el") (require 'package) (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t) (require 'use-package) (setq use-package-always-ensure t use-package-verbose t) (setq auto-save-default nil) (setq make-backup-files nil) (setq create-lockfiles nil) (setq display-line-numbers-type 'relative) (global-display-line-numbers-mode t) (setq ring-bell-function 'ignore) (set-face-attribute 'default nil :font "IosevkaNF-18") (tool-bar-mode -1) (menu-bar-mode -1) (scroll-bar-mode -1) (setq-default dired-dwim-target t) (windmove-default-keybindings) (setq split-height-threshold 0) (setq split-width-threshold nil) (setq-default show-trailing-whitespace t) (setq-default tab-width 4) (setq-default indent-tabs-mode nil) (add-hook 'c-mode-hook (lambda () (setq c-basic-offset 2) (setq tab-width 2) (setq indent-tabs-mode nil))) (ido-mode 1) (ido-everywhere 1) (use-package smex :init (smex-initialize)) (use-package kaolin-themes :config (load-theme 'kaolin-bubblegum t)) (use-package lsp-mode :config (setq lsp-headerline-breadcrumb-enable nil)) (use-package lsp-ui) (use-package company :init (global-company-mode) :config (setq company-minimum-prefix-length 1 company-idle-delay 0.0) (global-set-key (kbd "M-") 'company-complete)) (use-package evil :init (setq evil-want-C-u-scroll t) (setq evil-want-keybinding nil) (evil-mode)) (use-package evil-collection :after evil :init (evil-collection-init)) (with-eval-after-load 'evil-maps (define-key evil-motion-state-map (kbd "SPC") nil)) (with-eval-after-load 'company (define-key company-active-map (kbd "C-y") #'company-complete-selection)) (use-package general :init (general-evil-setup) (general-override-mode)) (general-create-definer my-leader-def :states '(normal visual motion emacs) :keymaps 'override :prefix "SPC" :global-prefix "M-SPC") (my-leader-def "f" 'find-file "b" 'switch-to-buffer "x" 'smex "c" 'compile "j" 'dired-jump) (define-key minibuffer-local-map [escape] 'keyboard-escape-quit) (use-package haskell-mode) (use-package go-mode)