You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
76 lines
2.5 KiB
76 lines
2.5 KiB
3 years ago
|
(require 'package)
|
||
|
(add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/"))
|
||
|
(add-to-list 'package-archives '("gnu" . "http://elpa.gnu.org/packages/"))
|
||
|
(eval-when-compile
|
||
|
(require 'use-package))
|
||
|
|
||
|
;list the packages you want
|
||
|
(setq package-list '(rustic calfw multiple-cursors transient magit restart-emacs dashboard simpleclip auctex company eglot centaur-tabs telephone-line rainbow-delimiters smex format-all flycheck neotree rainbow-mode use-package))
|
||
|
|
||
|
; list the repositories containing them
|
||
|
(setq package-archives '(("elpa" . "http://tromey.com/elpa/")
|
||
|
("gnu" . "http://elpa.gnu.org/packages/")
|
||
|
("marmalade" . "http://marmalade-repo.org/packages/")))
|
||
|
|
||
|
; activate all the packages (in particular autoloads)
|
||
|
(package-initialize)
|
||
|
|
||
|
; fetch the list of packages available
|
||
|
(unless package-archive-contents
|
||
|
(package-refresh-contents))
|
||
|
|
||
|
; install the missing packages
|
||
|
(dolist (package package-list)
|
||
|
(unless (package-installed-p package)
|
||
|
(package-install package)))
|
||
|
|
||
|
|
||
|
(use-package company)
|
||
|
(add-hook 'after-init-hook 'global-company-mode)
|
||
|
|
||
|
(use-package eglot :ensure t)
|
||
|
(add-hook 'c++-mode-hook 'eglot-ensure)
|
||
|
(add-hook 'c-mode-hook 'eglot-ensure)
|
||
|
|
||
|
(use-package rustic :init
|
||
|
(setq rustic-lsp-client 'eglot))
|
||
|
|
||
|
(use-package centaur-tabs :init
|
||
|
(setq centaur-tabs-enable-key-bindings t
|
||
|
centaur-tabs-set-icons t
|
||
|
centaur-tabs-set-modified-marker t
|
||
|
centaur-tabs-style "chamfer"))
|
||
|
(centaur-tabs-headline-match)
|
||
|
(centaur-tabs-mode 1)
|
||
|
(add-hook 'after-init-hook #'global-flycheck-mode)
|
||
|
(add-hook 'prog-mode-hook #'rainbow-delimiters-mode)
|
||
|
(global-set-key (kbd "M-x") 'smex)
|
||
|
(global-set-key (kbd "M-X") 'smex-major-mode-commands)
|
||
|
|
||
|
(require 'telephone-line)
|
||
|
(telephone-line-mode 1)
|
||
|
(when (fboundp 'windmove-default-keybindings)
|
||
|
(windmove-default-keybindings))
|
||
|
|
||
|
(setq-default cursor-type 'bar)
|
||
|
(setq backup-directory-alist '(("" . "~/.emacs.d/backup")))
|
||
|
(which-key-mode)
|
||
|
|
||
|
(use-package dashboard
|
||
|
:ensure t
|
||
|
:config (dashboard-setup-startup-hook)
|
||
|
(setq dashboard-set-footer nil
|
||
|
dashboard-org-agenda-categories '("Tasks" "appointments")))
|
||
|
|
||
|
(setq interprogram-cut-function nil)
|
||
|
|
||
|
(require 'multiple-cursors)
|
||
|
(global-set-key (kbd "C-S-c C-S-c") 'mc/edit-lines)
|
||
|
(global-set-key (kbd "C->") 'mc/mark-next-like-this)
|
||
|
(global-set-key (kbd "C-<") 'mc/mark-previous-like-this)
|
||
|
(global-set-key (kbd "C-c C-<") 'mc/mark-all-like-this)
|
||
|
(scroll-bar-mode -1)
|
||
|
(cond ((file-exists-p "~/.emacs_home.el") (load "~/.emacs_home.el")))
|
||
|
|
||
|
;;; .emacs ends here
|