From 4deb7bd541a6959697d72b81a52f04ecacd259b2 Mon Sep 17 00:00:00 2001 From: Marc Date: Sat, 21 Dec 2019 14:12:38 +0000 Subject: [PATCH 01/20] added linux to tango theme switcher for now --- init.org | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/init.org b/init.org index 368a6e9..46d4a69 100644 --- a/init.org +++ b/init.org @@ -171,13 +171,15 @@ Some windows specific stuff #+BEGIN_SRC emacs-lisp (defun my/toggle-theme () (interactive) - (when *windows* + (when (or *windows* *linux*) (if (eq (car custom-enabled-themes) 'tango-dark) (progn (disable-theme 'tango-dark) - (enable-theme 'tango)) + (load-theme 'tango)) (progn (disable-theme 'tango) - (enable-theme 'tango-dark))))) + (load-theme 'tango-dark))))) + +(bind-key "C-c t" 'my/toggle-theme) #+END_SRC Windows Theme: From 888b081ed4cfb89409c2915b24d0bea77d6a5a07 Mon Sep 17 00:00:00 2001 From: Marc Date: Wed, 25 Dec 2019 13:00:20 +0000 Subject: [PATCH 02/20] fixed path setting bug in org-journal --- init.org | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/init.org b/init.org index 46d4a69..b7c4d57 100644 --- a/init.org +++ b/init.org @@ -96,14 +96,13 @@ (when *linux* (defvar MY--PATH_ORG_FILES (expand-file-name "~/Archiv/Organisieren/")) - (defvar MY--PATH_ORG_FILES_MOBILE (expand-file-name "~/Archiv/Organisieren/mobile/")) - (defvar MY--PATH_ORG_JOURNAl (expand-file-name "~/Archiv/Organisieren/Journal/"))) + (defvar MY--PATH_ORG_FILES_MOBILE (expand-file-name "~/Archiv/Organisieren/mobile/"))) + (defvar MY--PATH_ORG_JOURNAl (expand-file-name "~/Archiv/Organisieren/Journal/")) (when *work_remote* (defvar MY--PATH_ORG_FILES "p:/Eigene Dateien/Notizen/") (defvar MY--PATH_ORG_FILES_MOBILE nil) ;; hacky way to prevent "free variable" compiler error (defvar MY--PATH_ORG_JOURNAL nil) ;; hacky way to prevent "free variable" compiler error (defvar MY--PATH_START "p:/Eigene Dateien/Notizen/")) - (setq bookmark-default-file (concat MY--PATH_USER_LOCAL "bookmarks")) (setq recentf-save-file (concat MY--PATH_USER_LOCAL "recentf")) (setq custom-file (concat MY--PATH_USER_LOCAL "custom.el")) ;; don't spam init.e with saved customization settings @@ -533,13 +532,13 @@ Vorerst deaktiviert, Nutzen evtl. nicht vorhanden [[https://github.com/bastibe/org-journal][Source]] #+BEGIN_SRC emacs-lisp -(when *linux* - (use-package org-journal - :ensure t - :defer t - :config - (setq org-journal-dir MY--PATH_ORG_JOURNAL - org-journal-enable-agenda-integration t))) +(use-package org-journal + :if *linux* + :ensure t + :defer t + :config + (setq org-journal-dir MY--PATH_ORG_JOURNAl + org-journal-enable-agenda-integration t)) #+END_SRC * Programming From ad9068d21b9b0729320f82c3d04fbd68d9a0f09a Mon Sep 17 00:00:00 2001 From: Marc Date: Wed, 25 Dec 2019 18:44:29 +0000 Subject: [PATCH 03/20] added yasnippet --- init.org | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/init.org b/init.org index b7c4d57..21e5882 100644 --- a/init.org +++ b/init.org @@ -623,6 +623,18 @@ TODO Unterverzeichnisse wurden noch nicht getestet company-lsp-cache-candidates nil)) #+END_SRC +** yasnippet + +#+begin_src emacs-lisp +(use-package yasnippet + :ensure t + :diminish yas-minor-mode + :config + (setq yas-snippet-dirs (list (concat MY--PATH_USER_GLOBAL "snippets"))) + (yas-global-mode t) + (yas-reload-all)) +#+end_src + ** flycheck #+BEGIN_SRC emacs-lisp (use-package flycheck From 35ad4894d91747f1cc90f19038ddb284b71dad44 Mon Sep 17 00:00:00 2001 From: Marc Date: Thu, 26 Dec 2019 09:29:51 +0000 Subject: [PATCH 04/20] added lexical binding, some cleanup --- init.org | 74 +++++++++++++++++++++++++++++--------------------------- 1 file changed, 38 insertions(+), 36 deletions(-) diff --git a/init.org b/init.org index 21e5882..9f97a7f 100644 --- a/init.org +++ b/init.org @@ -25,6 +25,11 @@ - beancount configuration from config.org - CONTINUE TODO from config.org at Programming +* Header +Emacs variables are dynamically scoped. That's unusual for most languages, so disable it here, too +#+begin_src emacs-lisp +;;; init.el --- -*- lexical-binding: t -*- +#+end_src * First start When pulling the repository the first time, an initial init.el needs to be setup. After start it will replace itself with the configuration from init.org @@ -323,44 +328,41 @@ Windows Theme: * company #+BEGIN_SRC emacs-lisp -; (require 'company) - (use-package company - :defer 1 - :bind - (:map company-active-map - ("RET" . nil) - ([return] . nil) - ("TAB" . company-complete-selection) - ([tab] . company-complete-selection) - ("" . company-complete-common)) - :config - (global-company-mode 1) - (setq-default - company-idle-delay .2 - company-minimum-prefix-length 1 - company-require-match nil - company-show-numbers t - company-tooltip-align-annotations t)) - -; (require 'company-statistics) - (use-package company-statistics - :ensure t - :after company - :init - (setq company-statistics-file (concat MY--PATH_USER_LOCAL "company-statistics-cache.el"));~/.emacs.d/user-dir/company-statistics-cache.el") - :config - (company-statistics-mode 1)) +(use-package company + :defer 1 + :bind + (:map company-active-map + ("RET" . nil) + ([return] . nil) + ("TAB" . company-complete-selection) + ([tab] . company-complete-selection) + ("" . company-complete-common)) + :config + (setq company-idle-delay .2 + company-minimum-prefix-length 1 + company-require-match nil + company-show-numbers t + company-tooltip-align-annotations t) + (global-company-mode 1)) + +(use-package company-statistics + :ensure t + :after company + :init + (setq company-statistics-file (concat MY--PATH_USER_LOCAL "company-statistics-cache.el"));~/.emacs.d/user-dir/company-statistics-cache.el") + :config + (company-statistics-mode 1)) - (use-package company-dabbrev - :ensure nil - :after company - :config - (setq-default company-dabbrev-downcase nil)) +(use-package company-dabbrev + :ensure nil + :after company + :config + (setq-default company-dabbrev-downcase nil)) - (use-package company-box - :ensure t - :init - (add-hook 'company-mode-hook 'company-box-mode)) +(use-package company-box + :ensure t + :init + (add-hook 'company-mode-hook 'company-box-mode)) #+END_SRC ** company backends From dbcf000f64517dfdd35f162490223a080c29d691 Mon Sep 17 00:00:00 2001 From: Marc Date: Thu, 26 Dec 2019 09:44:14 +0000 Subject: [PATCH 05/20] now all org code blocks are evaluated without confirmation --- init.org | 42 +++++++++++++++++------------------------- 1 file changed, 17 insertions(+), 25 deletions(-) diff --git a/init.org b/init.org index 9f97a7f..d9f7f29 100644 --- a/init.org +++ b/init.org @@ -419,31 +419,23 @@ Windows Theme: org-src-tab-acts-natively t)) #+END_SRC ** languages -#+BEGIN_SRC emacs-lisp - (org-babel-do-load-languages - 'org-babel-load-languages - '((emacs-lisp . t) - (gnuplot . t) - (js . t) - (latex . t) - (lisp . t) - (python . t) - (shell . t) - (sqlite . t) - (org . t) - (R . t) - (scheme . t) - )) - - (defun me--org-confirm-babel-evaluate (lang body) - "Do not confirm evaluation for these languages." - (not (or (string= lang "python") - (string= lang "ipython") - (string= lang "emacs-lisp") - (string= lang "R") - (string= lang "latex") - (string= lang "sqlite")))) - (setq org-confirm-babel-evaluate 'me--org-confirm-babel-evaluate) +Set some languages and disable confirmation for evaluating code blocks C-c C-c +#+BEGIN_SRC emacs-lisp +(org-babel-do-load-languages + 'org-babel-load-languages + '((emacs-lisp . t) + (gnuplot . t) + (js . t) + (latex . t) + (lisp . t) + (python . t) + (shell . t) + (sqlite . t) + (org . t) + (R . t) + (scheme . t))) + +(setq org-confirm-babel-evaluate nil) #+END_SRC ** habits #+BEGIN_SRC emacs-lisp From 213bd2ab5d94928e20456bf7ae0cfd5717788edf Mon Sep 17 00:00:00 2001 From: Marc Date: Thu, 26 Dec 2019 09:47:25 +0000 Subject: [PATCH 06/20] changed moment when company mode is enabled --- init.org | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/init.org b/init.org index d9f7f29..2fadcb0 100644 --- a/init.org +++ b/init.org @@ -337,13 +337,14 @@ Windows Theme: ("TAB" . company-complete-selection) ([tab] . company-complete-selection) ("" . company-complete-common)) + :hook + (after-init . global-company-mode) :config (setq company-idle-delay .2 company-minimum-prefix-length 1 company-require-match nil company-show-numbers t - company-tooltip-align-annotations t) - (global-company-mode 1)) + company-tooltip-align-annotations t)) (use-package company-statistics :ensure t From b4ea19a56527611643e794c5b5a29b7dca0f5913 Mon Sep 17 00:00:00 2001 From: Marc Date: Thu, 26 Dec 2019 09:54:42 +0000 Subject: [PATCH 07/20] added yaml-mode --- init.org | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/init.org b/init.org index 2fadcb0..9e3e78d 100644 --- a/init.org +++ b/init.org @@ -703,6 +703,13 @@ Manage projects and jump quickly between its files (add-hook 'web-mode-hook 'smartparens-mode)) #+END_SRC +** YAML +#+begin_src emacs-lisp +(use-package yaml-mode + :if *linux* + :ensure t + :mode ("\\.yml$" . yaml-mode)) +#+end_src ** Python Systemseitig muss python-language-server installiert sein: pip3 install 'python-language-server[all]' From ae49c32e943ce739eae95df587c4e89684546ffb Mon Sep 17 00:00:00 2001 From: Marc Date: Thu, 26 Dec 2019 10:15:00 +0000 Subject: [PATCH 08/20] changed identifiers for systems --- init.org | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/init.org b/init.org index 9e3e78d..270b54e 100644 --- a/init.org +++ b/init.org @@ -87,12 +87,29 @@ Emacs variables are dynamically scoped. That's unusual for most languages, so di * Default settings #+BEGIN_SRC emacs-lisp -(setq *home_desktop* (string-equal (system-name) "marc") - ,*home_laptop* (string-equal (system-name) "laptop") - ,*work_local* (string-equal (system-name) "PMPCNEU08") - ,*work_remote* (string-equal (system-name) "PMTS01") - ,*linux* (string-equal system-type 'gnu/linux) - ,*windows* (string-equal system-type 'windows-nt)) +(defconst *linux* + (string-equal system-type 'gnu/linux) + "Is the system running Linux?") + +(defconst *windows* + (string-equal system-type 'windows-nt) + "Is the system running Windows?") + +(defconst *home_desktop* + (string-equal (system-name) "marc") + "Is emacs running on my desktop?") + +(defconst *home_laptop* + (string-equal (system-name) "laptop") + "Is emacs running on my laptop?") + +(defconst *work_local* + (string-equal (system-name) "PMPCNEU08") + "Is emacs running at work on the local system?") + +(defconst *work_remote* + (string-equal (system-name) "PMTS01") + "Is emacs running at work on the remote system?") #+END_SRC #+BEGIN_SRC emacs-lisp From 6746529bb35f878b71fab385d7fc84ecbb86a5c6 Mon Sep 17 00:00:00 2001 From: Marc Date: Thu, 26 Dec 2019 10:16:17 +0000 Subject: [PATCH 09/20] changed some defvars with defconsts --- init.org | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/init.org b/init.org index 270b54e..5656a4d 100644 --- a/init.org +++ b/init.org @@ -117,14 +117,14 @@ Emacs variables are dynamically scoped. That's unusual for most languages, so di (defvar MY--PATH_USER_GLOBAL (expand-file-name "~/.emacs.d/user-global/")) (when *linux* - (defvar MY--PATH_ORG_FILES (expand-file-name "~/Archiv/Organisieren/")) - (defvar MY--PATH_ORG_FILES_MOBILE (expand-file-name "~/Archiv/Organisieren/mobile/"))) - (defvar MY--PATH_ORG_JOURNAl (expand-file-name "~/Archiv/Organisieren/Journal/")) + (defconst MY--PATH_ORG_FILES (expand-file-name "~/Archiv/Organisieren/")) + (defconst MY--PATH_ORG_FILES_MOBILE (expand-file-name "~/Archiv/Organisieren/mobile/"))) + (defconst MY--PATH_ORG_JOURNAl (expand-file-name "~/Archiv/Organisieren/Journal/")) (when *work_remote* - (defvar MY--PATH_ORG_FILES "p:/Eigene Dateien/Notizen/") - (defvar MY--PATH_ORG_FILES_MOBILE nil) ;; hacky way to prevent "free variable" compiler error - (defvar MY--PATH_ORG_JOURNAL nil) ;; hacky way to prevent "free variable" compiler error - (defvar MY--PATH_START "p:/Eigene Dateien/Notizen/")) + (defconst MY--PATH_ORG_FILES "p:/Eigene Dateien/Notizen/") + (defconst MY--PATH_ORG_FILES_MOBILE nil) ;; hacky way to prevent "free variable" compiler error + (defconst MY--PATH_ORG_JOURNAL nil) ;; hacky way to prevent "free variable" compiler error + (defconst MY--PATH_START "p:/Eigene Dateien/Notizen/")) (setq bookmark-default-file (concat MY--PATH_USER_LOCAL "bookmarks")) (setq recentf-save-file (concat MY--PATH_USER_LOCAL "recentf")) (setq custom-file (concat MY--PATH_USER_LOCAL "custom.el")) ;; don't spam init.e with saved customization settings From 9f728b6f31d10de27015a3766b53c04d69f33bbe Mon Sep 17 00:00:00 2001 From: Marc Date: Thu, 26 Dec 2019 10:26:45 +0000 Subject: [PATCH 10/20] changed system identifier names --- init.org | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/init.org b/init.org index 5656a4d..1162d66 100644 --- a/init.org +++ b/init.org @@ -87,11 +87,11 @@ Emacs variables are dynamically scoped. That's unusual for most languages, so di * Default settings #+BEGIN_SRC emacs-lisp -(defconst *linux* +(defconst *sys/linux* (string-equal system-type 'gnu/linux) "Is the system running Linux?") -(defconst *windows* +(defconst *sys/windows* (string-equal system-type 'windows-nt) "Is the system running Windows?") @@ -116,7 +116,7 @@ Emacs variables are dynamically scoped. That's unusual for most languages, so di (defvar MY--PATH_USER_LOCAL (expand-file-name "~/.emacs.d/user-local/")) (defvar MY--PATH_USER_GLOBAL (expand-file-name "~/.emacs.d/user-global/")) -(when *linux* +(when *sys/linux* (defconst MY--PATH_ORG_FILES (expand-file-name "~/Archiv/Organisieren/")) (defconst MY--PATH_ORG_FILES_MOBILE (expand-file-name "~/Archiv/Organisieren/mobile/"))) (defconst MY--PATH_ORG_JOURNAl (expand-file-name "~/Archiv/Organisieren/Journal/")) @@ -144,7 +144,7 @@ Emacs variables are dynamically scoped. That's unusual for most languages, so di (set-terminal-coding-system 'utf-8) (set-keyboard-coding-system 'utf-8) (set-selection-coding-system 'utf-8) -(if *windows* +(if *sys/windows* (prefer-coding-system 'utf-8-dos) (prefer-coding-system 'utf-8)) @@ -181,7 +181,7 @@ Some windows specific stuff * visuals ** Font #+BEGIN_SRC emacs-lisp -(when *linux* +(when *sys/linux* (set-face-font 'default "Hack-10")) (when *work_remote* (set-face-font 'default "Lucida Sans Typewriter-11")) @@ -192,7 +192,7 @@ Some windows specific stuff #+BEGIN_SRC emacs-lisp (defun my/toggle-theme () (interactive) - (when (or *windows* *linux*) + (when (or *sys/windows* *sys/linux*) (if (eq (car custom-enabled-themes) 'tango-dark) (progn (disable-theme 'tango-dark) (load-theme 'tango)) @@ -205,7 +205,7 @@ Some windows specific stuff Windows Theme: #+BEGIN_SRC emacs-lisp -(when *windows* +(when *sys/windows* (load-theme 'tango)) #+END_SRC ** line wrappings @@ -419,7 +419,7 @@ Windows Theme: org-agenda-files (list (concat MY--PATH_ORG_FILES "notes.org") (concat MY--PATH_ORG_FILES "projects.org") (concat MY--PATH_ORG_FILES "todo.org"))) - (when *linux* + (when *sys/linux* (setq org-agenda-files (list org-agenda-files MY--PATH_ORG_FILES_MOBILE))) (setq org-id-locations-file (concat MY--PATH_USER_LOCAL ".org-id-locations") @@ -545,7 +545,7 @@ Vorerst deaktiviert, Nutzen evtl. nicht vorhanden #+BEGIN_SRC emacs-lisp (use-package org-journal - :if *linux* + :if *sys/linux* :ensure t :defer t :config @@ -723,7 +723,7 @@ Manage projects and jump quickly between its files ** YAML #+begin_src emacs-lisp (use-package yaml-mode - :if *linux* + :if *sys/linux* :ensure t :mode ("\\.yml$" . yaml-mode)) #+end_src From edab768dfc376347acea407e70da2bebbd5c475b Mon Sep 17 00:00:00 2001 From: Marc Date: Thu, 26 Dec 2019 10:29:42 +0000 Subject: [PATCH 11/20] streamlined system identifications --- init.org | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/init.org b/init.org index 1162d66..5b6d201 100644 --- a/init.org +++ b/init.org @@ -166,7 +166,7 @@ Emacs variables are dynamically scoped. That's unusual for most languages, so di Some windows specific stuff #+BEGIN_SRC emacs-lisp - (when (eq system-type 'windows-nt) + (when *sys/windows* (remove-hook 'find-file-hooks 'vc-refresh-state) (progn (setq gc-cons-threshold (* 511 1024 1024) @@ -735,7 +735,7 @@ Manage projects and jump quickly between its files https://github.com/emacs-lsp/lsp-mode#install-language-server #+BEGIN_SRC emacs-lisp -(if (string-equal system-type "gnu/linux") +(if *sys/linux* (defun my/postactivatehook () (setq lsp-python-ms-extra-paths pyvenv-virtual-env)) @@ -773,21 +773,21 @@ deactivate #+END_SRC #+BEGIN_SRC emacs-lisp - (if (string-equal system-type "gnu/linux") - (use-package beancount - :load-path "user-global/elisp" -; :ensure t - :defer t - :mode - ("\\.beancount$" . beancount-mode) - :init - (add-hook 'beancount-mode-hook 'company/beancount-mode-hook) +(use-package beancount + :if *sys/linux* + :load-path "user-global/elisp" +; :ensure t + :defer t + :mode + ("\\.beancount$" . beancount-mode) + :init + (add-hook 'beancount-mode-hook 'company/beancount-mode-hook) ; (add-hook 'beancount-mode-hook (pyvenv-activate "/opt/beancount")) ; (setenv "PATH" ; (concat "/opt/beancount/bin:" ; (getenv "PATH"))) - :config - (setq beancount-filename-main "/home/marc/Archiv/Finanzen/Transaktionen/transactions.beancount"))) + :config + (setq beancount-filename-main "/home/marc/Archiv/Finanzen/Transaktionen/transactions.beancount")) #+END_SRC To support org-babel, check if it can find the symlink to ob-beancount.el From e8895fc17cd259cb8e8ead28e356108926d1ca0f Mon Sep 17 00:00:00 2001 From: Marc Date: Thu, 26 Dec 2019 10:32:33 +0000 Subject: [PATCH 12/20] added some todos --- init.org | 2 ++ 1 file changed, 2 insertions(+) diff --git a/init.org b/init.org index 5b6d201..db44db4 100644 --- a/init.org +++ b/init.org @@ -21,9 +21,11 @@ - visual-regexp - org configuration: paths - org custom agenda + - org-ql (related to org agendas) - org configuration: everything else - beancount configuration from config.org - CONTINUE TODO from config.org at Programming + - all-the-icons? * Header Emacs variables are dynamically scoped. That's unusual for most languages, so disable it here, too From 3e14507c0c0149ae7b45c5243d23f484327f7348 Mon Sep 17 00:00:00 2001 From: Marc Date: Thu, 26 Dec 2019 10:49:20 +0000 Subject: [PATCH 13/20] added keybindings to smartparens --- init.org | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/init.org b/init.org index db44db4..54e2aee 100644 --- a/init.org +++ b/init.org @@ -692,8 +692,20 @@ Manage projects and jump quickly between its files (use-package smartparens :ensure t :diminish smartparens-mode + :bind + (:map smartparens-mode-map + ("C-M-f" . sp-forward-sexp) + ("C-M-b" . sp-backward-sexp) + ("C-M-a" . sp-backward-down-sexp) + ("C-M-e" . sp-up-sexp) + ("C-M-w" . sp-copy-sexp) + ("M-k" . sp-kill-sexp) + ("C-M-" . sp-slice-sexp-killing-backward) + ("C-S-" . sp-slice-sexp-killing-around) + ("C-]" . sp-select-next-thing-exchange)) :config - (setq sp-show-pair-from-inside nil) + (setq sp-show-pair-from-inside nil + sp-escape-quotes-after-insert nil) (require 'smartparens-config)) #+END_SRC From 405a1ef73673a4672dd85aaf7e66796bb26ce528 Mon Sep 17 00:00:00 2001 From: Marc Date: Thu, 26 Dec 2019 10:53:56 +0000 Subject: [PATCH 14/20] added identifier for emacs in gui --- init.org | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/init.org b/init.org index 54e2aee..269f6e6 100644 --- a/init.org +++ b/init.org @@ -89,6 +89,10 @@ Emacs variables are dynamically scoped. That's unusual for most languages, so di * Default settings #+BEGIN_SRC emacs-lisp +(defconst *sys/gui* + (display-graphic-p) + "Is emacs running in a gui?") + (defconst *sys/linux* (string-equal system-type 'gnu/linux) "Is the system running Linux?") From ce0b4791b50987c9796a830f1767f8e513ca21b6 Mon Sep 17 00:00:00 2001 From: Marc Date: Thu, 26 Dec 2019 10:55:29 +0000 Subject: [PATCH 15/20] changed check for gui identifier --- init.org | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/init.org b/init.org index 269f6e6..d9ed81b 100644 --- a/init.org +++ b/init.org @@ -624,7 +624,7 @@ TODO Unterverzeichnisse wurden noch nicht getestet lsp-ui-sideline-enable nil lsp-ui-sideline-ignore-duplicate t lsp-ui-sideline-show-code-actions nil) - (when (display-graphic-p) + (when *sys/gui* (setq lsp-ui-doc-use-webkit t)) ;; workaround hide mode-line of lsp-ui-imenu buffer (defadvice lsp-ui-imenu (after hide-lsp-ui-imenu-mode-line activate) From beede1da35b4e340050cd94b49dd072b4eadf18a Mon Sep 17 00:00:00 2001 From: Marc Date: Thu, 26 Dec 2019 15:06:01 +0000 Subject: [PATCH 16/20] for now default theme for linux is tango --- init.org | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/init.org b/init.org index d9ed81b..5c66bf4 100644 --- a/init.org +++ b/init.org @@ -211,7 +211,7 @@ Some windows specific stuff Windows Theme: #+BEGIN_SRC emacs-lisp -(when *sys/windows* +(when (or *sys/windows* *sys/linux*) (load-theme 'tango)) #+END_SRC ** line wrappings From 57cae7d3f1b8bff6a215fbad43ad380d034c2db0 Mon Sep 17 00:00:00 2001 From: Marc Date: Thu, 26 Dec 2019 19:15:15 +0000 Subject: [PATCH 17/20] added emmet and hippie expand to include yasnippet to the same key --- init.org | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/init.org b/init.org index 5c66bf4..6109b88 100644 --- a/init.org +++ b/init.org @@ -650,9 +650,22 @@ TODO Unterverzeichnisse wurden noch nicht getestet :config (setq yas-snippet-dirs (list (concat MY--PATH_USER_GLOBAL "snippets"))) (yas-global-mode t) - (yas-reload-all)) + (yas-reload-all) + (unbind-key "TAB" yas-minor-mode-map) + (unbind-key "" yas-minor-mode-map)) #+end_src +** hippie expand +With hippie expand I am able to use yasnippet and emmet at the same time with the same key. +#+begin_src emacs-lisp +(use-package hippie-exp + :defer t + :bind + ("C-" . hippie-expand) + :config + (setq hippie-expand-try-functions-list + '(yas-hippie-try-expand emmet-expand-line))) +#+end_src ** flycheck #+BEGIN_SRC emacs-lisp (use-package flycheck @@ -738,6 +751,20 @@ Manage projects and jump quickly between its files (add-hook 'web-mode-hook 'smartparens-mode)) #+END_SRC +Emmet offers snippets, similar to yasnippet. +Default completion is C-j +[[https://github.com/smihica/emmet-mode#usage][Github]] + +#+begin_src emacs-lisp +(use-package emmet-mode + :ensure t + :defer t + :hook + ((web-mode . emmet-mode) + (css-mode . emmet-mode)) + :config + (unbind-key "C-" . emmet-mode-keymap)) +#+end_src ** YAML #+begin_src emacs-lisp (use-package yaml-mode From c9a8bfa52244386dd0a860118a79606e7a4eacd5 Mon Sep 17 00:00:00 2001 From: Marc Date: Thu, 26 Dec 2019 19:34:18 +0000 Subject: [PATCH 18/20] fixed bug in unbind key emmet --- init.org | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/init.org b/init.org index 6109b88..391cb0b 100644 --- a/init.org +++ b/init.org @@ -642,6 +642,8 @@ TODO Unterverzeichnisse wurden noch nicht getestet #+END_SRC ** yasnippet +For useful snippet either install yasnippet-snippets or get them from here +[[https://github.com/AndreaCrotti/yasnippet-snippets][Github]] #+begin_src emacs-lisp (use-package yasnippet @@ -763,7 +765,7 @@ Default completion is C-j ((web-mode . emmet-mode) (css-mode . emmet-mode)) :config - (unbind-key "C-" . emmet-mode-keymap)) + (unbind-key "C-" emmet-mode-keymap)) #+end_src ** YAML #+begin_src emacs-lisp From d4f7bb6e970c72f4af89df8866ec59f6b4bd5b07 Mon Sep 17 00:00:00 2001 From: marc Date: Sat, 28 Dec 2019 16:37:13 +0100 Subject: [PATCH 19/20] removed init.el on desktop --- init.el | 539 -------------------------------------------------------- 1 file changed, 539 deletions(-) delete mode 100644 init.el diff --git a/init.el b/init.el deleted file mode 100644 index c0872f1..0000000 --- a/init.el +++ /dev/null @@ -1,539 +0,0 @@ - (defun me/tangle-init () - "If the current buffer is 'init.org', - the code blocks are tangled, and the tangled file is compiled." - (when (equal (buffer-file-name) - (expand-file-name (concat user-emacs-directory "init.org"))) - ;; avoid running hooks - (let ((prog-mode-hook nil)) - (org-babel-tangle) - (byte-compile-file (concat user-emacs-directory "init.el")) - (load-file user-init-file)))) - (add-hook 'after-save-hook 'me/tangle-init) - - (require 'package) - - ;; bug before emacs 26.3 - (when (version< emacs-version "26.3") - (setq gnutls-algorithm-priority "NORMAL:-VERS-TLS1.3")) - (add-to-list 'package-archives '("elpa" . "https://elpa.gnu.org/packages/") t) - (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t) - (add-to-list 'package-archives '("melpa-stable" . "https://stable.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)) - - (setq use-package-verbose nil) - - (eval-when-compile - (require 'use-package)) - (require 'bind-key) - (use-package diminish - :ensure t) - - (defvar me/whoami - (if (string-equal (system-name) "PMTS01") - "work_remote" - (if (string-equal (system-name) "laptop") - "home_laptop" - (if (string-equal (system-name) "PMPCNEU08") - "work_local" - "home_desktop")))) - - (defvar MY--PATH_USER_LOCAL (expand-file-name "~/.emacs.d/user-local/")) - (defvar MY--PATH_USER_GLOBAL (expand-file-name "~/.emacs.d/user-global/")) - (pcase me/whoami - ("home" - (progn - (defvar MY--PATH_ORG_FILES (expand-file-name "~/Archiv/Organisieren/")) - (defvar MY--PATH_ORG_FILES_MOBILE (expand-file-name "~/Archiv/Organisieren/mobile/")) - (defvar MY--PATH_ORG_JOURNAl (expand-file-name "~/Archiv/Organisieren/Journal/")))) - ("home_laptop" - (progn - (defvar MY--PATH_ORG_FILES (expand-file-name "~/Archiv/Organisieren/")) - (defvar MY--PATH_ORG_FILES_MOBILE (expand-file-name "~/Archiv/Organisieren/mobile/")) - (defvar MY--PATH_ORG_JOURNAL (expand-file-name "~/Archiv/Organisieren/Journal/")))) - ("work_remote" - (progn - (defvar MY--PATH_ORG_FILES "p:/Eigene Dateien/Notizen/") - (defvar MY--PATH-ORG-JOURNAL "p:/Eigene Dateien/Notizen/Journal/") - (defvar MY--PATH_START "p:/Eigene Dateien/Notizen/")))) - - (setq bookmark-default-file (concat MY--PATH_USER_LOCAL "bookmarks")) - (setq recentf-save-file (concat MY--PATH_USER_LOCAL "recentf")) - (setq custom-file (concat MY--PATH_USER_LOCAL "custom.el")) ;; don't spam init.e with saved customization settings - (setq abbrev-file-name (concat MY--PATH_USER_GLOBAL "abbrev_defs")) - (setq backup-directory-alist `((".*" . ,temporary-file-directory))) - (setq auto-save-file-name-transforms `((".*" ,temporary-file-directory))) - (setq save-abbrevs 'silently) ;; don't bother me with asking for abbrev saving - (setq-default create-lockfiles nil) ;; disable lock files, can cause trouble in e.g. lsp-mode - (defalias 'yes-or-no-p 'y-or-n-p) ;; answer with y and n - (setq custom-safe-themes t) ;; don't ask me if I want to load a theme - (setq sentence-end-double-space nil) ;; don't coun two spaces after a period as the end of a sentence. - (delete-selection-mode t) ;; delete selected region when typing - (save-place-mode 1) ;; saves position in file when it's closed - (setq save-place-forget-unreadable-files nil) ;; checks if file is readable before saving position - - (setq locale-coding-system 'utf-8) - (set-terminal-coding-system 'utf-8) - (set-keyboard-coding-system 'utf-8) - (set-selection-coding-system 'utf-8) - (if (eq system-type 'windows-nt) - (prefer-coding-system 'utf-8-dos) - (prefer-coding-system 'utf-8)) - (blink-cursor-mode -1) ;; turn off blinking cursor - (show-paren-mode t) ;; show other part of brackets - (column-number-mode t) - (setq uniquify-buffer-name-style 'forward) - (setq-default indent-tabs-mode nil) ;; avoid tabs in place of multiple spaces (they look bad in tex) - (setq-default indicate-empty-lines t) ;; show empty lines - (setq scroll-margin 5 ;; smooth scrolling - scroll-conservatively 10000 - scroll-preserve-screen-position 1 - scroll-step 1) - (global-hl-line-mode t) ;; highlight current line - (menu-bar-mode 0) ;; disable menu bar - (tool-bar-mode 0) ;; disable tool bar - (scroll-bar-mode 0) ;; disable scroll bar - - (when (eq system-type 'windows-nt) - (remove-hook 'find-file-hooks 'vc-refresh-state) - (progn - (setq gc-cons-threshold (* 511 1024 1024) - gc-cons-percentage 0.5 - garbage-collection-messages t - w32-pipe-read-delay 0 - w32-get-true-file-attributes nil) - (run-with-idle-timer 5 t #'garbage-collect))) - - (if (string-equal system-type "gnu/linux") - (set-face-font 'default "Hack-10")) - - (global-visual-line-mode) - (diminish 'visual-line-mode) - (use-package adaptive-wrap - :ensure t - :config - (add-hook 'visual-line-mode-hook #'adaptive-wrap-prefix-mode)) - ; :init - ; (when (fboundp 'adaptive-wrap-prefix-mode) - ; (defun my/activate-adaptive-wrap-prefix-mode () - ; "Toggle `visual-line-mode' and `adaptive-wrap-prefix-mode' simultaneously." - ; (adaptive-wrap-prefix-mode (if visual-line-mode 1 -1))) - ; (add-hook 'visual-line-mode-hook 'my/activate-adaptive-wrap-prefix-mode))) - - (use-package display-line-numbers - :init - (add-hook 'prog-mode-hook 'display-line-numbers-mode) - (add-hook 'org-src-mode-hook 'display-line-numbers-mode) - :config - (setq-default display-line-numbers-type 'visual - display-line-numbers-current-absolute t - display-line-numbers-with 4 - display-line-numbers-widen t)) - ; (add-hook 'emacs-lisp-mode-hook 'display-line-numbers-mode) - - (use-package rainbow-mode - :ensure t - :diminish - :hook ((org-mode - emacs-lisp-mode) . rainbow-mode)) - -(use-package undo-tree -:ensure t -:diminish undo-tree-mode -:init -(global-undo-tree-mode 1)) - -(use-package imenu-list - :ensure t - :config - (setq imenu-list-focus-after-activation t - imenu-list-auto-resize t - imenu-list-position 'right) - :bind - (:map global-map - ([f9] . imenu-list-smart-toggle)) - ) - - (use-package which-key - :ensure t - :diminish which-key-mode - :config - (which-key-mode) - (which-key-setup-side-window-right-bottom) - (which-key-setup-minibuffer) - (setq which-key-idle-delay 0.5)) - - (use-package evil - :ensure t - :defer .1 ;; don't block emacs when starting, load evil immediately after startup - :config - (evil-mode 1)) - - (use-package general - :ensure t) - - (general-define-key - :states 'normal - :keymaps 'imenu-list-major-mode-map - (kbd "RET") '(imenu-list-goto-entry :which-key "goto") - (kbd "TAB") '(hs-toggle-hiding :which-key "collapse") - "d" '(imenu-list-display-entry :which-key "show") - "q" '(imenu-list-quit-window :which-key "quit")) - -(use-package org - :ensure org-plus-contrib - :mode (("\.org$" . org-mode)) - :init - (add-hook 'org-mode-hook 'company/org-mode-hook) - (add-hook 'org-src-mode-hook 'smartparens-mode) - :config - (setq org-modules (quote (org-id - org-habit - ))) - (setq org-default-notes-file (concat MY--PATH_ORG_FILES "notes.org") - org-agenda-files (list MY--PATH_ORG_FILES - MY--PATH_ORG_FILES_MOBILE) - org-id-locations-file (concat MY--PATH_USER_LOCAL ".org-id-locations") - org-log-into-drawer "LOGBOOK") - - ;; some display customizations - (setq org-pretty-entities t - org-startup-truncated t - org-startup-align-all-tables t) - - ;; some source code blocks customizations - (setq org-src-window-setup 'current-window ;; C-c ' opens in current window - org-src-fontify-natively t ;; use syntax highlighting in code blocks - org-src-preserve-indentation t ;; no extra indentation - org-src-tab-acts-natively t)) - - (org-babel-do-load-languages - 'org-babel-load-languages - '((emacs-lisp . t) - (gnuplot . t) - (js . t) - (latex . t) - (lisp . t) - (python . t) - (shell . t) - (sqlite . t) - (org . t) - (R . t) - (scheme . t) - )) - - (defun me--org-confirm-babel-evaluate (lang body) - "Do not confirm evaluation for these languages." - (not (or (string= lang "python") - (string= lang "ipython") - (string= lang "emacs-lisp") - (string= lang "R") - (string= lang "latex") - (string= lang "sqlite")))) - (setq org-confirm-babel-evaluate 'me--org-confirm-babel-evaluate) - - (require 'org-habit) ;;TODO Lösung ohne require finden, scheint mir nicht ideal zu sein, nur um ein org-modul zu aktivieren -;; (add-to-list 'org-modules "org-habit") - (setq org-habit-graph-column 80 - org-habit-preceding-days 30 - org-habit-following-days 7 - org-habit-show-habits-only-for-today nil) - - (use-package org-id - :config - (setq org-id-link-to-org-use-id t) - (org-id-update-id-locations)) ;; update id file .org-id-locations on startup - -(pcase me/whoami - ("work_remote") - (setq org-todo-keywords - '((sequence "OPEN" "TODO" "UNCLEAR" "|" "DONE" "IMPOSSIBLE")))) - -(bind-key "C-c l" 'org-store-link) -(bind-key "C-c c" 'org-capture) -(bind-key "C-c a" 'org-agenda) - -(setq org-agenda-sorting-strategy - (quote - ((agenda deadline-up priority-down) - (todo priority-down category-keep) - (tags priority-down category-keep) - (search category-keep)))) - -(defun me--org-skip-subtree-if-priority (priority) - "Skip an agenda subtree if it has a priority of PRIORITY. - - PRIORITY may be one of the characters ?A, ?B, or ?C." - (let ((subtree-end (save-excursion (org-end-of-subtree t))) - (pri-value (* 1000 (- org-lowest-priority priority))) - (pri-current (org-get-priority (thing-at-point 'line t)))) - (if (= pri-value pri-current) - subtree-end - nil))) - -(setq org-agenda-custom-commands - '(("c" "Simple agenda view" - ((tags "PRIORITY=\"A\"" - ((org-agenda-skip-function '(org-agenda-skip-entry-if 'todo 'done)) - (org-agenda-overriding-header "Hohe Priorität:"))) - (agenda "" - ((org-agenda-span 7) - (org-agenda-start-on-weekday nil) - (org-agenda-overriding-header "Nächste 7 Tage:"))) - (alltodo "" - ((org-agenda-skip-function '(or (me--org-skip-subtree-if-priority ?A) - (org-agenda-skip-if nil '(scheduled deadline)))) - (org-agenda-overriding-header "Sonstige Aufgaben:"))))))) - -;;(use-package org-caldav -;; :ensure t -;; :config -;; (setq org-caldav-url "https://nextcloud.cloudsphere.duckdns.org/remote.php/dav/calendars/marc" -;; org-caldav-calendar-id "orgmode" -;; org-caldav-inbox (expand-file-name "~/Archiv/Organisieren/caldav-inbox") -;; org-caldav-files (concat MY--PATH_ORG_FILES "tasks"))) - - (use-package org-journal - :ensure t - :defer t - :custom - (org-journal-dir MY--PATH_ORG_JOURNAl) - (org-journal-enable-agenda-integration t)) - -; (require 'ivy) - (use-package ivy - :ensure t - :diminish - (ivy-mode . "") - :init - (ivy-mode 1) - :bind - ("C-r" . ivy-resume) ;; overrides isearch-backwards binding - :config - (setq ivy-use-virtual-buffers t ;; recent files and bookmarks in ivy-switch-buffer - ivy-height 20 ;; height of ivy window - ivy-count-format "%d/%d" ;; current and total number - ivy-re-builders-alist ;; regex replaces spaces with * - '((t . ivy--regex-plus)))) - - (use-package counsel - :ensure t - :bind* - (("M-x" . counsel-M-x) - ("C-x C-f" . counsel-find-file) - ("C-x C-r" . counsel-recentf) - ("C-c C-f" . counsel-git) - ("C-c h f" . counsel-describe-function) - ("C-c h v" . counsel-describe-variable) - ("M-i" . counsel-imenu))) - - (use-package swiper - :ensure t - :bind - ("C-s" . swiper)) - -(use-package ivy-hydra -:ensure t) - -; (require 'company) - (use-package company - :defer 1 - :bind - (:map company-active-map - ("RET" . nil) - ([return] . nil) - ("TAB" . company-complete-selection) - ([tab] . company-complete-selection) - ("" . company-complete-common)) - :config - (global-company-mode 1) - (setq-default - company-idle-delay .2 - company-minimum-prefix-length 1 - company-require-match nil - company-show-numbers t - company-tooltip-align-annotations t)) - -; (require 'company-statistics) - (use-package company-statistics - :ensure t - :after company - :init - (setq company-statistics-file (concat MY--PATH_USER_LOCAL "company-statistics-cache.el"));~/.emacs.d/user-dir/company-statistics-cache.el") - :config - (company-statistics-mode 1)) - - (use-package company-dabbrev - :ensure nil - :after company - :config - (setq-default company-dabbrev-downcase nil)) - - (use-package company-box - :ensure t - :init - (add-hook 'company-mode-hook 'company-box-mode)) - - (defun company/org-mode-hook() - (set (make-local-variable 'company-backends) - '(company-capf company-files)) - (add-hook 'completion-at-point-functions 'pcomplete-completions-at-point nil t) - (message "company/org-mode-hook")) - - (defun company/elisp-mode-hook() - (set (make-local-variable 'company-backends) - '((company-elisp company-dabbrev) company-capf company-files)) - (message "company/elisp-mode-hook")) - - (defun company/beancount-mode-hook() - (set (make-local-variable 'company-backends) - '(company-beancount))) - - (use-package magit - :ensure t - :defer t - :init - ; set git-path in work environment - (if (string-equal user-login-name "POH") - (setq magit-git-executable "P:/Eigene Dateien/Tools/Git/bin/git.exe") - ) - :bind (("C-x g" . magit-status)) - ) - - (use-package lsp-mode - :defer t - :commands lsp - :custom - (lsp-auto-guess-root nil) - (lsp-prefer-flymake nil) ; use flycheck instead - (lsp-file-watch-threshold 2000) - :bind (:map lsp-mode-map ("C-c C-f" . lsp-format-buffer)) - :hook ((python-mode - js-mode - js2-mode - typescript-mode - web-mode) . lsp)) - - (use-package lsp-ui - :after lsp-mode - :ensure t - :diminish - :commands lsp-ui-mode - :config - (setq lsp-ui-doc-enable t - lsp-ui-doc-header t - lsp-ui-doc-include-signature t - lsp-ui-doc-position 'top - lsp-ui-doc-border (face-foreground 'default) - lsp-ui-sideline-enable nil - lsp-ui-sideline-ignore-duplicate t - lsp-ui-sideline-show-code-actions nil) - (when (display-graphic-p) - (setq lsp-ui-doc-use-webkit t)) - ;; workaround hide mode-line of lsp-ui-imenu buffer - (defadvice lsp-ui-imenu (after hide-lsp-ui-imenu-mode-line activate) - (setq mode-line-format nil))) - - (use-package company-lsp - :requires company - :defer t - :ensure t - :config - ;;disable client-side cache because lsp server does a better job - (setq company-transformers nil - company-lsp-async t - company-lsp-cache-candidates nil)) - - (use-package flycheck - :ensure t - :hook - ((css-mode . flycheck-mode) - (emacs-lisp-mode . flycheck-mode) - (python-mode . flycheck-mode)) - :init - (setq flycheck-emacs-lisp-load-path 'inherit) - :config - (setq-default - flycheck-check-synta-automatically '(save mode-enabled) - flycheck-disable-checkers '(emacs-lisp-checkdoc) - eldoc-idle-delay .1 ;; let eldoc echo faster than flycheck - flycheck-display-errors-delay .3)) ;; this way any errors will override eldoc messages - - (use-package projectile - :ensure t - :defer t - :bind - (("C-c p p" . projectile-switch-project) - ("C-c p c" . projectile-command-map) - ("C-c p s s" . projectile-ag)) - :init - (setq-default projectile-cache-file (concat MY--PATH_USER_LOCAL ".projectile-cache") - projectile-known-projects-file (concat MY--PATH_USER_LOCAL ".projectile-bookmarks")) - :config - (projectile-mode t) - (setq-default projectile-completion-system 'ivy - projectile-enable-caching t - projectile-mode-line '(:eval (projectile-project-name)))) - -(use-package smartparens - :ensure t - :diminish smartparens-mode - :config - (setq sp-show-pair-from-inside nil) - (require 'smartparens-config)) - - (add-hook 'emacs-lisp-mode-hook 'company/elisp-mode-hook) - - (use-package web-mode - :ensure t - :defer t - :mode - ("\\.phtml\\'" - "\\.tpl\\.php\\'" - "\\.djhtml\\'" - "\\.[t]?html?\\'") - :config - (setq web-mode-enable-auto-closing t - web-mode-enable-auto-pairing t) - (add-hook 'web-mode-hook 'smartparens-mode)) - - (if (string-equal system-type "gnu/linux") - (use-package pyvenv - :ensure t - :config - (setenv "WORKON_HOME" (expand-file-name "~/Archiv/Programmierprojekte/Python/virtualenv/")) - (add-hook 'pyvenv-post-activate-hooks #'my/postactivatehook)) - (defun my/postactivatehook () - (setq lsp-python-ms-extra-paths pyvenv-virtual-env)) - - (use-package virtualenvwrapper - :ensure t - :hook (venv-postmkvirtualenv . (lambda() (shell-command "pip3 install importmagic epc"))) - :config - (setq venv-location (expand-file-name "~/Archiv/Programmierprojekte/Python/virtualenv/"))) - - (use-package lsp-python-ms - :ensure t - :after lsp-mode python)) - ; :custom (lsp-python-executable-cmd "python3")) - - (if (string-equal system-type "gnu/linux") - (use-package beancount - :load-path "user-local/elisp" -; :ensure t - :defer t - :mode - ("\\.beancount$" . beancount-mode) - :init - (add-hook 'beancount-mode-hook 'company/beancount-mode-hook) - ; (add-hook 'beancount-mode-hook (pyvenv-activate "/opt/beancount")) - ; (setenv "PATH" - ; (concat "/opt/beancount/bin:" - ; (getenv "PATH"))) - :config - (setq beancount-filename-main "/home/marc/Archiv/Finanzen/Transaktionen/transactions.beancount"))) From 36d4e3bd640adc7a66498cf2fd34c039a31bbd09 Mon Sep 17 00:00:00 2001 From: marc Date: Sat, 28 Dec 2019 16:58:10 +0100 Subject: [PATCH 20/20] emacs added properties --- init.org | 105 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) diff --git a/init.org b/init.org index 391cb0b..a63ef9a 100644 --- a/init.org +++ b/init.org @@ -28,11 +28,17 @@ - all-the-icons? * Header + :PROPERTIES: + :ID: a14d7c89-24ea-41ae-b185-944bab49aa02 + :END: Emacs variables are dynamically scoped. That's unusual for most languages, so disable it here, too #+begin_src emacs-lisp ;;; init.el --- -*- lexical-binding: t -*- #+end_src * First start + :PROPERTIES: + :ID: 1c24d48e-0124-4a0b-8e78-82e4c531e818 + :END: When pulling the repository the first time, an initial init.el needs to be setup. After start it will replace itself with the configuration from init.org #+BEGIN_SRC emacs-lisp :tangle no @@ -88,6 +94,9 @@ Emacs variables are dynamically scoped. That's unusual for most languages, so di #+END_SRC * Default settings + :PROPERTIES: + :ID: 3512d679-d111-4ccd-8372-6fc2acbc0374 + :END: #+BEGIN_SRC emacs-lisp (defconst *sys/gui* (display-graphic-p) @@ -186,6 +195,9 @@ Some windows specific stuff #+END_SRC * visuals ** Font + :PROPERTIES: + :ID: dc8eb670-e6bb-4bfb-98f0-aae1860234fb + :END: #+BEGIN_SRC emacs-lisp (when *sys/linux* (set-face-font 'default "Hack-10")) @@ -194,6 +206,9 @@ Some windows specific stuff #+END_SRC ** Themes + :PROPERTIES: + :ID: 9ccf37c0-6837-43cb-bed8-5a353799d8b1 + :END: #+BEGIN_SRC emacs-lisp (defun my/toggle-theme () @@ -215,6 +230,9 @@ Windows Theme: (load-theme 'tango)) #+END_SRC ** line wrappings + :PROPERTIES: + :ID: 14ae933e-2941-4cc3-82de-38f90f91bfd3 + :END: #+BEGIN_SRC emacs-lisp (global-visual-line-mode) (diminish 'visual-line-mode) @@ -230,6 +248,9 @@ Windows Theme: ; (add-hook 'visual-line-mode-hook 'my/activate-adaptive-wrap-prefix-mode))) #+END_SRC ** line numbers + :PROPERTIES: + :ID: 7b969436-98c9-4b61-ba7a-9fb22c9781ad + :END: #+BEGIN_SRC emacs-lisp (use-package display-line-numbers :init @@ -243,6 +264,9 @@ Windows Theme: ; (add-hook 'emacs-lisp-mode-hook 'display-line-numbers-mode) #+END_SRC ** misc + :PROPERTIES: + :ID: a2873138-16ee-4990-89a2-26eab778ea74 + :END: #+BEGIN_SRC emacs-lisp (use-package rainbow-mode :ensure t @@ -251,6 +275,9 @@ Windows Theme: emacs-lisp-mode) . rainbow-mode)) #+END_SRC * undo + :PROPERTIES: + :ID: d57621b2-5472-4c89-a520-b4133db0b9af + :END: #+BEGIN_SRC emacs-lisp (use-package undo-tree :ensure t @@ -259,6 +286,9 @@ Windows Theme: (global-undo-tree-mode 1)) #+END_SRC * imenu-list + :PROPERTIES: + :ID: 0ae27ec9-5d77-43cf-ac76-5e12cc959046 + :END: A minor mode to show imenu in a sidebar. Call imenu-list-smart-toggle. [[https://github.com/bmag/imenu-list][Source]] @@ -276,6 +306,9 @@ Windows Theme: ) #+END_SRC * which-key + :PROPERTIES: + :ID: a880f079-b3a3-4706-bf1e-5f6c680101f1 + :END: #+BEGIN_SRC emacs-lisp (use-package which-key :ensure t @@ -288,6 +321,9 @@ Windows Theme: #+END_SRC * Evil + :PROPERTIES: + :ID: 80ca70e2-a146-46db-b581-418d655dc1fc + :END: #+BEGIN_SRC emacs-lisp (use-package evil @@ -297,6 +333,9 @@ Windows Theme: (evil-mode 1)) #+END_SRC * General (key mapper) + :PROPERTIES: + :ID: a20f183f-d41a-4dff-bc37-3bc4e25c8036 + :END: #+BEGIN_SRC emacs-lisp (use-package general :ensure t) @@ -310,6 +349,9 @@ Windows Theme: "q" '(imenu-list-quit-window :which-key "quit")) #+END_SRC * ivy / counsel / swiper + :PROPERTIES: + :ID: 55c74ba9-7761-4545-8ddd-087d6ee33e4b + :END: #+BEGIN_SRC emacs-lisp ; (require 'ivy) @@ -349,6 +391,9 @@ Windows Theme: #+END_SRC * company + :PROPERTIES: + :ID: 944563b6-b04a-44f2-9b21-a6a3e200867c + :END: #+BEGIN_SRC emacs-lisp (use-package company @@ -390,6 +435,9 @@ Windows Theme: #+END_SRC ** company backends + :PROPERTIES: + :ID: 4ce2e728-276d-41f9-9538-84e6e08afd8d + :END: #+BEGIN_SRC emacs-lisp (defun company/org-mode-hook() @@ -409,6 +457,9 @@ Windows Theme: #+END_SRC * orgmode ** org + :PROPERTIES: + :ID: b89d7639-080c-4168-8884-bd5d8965f466 + :END: #+BEGIN_SRC emacs-lisp (use-package org :ensure org-plus-contrib @@ -443,6 +494,9 @@ Windows Theme: org-src-tab-acts-natively t)) #+END_SRC ** languages + :PROPERTIES: + :ID: ad3af718-d0db-448c-9f75-eb9e250c2862 + :END: Set some languages and disable confirmation for evaluating code blocks C-c C-c #+BEGIN_SRC emacs-lisp (org-babel-do-load-languages @@ -462,6 +516,9 @@ Set some languages and disable confirmation for evaluating code blocks C-c C-c (setq org-confirm-babel-evaluate nil) #+END_SRC ** habits + :PROPERTIES: + :ID: fcc91d0a-d040-4910-b2cf-3221496a3842 + :END: #+BEGIN_SRC emacs-lisp (require 'org-habit) ;;TODO Lösung ohne require finden, scheint mir nicht ideal zu sein, nur um ein org-modul zu aktivieren ;; (add-to-list 'org-modules "org-habit") @@ -471,6 +528,9 @@ Set some languages and disable confirmation for evaluating code blocks C-c C-c org-habit-show-habits-only-for-today nil) #+END_SRC ** org-id + :PROPERTIES: + :ID: c4017c45-d650-410c-8bd4-bc3cf42bbbb9 + :END: Currently it causes some debugger errors "not a standard org time string", so it's disabled #+BEGIN_SRC emacs-lisp ;; (use-package org-id @@ -480,6 +540,9 @@ Currently it causes some debugger errors "not a standard org time string", so it #+END_SRC ** org-agenda + :PROPERTIES: + :ID: 03b67efb-4179-41e5-bc2e-c472b13f8be6 + :END: Custom keywords, depending on environment #+BEGIN_SRC emacs-lisp (when *work_remote* @@ -536,6 +599,9 @@ Customize the org agenda org-super-agenda ** org-caldav + :PROPERTIES: + :ID: 6bd24369-0d04-452f-85a0-99914dfb74ff + :END: Vorerst deaktiviert, Nutzen evtl. nicht vorhanden #+BEGIN_SRC emacs-lisp ;;(use-package org-caldav @@ -547,6 +613,9 @@ Vorerst deaktiviert, Nutzen evtl. nicht vorhanden ;; org-caldav-files (concat MY--PATH_ORG_FILES "tasks"))) #+END_SRC ** journal + :PROPERTIES: + :ID: a1951e18-d862-4198-9652-016e979053c8 + :END: [[https://github.com/bastibe/org-journal][Source]] #+BEGIN_SRC emacs-lisp @@ -561,6 +630,9 @@ Vorerst deaktiviert, Nutzen evtl. nicht vorhanden * Programming ** Magit / Git + :PROPERTIES: + :ID: d3589460-317f-40f6-9056-053be9ba3217 + :END: Little crash course in magit: - magit-init to init a git project - magit-status (C-x g) to call the status window @@ -589,6 +661,9 @@ In status buffer: #+END_SRC ** LSP + :PROPERTIES: + :ID: 06ad00e0-44a6-4bfb-ba6f-b1672811e053 + :END: Configuration for the language server protocol *ACHTUNG* Dateipfad muss absolut sein, symlink im Pfad führt zumindest beim ersten Start zu Fehlern beim lsp Sobald der lsp einmal lief, kann zukünftig der symlink-Pfad genommen werden. @@ -642,6 +717,9 @@ TODO Unterverzeichnisse wurden noch nicht getestet #+END_SRC ** yasnippet + :PROPERTIES: + :ID: 935d89ef-645e-4e92-966f-2fe3bebb2880 + :END: For useful snippet either install yasnippet-snippets or get them from here [[https://github.com/AndreaCrotti/yasnippet-snippets][Github]] @@ -658,6 +736,9 @@ For useful snippet either install yasnippet-snippets or get them from here #+end_src ** hippie expand + :PROPERTIES: + :ID: c55245bc-813d-4816-a0ca-b4e2e793e28b + :END: With hippie expand I am able to use yasnippet and emmet at the same time with the same key. #+begin_src emacs-lisp (use-package hippie-exp @@ -669,6 +750,9 @@ With hippie expand I am able to use yasnippet and emmet at the same time with th '(yas-hippie-try-expand emmet-expand-line))) #+end_src ** flycheck + :PROPERTIES: + :ID: 3d8f2547-c5b3-46d0-91b0-9667f9ee5c47 + :END: #+BEGIN_SRC emacs-lisp (use-package flycheck :ensure t @@ -687,6 +771,9 @@ With hippie expand I am able to use yasnippet and emmet at the same time with th #+END_SRC ** Projectile + :PROPERTIES: + :ID: a90329fd-4d36-435f-8308-a2771ac4c320 + :END: Manage projects and jump quickly between its files #+BEGIN_SRC emacs-lisp (use-package projectile @@ -707,6 +794,9 @@ Manage projects and jump quickly between its files #+END_SRC ** smartparens + :PROPERTIES: + :ID: 997ec416-33e6-41ed-8c7c-75a7bc47d285 + :END: #+BEGIN_SRC emacs-lisp (use-package smartparens :ensure t @@ -729,10 +819,16 @@ Manage projects and jump quickly between its files #+END_SRC ** lisp + :PROPERTIES: + :ID: a2bc3e08-b203-49d3-b337-fb186a14eecb + :END: #+BEGIN_SRC emacs-lisp (add-hook 'emacs-lisp-mode-hook 'company/elisp-mode-hook) #+END_SRC ** web + :PROPERTIES: + :ID: c0b0b4e4-2162-429f-b80d-6e5334b1290e + :END: apt install npm sudo npm install -g vscode-html-languageserver-bin @@ -768,6 +864,9 @@ Default completion is C-j (unbind-key "C-" emmet-mode-keymap)) #+end_src ** YAML + :PROPERTIES: + :ID: 95413247-04d5-4e02-8431-06c162ec8f3b + :END: #+begin_src emacs-lisp (use-package yaml-mode :if *sys/linux* @@ -775,6 +874,9 @@ Default completion is C-j :mode ("\\.yml$" . yaml-mode)) #+end_src ** Python + :PROPERTIES: + :ID: 8c76fcd1-c57c-48ab-8af0-aa782de6337f + :END: Systemseitig muss python-language-server installiert sein: pip3 install 'python-language-server[all]' @@ -807,6 +909,9 @@ Default completion is C-j #+END_SRC * beancount ** Installation + :PROPERTIES: + :ID: 2c329043-b7a9-437d-a5cf-f2ad6514be91 + :END: #+BEGIN_SRC shell sudo su cd /opt