emacs.d/init.el
2019-08-08 20:39:42 +02:00

218 lines
8.1 KiB
EmacsLisp
Executable file

;; -*- coding: utf-8 -*-
;; (add-to-list 'custom-theme-load-path (expand-file-name "~/.emacs.d/bundle/nord-theme/"))
(add-to-list 'load-path (expand-file-name "~/.emacs.d/bundle"))
;; Added by Package.el. This must come before configurations of
;; installed packages. Don't delete this line. If you don't want it,
;; just comment it out by adding a semicolon to the start of the line.
;; You may delete these explanatory comments.
(require 'package)
(let* ((no-ssl (and (memq system-type '(windows-nt ms-dos))
(not (gnutls-available-p))))
(proto (if no-ssl "http" "https")))
(when no-ssl
(warn "\
Your version of Emacs does not support SSL connections,
which is unsafe because it allows man-in-the-middle attacks.
There are two things you can do about this warning:
1. Install an Emacs version that does support SSL and be safe.
2. Remove this warning from your init file so you won't see it again."))
;; Comment/uncomment these two lines to enable/disable MELPA and MELPA Stable as desired
(add-to-list 'package-archives (cons "melpa" (concat proto "://melpa.org/packages/")) t)
;;(add-to-list 'package-archives (cons "melpa-stable" (concat proto "://stable.melpa.org/packages/")) t)
(when (< emacs-major-version 24)
;; For important compatibility libraries like cl-lib
(add-to-list 'package-archives (cons "gnu" (concat proto "://elpa.gnu.org/packages/")))))
(package-initialize)
(custom-set-variables
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(auto-save-default nil)
'(backup-directory-alist (quote (("" . "~/.emacs.d/_backup_files"))))
'(blink-cursor-mode nil)
'(cal-html-directory "~/Documents/Diary")
'(calendar-date-style (quote iso))
'(calendar-week-start-day 1)
'(column-number-mode nil)
'(custom-safe-themes
(quote
("4515feff287a98863b7b7f762197a78a7c2bfb6ec93879e7284dff184419268c" default)))
'(delete-selection-mode nil)
'(diary-file "~/Documents/Diary/diary")
'(display-battery-mode nil)
'(display-line-numbers (quote relative))
'(display-time-mode t)
'(display-time-world-list
(quote
(("America/Los_Angeles" "Seattle")
("America/New_York" "New York")
("Europe/London" "London")
("Europe/Paris" "Paris")
("Asia/Calcutta" "Bangalore")
("Asia/Tokyo" "Tokyo"))))
'(fill-column 72)
'(font-lock-maximum-decoration t)
'(global-auto-revert-mode t)
'(global-font-lock-mode t)
'(global-hl-line-mode t)
'(indent-tabs-mode nil)
'(inferior-lisp-program "/usr/bin/clisp")
'(inhibit-startup-screen t)
'(line-number-mode t)
'(line-spacing 3)
'(linum-relative-backend (quote display-line-numbers-mode))
'(major-mode (quote text-mode))
'(make-backup-files nil)
'(network-security-level (quote medium))
'(newsticker-download-logos nil)
'(newsticker-frontend (quote newsticker-plainview))
'(newsticker-show-descriptions-of-new-items nil)
'(newsticker-url-list-defaults
(quote
(("Emacs Wiki" "https://www.emacswiki.org/emacs?action=rss" nil 3600)
("openSuse News" "https://news.opensuse.org/feed")
("Linuxjournal" "https://www.linuxjournal.com/node/feed")
("Phoronix" "https://www.phoronix.com/rss.php")
("Ubuntu" "https://blog.ubuntu.com/feed")
("Python PEP" "https://www.python.org/dev/peps/peps.rss/"))))
'(nord-comment-brightness 15)
'(nord-region-highlight "snowstorm")
'(org-agenda-files (quote ("~/Documents/Journal")))
'(org-babel-load-languages
(quote
((js . t)
(emacs-lisp . t)
(python . t)
(sqlite . t)
(lisp . t))))
'(org-clock-persist t)
'(org-confirm-babel-evaluate nil)
'(org-default-notes-file "~/Documents/Journal/notes.org")
'(package-enable-at-startup t)
'(package-selected-packages
(quote
(latex-extra latex-preview-pane docker docker-api docker-cli docker-compose-mode dockerfile-mode ox-mediawiki ox-minutes ox-nikola cargo racket-mode rust-mode w3m slime gherkin-mode gitlab gitlab-ci-mode org-jira powershell helm gitconfig-mode gitignore-mode ox-rst typescript-mode ## skewer-mode ob-http ob-ipython ob-restclient linum-relative markdown-mode nord-theme restclient request restclient-test yaml-mode magit)))
'(python-shell-interpreter "python3" t)
'(request-log-level (quote debug))
'(request-message-level (quote debug))
'(require-final-newline t)
'(size-indication-mode nil)
'(timeclock-file "~/Documents/Diary/timelog")
'(timeclock-mode-line-display t)
'(visible-bell 1))
(load-theme 'nord t)
(require 'markdown-mode)
(require 'linum-relative)
(require 'fill-column-indicator)
(require 'tls)
(require 'request)
(require 'yaml-mode)
(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
)
(when (display-graphic-p) (add-to-list 'default-frame-alist '(font . "Hack-11")))
;; UTF-8 FTW
(prefer-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(set-terminal-coding-system 'utf-8)
;; nuke trailing whitespace when writing to a file
(add-hook 'write-file-hooks 'delete-trailing-whitespace)
(add-hook 'org-mode-hook 'turn-on-font-lock)
(add-hook 'markdown-mode-hook 'turn-on-font-lock)
(add-hook 'python-mode-hook 'turn-on-font-lock)
;; I got sick of typing "yes"
(defalias 'yes-or-no-p 'y-or-n-p)
;; Turn off chrome
(dolist (mode '(menu-bar-mode tool-bar-mode scroll-bar-mode))
(when (fboundp mode) (funcall mode -1)))
;; start a server, unless one is already running
(when (require 'server nil t) (unless (server-running-p) (server-start)))
;; custom packages
(when (eq system-type 'darwin)
(when (display-graphic-p)
;;(set-default-font "RobotoMono Nerd Font 13")
(set-frame-font "RobotoMono Nerd Font 13")
(add-to-list 'default-frame-alist '(font . "RobotoMono Nerd Font-13"))
(add-to-list 'default-frame-alist '(ns-transparent-titlebar . t))
(add-to-list 'default-frame-alist '(ns-appearance . dark))
(add-to-list 'default-frame-alist '(height . 60))
(add-to-list 'default-frame-alist '(width . 80))))
(when (eq system-type 'windows-nt)
(setq python-shell-interpreter "python")
;; (setq-default line-spacing 5)
(add-to-list 'load-path (expand-file-name "~/.emacs.d/__evo"))
;; (require 'evo-feeds)
(when (display-graphic-p)
(add-to-list 'default-frame-alist '(font . "Consolas-11"))
(add-to-list 'default-frame-alist '(height . 50))
(add-to-list 'default-frame-alist '(width . 86))
(add-to-list 'default-frame-alist '(fullscreen . maximized))
;; (add-to-list 'default-frame-alist '(alpha . (96)))
))
(when (eq system-type 'gnu/linux)
(setq-default line-spacing 3)
(when (display-graphic-p)
(add-to-list 'default-frame-alist '(height . 50))
(add-to-list 'default-frame-alist '(width . 80))))
(defun copy-whole-buffer ()
"Copy entire buffer to clipboard"
(interactive)
(clipboard-kill-ring-save (point-min) (point-max)))
(defun format-whole-buffer ()
"Copy entire buffer to clipboard"
(interactive)
(fill-paragraph (point-min) (point-max)))
(put 'upcase-region 'disabled nil)
(setq view-diary-entries-initially t
mark-diary-entries-in-calendar t
number-of-diary-entries 7)
(add-hook 'diary-display-hook 'fancy-diary-display)
(add-hook 'today-visible-calendar-hook 'calendar-mark-today)
(global-set-key "\C-cl" 'org-store-link)
(global-set-key "\C-ca" 'org-agenda)
(global-set-key "\C-cc" 'org-capture)
(global-set-key "\C-cb" 'org-switchb)
(global-set-key (kbd "C-x g") 'magit-status)
(global-set-key (kbd "C-x M-g") 'magit-dispatch)
(setq org-todo-keywords
'((sequence "TODO" "FEEDBACK" "VERIFY" "|" "DONE" "DELEGATED")))
(put 'narrow-to-region 'disabled nil)
(put 'narrow-to-page 'disabled nil)
(defun duplicate-line()
(interactive)
(move-beginning-of-line 1)
(kill-line)
(yank)
(open-line 1)
(next-line 1)
(yank)
)
;;(global-set-key (kbd "C-d") 'duplicate-line)
(add-to-list 'auto-mode-alist '("\\.yml\\'" . yaml-mode))
;; slime
(setq slime-contribs '(slime-fancy))
(org-clock-persistence-insinuate)