diff options
Diffstat (limited to 'blendoit/blendoit-init.el')
-rw-r--r-- | blendoit/blendoit-init.el | 306 |
1 files changed, 306 insertions, 0 deletions
diff --git a/blendoit/blendoit-init.el b/blendoit/blendoit-init.el new file mode 100644 index 0000000..4e064da --- /dev/null +++ b/blendoit/blendoit-init.el @@ -0,0 +1,306 @@ +;; Prompt enterprise or personal install. Create file in .emacs.d/ on Linux, + ;; AppData/ on Windows. Ask user for details and preferred bindings. + +; Check if .emacs.d exists + +; If it does, warn user + +; Copy init-bootstrap.el from USB to where operating systems expects init.el + +(setq gc-cons-threshold 100000000) + +; (setq initial-buffer-choice (lambda () (get-buffer "*dashboard*"))) + +(setq custom-file "~/.emacs.d/init-custom.el") +(load custom-file) + +; (profiler-start) + +(defun find-init-blendoit () + "Jump to this very file." + (interactive) + (find-file "~/.emacs.d/blendoit/blendoit-init.org")) + +(global-set-key (kbd "C-c c") 'find-init-blendoit) + +(global-set-key (kbd "C-c v") 'customize-variable) +(global-set-key (kbd "C-c f") 'customize-face) + +(setq backup-directory-alist `((".*" . ,temporary-file-directory)) +auto-save-file-name-transforms `((".*" ,temporary-file-directory t)) + backup-by-copying t ; Don't delink hardlinks + version-control t ; Use version numbers on backups + delete-old-versions t ; Automatically delete excess backups + kept-new-versions 20 ; how many of the newest versions to keep + kept-old-versions 5 ; and how many of the old + ) + +(setq user-full-name "Marius Peter" + user-mail-address "blendoit@gmail.com") + +(if (string-equal system-type "windows-nt") + (add-to-list 'exec-path "C:/Users/marius.peter/PortableGit/bin/")) + +(global-set-key (kbd "C-`") 'delete-other-windows) + (global-set-key (kbd "C-s") 'save-buffer) + (global-set-key (kbd "C-b") 'ibuffer-sidebar-toggle-sidebar) + (global-set-key (kbd "C-r") 'counsel-recentf) +; (global-set-key (kbd "C-n") 'make-frame) ; 7aram! + +(global-set-key (kbd "C-o") 'menu-find-file-existing) + +(defadvice find-file-read-args (around find-file-read-args-always-use-dialog-box act) + "Simulate invoking menu item as if by the mouse; see `use-dialog-box'." + (let ((last-nonmenu-event nil)) + ad-do-it)) + +(defun delete-window-or-previous-buffer () + "Delete window; if sole window, previous buffer." + (interactive) + (if (> (length (window-list)) 1) + (delete-window) + (previous-buffer))) + +(global-set-key (kbd "C-w") 'delete-window-or-previous-buffer) +(global-set-key (kbd "C-q") 'save-buffers-kill-terminal) + +(global-set-key (kbd "C--") 'text-scale-decrease) +(global-set-key (kbd "C-=") 'text-scale-increase) +(global-set-key (kbd "C-+") 'text-scale-increase) + +(require 'package) +(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t) +(add-to-list 'package-archives '("org" . "https://orgmode.org/elpa/") t) +(package-initialize) + +(unless (package-installed-p 'use-package) + (package-refresh-contents) + (package-install 'use-package) + (eval-when-compile (require 'use-package))) +(setq use-package-always-ensure t) + +(use-package ivy + :config + (setq ivy-use-virtual-buffers t + ivy-count-format "%d/%d " + enable-recursive-minibuffers t)) +(ivy-mode t) + +(use-package counsel + :bind ("M-x" . counsel-M-x) + :config (counsel-mode t)) + +(global-set-key (kbd "C-f") 'counsel-grep-or-swiper) + +(use-package swiper + :bind (("C-f" . counsel-grep-or-swiper))) + +(use-package evil) +;; (evil-mode 1) + +(setq org-directory "~/org") + +(setq org-hide-emphasis-markers t) +(setq org-startup-indented t) + +(setq org-catch-invisible-edits t) + +(global-set-key (kbd "C-c a") 'org-agenda-list) + +(setq org-time-stamp-custom-formats + '("%d %b, %Y (%a)" . "%d %b, %Y (%a), at %H:%M")) + +(setq org-latex-inactive-timestamp-format + "\\textcolor{ForestGreen!60}{\\textit{%s}}") + +(require 'ox-publish) +(setq org-publish-project-alist + '( + ("Safran-VIP-html" + :base-directory "~/org/WORK/Safran/programs/B787/VIP/doc/org/" + :base-extension "org" + :publishing-directory "~/org/WORK/Safran/programs/B787/VIP/doc/wiki/" + :recursive t + :publishing-function org-html-publish-to-html + :auto-preamble t + :auto-sitemap t + :sitemap-title "" ) + + ("Safran-VIP-static" + :base-directory "~/org/WORK/Safran/programs/B787/VIP/doc/org/" + :base-extension "css\\|js\\|png\\|jpg\\|gif\\|pdf\\|mp3\\|mp4\\|ogg\\|swf" + :publishing-directory "~/org/WORK/Safran/programs/B787/VIP/doc/wiki/" + :recursive t + :publishing-function org-publish-attachment ) + + ("Safran-VIP-all" + :components ("Safran-VIP-html" "Safran-VIP-static")) + + ("Safran-MA700-html" + :base-directory "~/org/WORK/Safran/programs/MA700/doc/org/" + :base-extension "org" + :publishing-directory "~/org/WORK/Safran/programs/MA700/doc/wiki/" + :recursive t + :publishing-function org-html-publish-to-html + :auto-preamble t + :auto-sitemap t + :sitemap-title "" ) + + ("Safran-MA700-static" + :base-directory "~/org/WORK/Safran/programs/MA700/doc/org/" + :base-extension "css\\|js\\|png\\|jpg\\|gif\\|pdf\\|mp3\\|mp4\\|ogg\\|swf" + :publishing-directory "~/org/WORK/Safran/programs/MA700/doc/wiki/" + :recursive t + :publishing-function org-publish-attachment ) + + ("Safran-MA700-all" + :components ("Safran-MA700-html" "Safran-MA700-static")))) + + (add-to-list 'org-latex-packages-alist '("table" "xcolor" + t ("pdflatex"))) + (add-to-list 'org-latex-packages-alist '("AUTO" "babel" + t ("pdflatex"))) + (add-to-list 'org-latex-packages-alist '("AUTO" "polyglossia" + t ("xelatex" "lualatex"))) + +(defun blendoit-org-quick-export () + "Org export to PDF and open. + This basically reimplements `C-c C-e l o'." + (interactive) + (org-open-file (org-latex-export-to-pdf))) + +(global-set-key (kbd "C-c e") 'blendoit-org-quick-export) + +(global-undo-tree-mode) + +(use-package dumb-jump) +(add-hook 'xref-backend-functions #'dumb-jump-xref-activate) + +(use-package gnuplot) + +(use-package ledger-mode + :bind + ("C-c r" . ledger-report) + ("C-c C" . ledger-mode-clean-buffer)) + +;; (use-package ibuffer-sidebar) +;; (ibuffer-sidebar-show-sidebar) + +; :bind ("mouse-1" . ibuffer-mouse-visit-buffer) +; :bind ("mouse-3" . ibuffer-mouse-toggle-mark)) + +; (add-hook 'ibuffer-sidebar-mode-hook +; (lambda () +; (local-unset-key (quote mouse-1)) +; (local-unset-key (quote mouse-2)) +; (local-set-key (quote mouse-1) (quote ibuffer-mouse-visit-buffer)) +; (local-set-key (quote mouse-2) (quote ibuffer-mouse-toggle-mark)))) + +;; (load-file) + +(use-package which-key +:init + (which-key-mode) +;; :config +;; (setq which-key-idle-delay 1000) +;; (setq which-key-idle-secondary-delay 0.05) +;; (setq which-key-show-early-on-C-h t) +) + +; (add-hook 'after-init-hook 'global-company-mode) + +(use-package flycheck + :init (global-flycheck-mode)) + +(use-package csv-mode) + +; (use-package json-mode) + +(use-package magit + :bind ("C-c g" . magit-status)) + +(use-package pdf-tools) +;; (pdf-tools-install) + +(setq inhibit-startup-message t) +(use-package dashboard + :config + (dashboard-setup-startup-hook) + (setq dashboard-startup-banner "~/.emacs.d/blendoit/img/Safran_logo.svg") + (setq dashboard-items '((recents . 5) + (projects . 5))) + (setq dashboard-banner-logo-title "A modern professional text editor.")) + +(use-package rainbow-mode + :ensure t + :init + (add-hook 'prog-mode-hook 'rainbow-mode)) + +(use-package projectile + :bind ("C-c p" . 'projectile-command-map) + :init (projectile-mode 1) + (setq projectile-completion-system 'ivy)) + +(use-package all-the-icons) + +(show-paren-mode 1) +(setq show-paren-delay 0) + +(use-package rainbow-delimiters + :config (add-hook 'prog-mode-hook #'rainbow-delimiters-mode)) + +; (electric-pair-mode) + +(setq-default cursor-type (quote box)) +(setq-default mixed-pitch-variable-pitch-cursor (quote bar)) + +(add-hook 'org-mode-hook 'variable-pitch-mode) +(add-hook 'info-mode-hook 'variable-pitch-mode) + +;; (if (> (display-pixel-width nil) 1920) +;; (add-to-list 'custom-set-faces '(default ((t (:family "Hack" :height 176))))) +;; (add-to-list 'custom-set-faces '(default ((t (:family "Hack" :height 140)))))) + +(add-to-list 'default-frame-alist '(width . 80)) +(add-to-list 'default-frame-alist '(height . 32)) + +(add-to-list 'initial-frame-alist '(width . 80)) +(add-to-list 'initial-frame-alist '(height . 32)) + +(when (and (display-graphic-p) (string-equal system-type "gnu/linux")) + (set-frame-parameter (selected-frame) 'alpha '(90 . 50)) + (add-to-list 'default-frame-alist '(alpha . (90 . 50)))) + +(setq custom-theme-directory "~/.emacs.d/blendoit/themes/") +(load-theme 'blendoit-light) +; (load-theme 'blendoit-dark) + +(setq-default fill-column 79) + +(defalias 'yes-or-no-p 'y-or-n-p) + +(set-window-scroll-bars (minibuffer-window) nil nil) + +(save-place-mode 1) + +(setq menu-bar-mode t) + +(setq c-default-style "linux" + c-basic-offset 4) + +(menu-bar-bottom-and-right-window-divider) + + + +(add-hook 'org-mode-hook 'turn-on-auto-fill) + +(recentf-mode 1) +(setq recentf-max-menu-items 25) +(setq recentf-max-saved-items 25) +(run-at-time nil (* 5 60) 'recentf-save-list) + +; (setq pop-up-frames (quote graphic-only)) + +;; (profiler-stop) + +;; (profiler-report) |