Replaced :unless slow-computer with (unless slow-computer.

This prevents the installation of these packages on slow computers.
This commit is contained in:
tastytea 2019-03-22 23:23:51 +01:00
parent 6f1a7f74e3
commit 7934e6eb42

316
init.el
View File

@ -1,5 +1,5 @@
;;; init.el --- tastytea's Emacs init file. ;;; init.el --- tastytea's Emacs init file.
;;; Time-stamp: <2019-03-22 09:52:44 CET> ;;; Time-stamp: <2019-03-22 23:23:38 CET>
;;; Commentary: ;;; Commentary:
;;; I am using this file with Emacs 26, but most of it will probably work with ;;; I am using this file with Emacs 26, but most of it will probably work with
@ -148,25 +148,25 @@
("M-<up>" . scroll-down-line))) ("M-<up>" . scroll-down-line)))
;;;;;;;;;;;;;;;;;;;; Programming / C++ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;; Programming / C++ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(use-package rtags (unless slow-computer
:unless slow-computer (use-package rtags
:if (executable-find "llvm-config") :if (executable-find "llvm-config")
:if (executable-find "clang++") :if (executable-find "clang++")
:config :config
(unless (and (rtags-executable-find "rc") (rtags-executable-find "rdm")) (unless (and (rtags-executable-find "rc") (rtags-executable-find "rdm"))
(progn (progn
(message "RTags is not installed!") (message "RTags is not installed!")
(rtags-install))) (rtags-install)))
(rtags-enable-standard-keybindings) (rtags-enable-standard-keybindings)
:bind :bind
(:map c-mode-base-map (:map c-mode-base-map
("M-." . rtags-find-symbol-at-point) ("M-." . rtags-find-symbol-at-point)
("M-," . rtags-find-references-at-point) ("M-," . rtags-find-references-at-point)
("M-?" . rtags-display-summary)) ("M-?" . rtags-display-summary))
:hook :hook
(c++-mode . (rtags-start-process-unless-running)) (c++-mode . (rtags-start-process-unless-running))
(c-mode . (rtags-start-process-unless-running)) (c-mode . (rtags-start-process-unless-running))
(kill-emacs . rtags-quit-rdm)) (kill-emacs . rtags-quit-rdm)))
(use-package flycheck-rtags (use-package flycheck-rtags
:after (flycheck rtags) :after (flycheck rtags)
@ -191,12 +191,12 @@
(push 'company-rtags company-backends)) (push 'company-rtags company-backends))
;; cmake integration. ;; cmake integration.
(use-package cmake-ide (unless slow-computer
:unless slow-computer (use-package cmake-ide
:custom :custom
(cmake-ide-build-dir "build") (cmake-ide-build-dir "build")
:config :config
(cmake-ide-setup)) (cmake-ide-setup)))
;;;;;;;;;;;;;;;;;;;; Programming / other ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;; Programming / other ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Online documentation mode. ;; Online documentation mode.
@ -205,16 +205,16 @@
(prog-mode . turn-on-eldoc-mode)) (prog-mode . turn-on-eldoc-mode))
;; Syntax checking with many plugins. ;; Syntax checking with many plugins.
(use-package flycheck (unless slow-computer
:unless slow-computer (use-package flycheck
:config :config
(global-flycheck-mode)) (global-flycheck-mode)))
;; Autocompletion mode with many plugins. ;; Autocompletion mode with many plugins.
(use-package company (unless slow-computer
:unless slow-computer (use-package company
:hook :hook
(after-init . global-company-mode)) (after-init . global-company-mode)))
;; Fuzzy autocompletion for company. ;; Fuzzy autocompletion for company.
(use-package company-flx (use-package company-flx
@ -229,27 +229,27 @@
c-basic-offset 4) c-basic-offset 4)
;; Automatic project management. ;; Automatic project management.
(use-package projectile (unless slow-computer
:unless slow-computer (use-package projectile
:after neotree :after neotree
:config :config
(projectile-mode +1) (projectile-mode +1)
(setq projectile-switch-project-action 'neotree-projectile-action (setq projectile-switch-project-action 'neotree-projectile-action
projectile-project-compilation-dir "build" projectile-project-compilation-dir "build"
projectile-project-configure-cmd projectile-project-configure-cmd
"cmake -DCMAKE_BUILD_TYPE=Debug "cmake -DCMAKE_BUILD_TYPE=Debug
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON -G 'Unix Makefiles' .." -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -G 'Unix Makefiles' .."
projectile-project-compilation-cmd "cmake --build .") projectile-project-compilation-cmd "cmake --build .")
(defun my/projectile-kill-buffers-and-change-tabbar-grouping () (defun my/projectile-kill-buffers-and-change-tabbar-grouping ()
"Kill project buffers and change tabbar-ruler grouping to user-buffers." "Kill project buffers and change tabbar-ruler grouping to user-buffers."
(interactive) (interactive)
(projectile-kill-buffers) (projectile-kill-buffers)
(tabbar-ruler-group-user-buffers)) (tabbar-ruler-group-user-buffers))
:bind :bind
("C-c p" . 'projectile-command-map) ("C-c p" . 'projectile-command-map)
(:map projectile-command-map (:map projectile-command-map
("k" . 'my/projectile-kill-buffers-and-change-tabbar-grouping))) ("k" . 'my/projectile-kill-buffers-and-change-tabbar-grouping))))
;; GUI for gdb and other debuggers. ;; GUI for gdb and other debuggers.
(use-package realgud (use-package realgud
@ -309,14 +309,14 @@
(all-the-icons-install-fonts t))) (all-the-icons-install-fonts t)))
;; Themes for doom-modeline. ;; Themes for doom-modeline.
(use-package doom-themes (unless slow-computer
:unless slow-computer (use-package doom-themes
:after (all-the-icons neotree) :after (all-the-icons neotree)
:custom :custom
(doom-neotree-file-icons 'icons) (doom-neotree-file-icons 'icons)
:config :config
(load-theme 'doom-molokai t) (load-theme 'doom-molokai t)
(doom-themes-neotree-config)) (doom-themes-neotree-config)))
;; Neat modeline. ;; Neat modeline.
(use-package doom-modeline (use-package doom-modeline
@ -359,25 +359,25 @@
("<f8>" . neotree-toggle)) ("<f8>" . neotree-toggle))
;; Git integration. ;; Git integration.
(use-package magit (unless slow-computer
:unless slow-computer (use-package magit
:init :init
(use-package git-commit) (use-package git-commit)
:config :config
(defun my/magit-kill-buffers (arg) (defun my/magit-kill-buffers (arg)
"Restore window configuration and kill all Magit buffers." "Restore window configuration and kill all Magit buffers."
(interactive) (interactive)
(let ((buffers (magit-mode-get-buffers))) (let ((buffers (magit-mode-get-buffers)))
(magit-restore-window-configuration) (magit-restore-window-configuration)
(mapc #'kill-buffer buffers))) (mapc #'kill-buffer buffers)))
:bind :bind
("C-x g" . magit-status) ("C-x g" . magit-status)
("C-x M-g" . magit-dispatch) ("C-x M-g" . magit-dispatch)
;; (:map magit-status-mode-map ;; (:map magit-status-mode-map
;; ("q" . my-magit-kill-buffers)) ;; ("q" . my-magit-kill-buffers))
:custom :custom
;; What's better, mapping q or binding the function here? ;; What's better, mapping q or binding the function here?
(magit-bury-buffer-function 'my/magit-kill-buffers)) (magit-bury-buffer-function 'my/magit-kill-buffers)))
;; Draw line in column 80 ;; Draw line in column 80
(use-package fill-column-indicator (use-package fill-column-indicator
@ -419,53 +419,53 @@
(flx-ido-mode t)) (flx-ido-mode t))
;; Replaces stock emacs completion with ido completion wherever it is possible. ;; Replaces stock emacs completion with ido completion wherever it is possible.
(use-package ido-completing-read+ (unless slow-computer
:unless slow-computer (use-package ido-completing-read+
:after ido :after ido
:config :config
(ido-ubiquitous-mode t)) (ido-ubiquitous-mode t)))
;; Advanced tab bar. ;; Advanced tab bar.
(use-package tabbar-ruler (unless slow-computer
:unless slow-computer (use-package tabbar-ruler
:after projectile :after projectile
:init :init
(setq tabbar-ruler-global-tabbar t) (setq tabbar-ruler-global-tabbar t)
:config :config
;; (tabbar-ruler-group-by-projectile-project) ; Group by projectile. ;; (tabbar-ruler-group-by-projectile-project) ; Group by projectile.
;; (tabbar-ruler-group-buffer-groups) ; Group by file type. ;; (tabbar-ruler-group-buffer-groups) ; Group by file type.
(tabbar-ruler-group-user-buffers) ; Group by frame. (tabbar-ruler-group-user-buffers) ; Group by frame.
;; (mode-icons-mode 0) ; Disable modeline symbols. ;; (mode-icons-mode 0) ; Disable modeline symbols.
;; I have to define these 2 times, don't know why. ;; I have to define these 2 times, don't know why.
(set-face-attribute 'tabbar-selected nil (set-face-attribute 'tabbar-selected nil
:background "gray11"
:foreground "light gray"
:family "Sans Serif"
:bold t)
(set-face-attribute 'tabbar-unselected nil
:background "gray18"
:foreground "dark gray"
:family "Sans Serif"
:italic t)
(add-hook 'projectile-after-switch-project-hook ; Does not work under :hook.
'tabbar-ruler-group-by-projectile-project)
:bind
("C-<prior>" . 'tabbar-ruler-tabbar-backward-tab)
("C-<next>" . 'tabbar-ruler-tabbar-forward-tab)
:custom-face
;; I Have to define these 2 times, don't know why.
(tabbar-selected (nil
:background "gray11" :background "gray11"
:foreground "light gray" :foreground "light gray"
:family "Sans Serif" :family "Sans Serif"
:bold t) :bold t))
(set-face-attribute 'tabbar-unselected nil (tabbar-unselected (nil
:background "gray18" :background "gray18"
:foreground "dark gray" :foreground "dark gray"
:family "Sans Serif" :family "Sans Serif"
:italic t) :italic t))))
(add-hook 'projectile-after-switch-project-hook ; Does not work under :hook.
'tabbar-ruler-group-by-projectile-project)
:bind
("C-<prior>" . 'tabbar-ruler-tabbar-backward-tab)
("C-<next>" . 'tabbar-ruler-tabbar-forward-tab)
:custom-face
;; I Have to define these 2 times, don't know why.
(tabbar-selected (nil
:background "gray11"
:foreground "light gray"
:family "Sans Serif"
:bold t))
(tabbar-unselected (nil
:background "gray18"
:foreground "dark gray"
:family "Sans Serif"
:italic t)))
;; Visualize whitespace. ;; Visualize whitespace.
(use-package whitespace (use-package whitespace
@ -488,24 +488,24 @@
(whitespace-space ((nil :foreground "gray18")))) (whitespace-space ((nil :foreground "gray18"))))
;; Spell checking. ;; Spell checking.
(use-package flyspell (unless slow-computer
:unless slow-computer (use-package flyspell
:custom :custom
(ispell-dictionary "english") (ispell-dictionary "english")
:config :config
(defun my/toggle-flyspell () (defun my/toggle-flyspell ()
"Toggle flyspell-mode and run flyspell-buffer after activating." "Toggle flyspell-mode and run flyspell-buffer after activating."
(interactive) (interactive)
(if (bound-and-true-p flyspell-mode) (if (bound-and-true-p flyspell-mode)
(flyspell-mode 0) (flyspell-mode 0)
(flyspell-mode) (flyspell-mode)
(flyspell-buffer))) (flyspell-buffer)))
:bind :bind
("<f6>" . my/toggle-flyspell) ("<f6>" . my/toggle-flyspell)
:hook :hook
;; Spellcheck comments. ;; Spellcheck comments.
(c++-mode . flyspell-prog-mode) (c++-mode . flyspell-prog-mode)
(c-mode . flyspell-prog-mode)) (c-mode . flyspell-prog-mode)))
;; Multiple cursors. ;; Multiple cursors.
(use-package multiple-cursors (use-package multiple-cursors
@ -622,25 +622,25 @@
;;;;;;;;;;;;;;;;;;;; Server / Remote editing ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;; Server / Remote editing ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Edit remote files. ;; Edit remote files.
(use-package tramp (unless slow-computer
:unless slow-computer (use-package tramp
:defer 1 :defer 1
:config :config
;; ssh is faster than scp and supports ports. ;; ssh is faster than scp and supports ports.
(setq tramp-default-method "ssh") (setq tramp-default-method "ssh")
;; Add verification code support. ;; Add verification code support.
(customize-set-variable (customize-set-variable
'tramp-password-prompt-regexp 'tramp-password-prompt-regexp
(concat (concat
"^.*" "^.*"
(regexp-opt (regexp-opt
'("passphrase" "Passphrase" '("passphrase" "Passphrase"
"password" "Password" "password" "Password"
"Verification code") "Verification code")
t) t)
".*:\0? *")) ".*:\0? *"))
;; Respect remote PATH. ;; Respect remote PATH.
(add-to-list 'tramp-remote-path 'tramp-own-remote-path)) (add-to-list 'tramp-remote-path 'tramp-own-remote-path)))
;; Run server if: ;; Run server if:
;; - Our EUID is not 0, ;; - Our EUID is not 0,