diff --git a/.gitignore b/.gitignore index fa3ed0e..4345855 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,25 @@ /auto-save-list +/%backup%~ /backups -/elpa -/recentf +/bookmarks /.cache +/elpa +/elpa_ +/eshell +/games +/ktramp.el +/kubernetes-tramp.el /.lsp-session-v1 +/org-roam.db /projectile-bookmarks.eld +/projectile.cache +/recentf +/request +/tamp +/tramp /transient/ -projectile.cache +/undo-tree-hist +/url +/.lsp-eslint-choices +/eln-cache/ +/quelpa/ diff --git a/init.el b/init.el index d18a62a..45fee24 100644 --- a/init.el +++ b/init.el @@ -13,24 +13,25 @@ (setq backup-directory-alist `(("." . "~/.emacs.d/backups")) ) ; which directory to put backups file (setq vc-follow-symlinks t ) ; don't ask for confirmation when opening symlinked file (setq auto-save-file-name-transforms '((".*" "~/.emacs.d/auto-save-list/" t)) ) ;transform backups file name +(setq undo-tree-history-directory-alist `(("." . "~/.emacs.d/undo-tree-hist/"))) ; fix undo tree folder (setq inhibit-startup-screen t ) ; inhibit useless and old-school startup screen (setq ring-bell-function 'ignore ) ; silent bell when you make a mistake (setq coding-system-for-read 'utf-8 ) ; use utf-8 by default (setq coding-system-for-write 'utf-8 ) (setq sentence-end-double-space nil) ; sentence SHOULD end with only a point. -(setq initial-scratch-message "Welcome in Emacs") ; print a default message in the empty scratch buffer opened at startup -(setq focus-follows-mouse nil) - -;; global keybindings -(global-set-key (kbd "C-k") 'previous-line) -(global-set-key (kbd "C-j") 'next-line) +(setq initial-scratch-message "") ; print a default message in the empty scratch buffer opened at startup +(setq focus-follows-mouse nil) ; stop popups from getting focus +(setq mouse-autoselect-window nil) ; stop popups from getting focus +(setq display-line-numbers 'relative) ; show relative line-numers +(setq column-number-mode t) ; show column number +(recentf-mode 1) ;; package manager (require 'package) (setq package-enable-at-startup nil) ; tells emacs not to load any packages before starting up -(setq package-archives '(("org" . "http://orgmode.org/elpa/") - ("gnu" . "http://elpa.gnu.org/packages/") - ("melpa" . "https://melpa.org/packages/"))) +(setq package-archives '(("org" . "http://orgmode.org/elpa/") + ("gnu" . "http://elpa.gnu.org/packages/") + ("melpa" . "https://melpa.org/packages/"))) (package-initialize) ;; use package @@ -40,74 +41,141 @@ (require 'use-package) ;; themes -(use-package doom-themes :ensure t) -(use-package monokai-theme :ensure t +(use-package doom-themes :ensure t :config - (load-theme 'doom-laserwave t)) -(use-package all-the-icons :ensure t) + (load-theme 'doom-one-light t) + (rainbow-mode)) (use-package doom-modeline :ensure t :hook (after-init . doom-modeline-mode)) (set-face-attribute 'default nil - :family "Meslo LG S DZ" - :height 105 + :family "CaskaydiaCove Nerd Font" + :height 120 :weight 'normal :width 'normal) ;; evil config (use-package evil :ensure t - :config (evil-mode 1)) -(use-package evil-surround - :ensure t + :init + (setq evil-want-integration t) + (setq evil-want-keybinding nil) :config - (global-evil-surround-mode 1) - (evil-define-key 'visual evil-surround-mode-map "s" 'evil-surround-region) - ) + (evil-mode 1) + (global-display-line-numbers-mode)) + (evil-ex-define-cmd "W[rite]" 'evil-write) + (define-key evil-insert-state-map (kbd "C-k") nil) + (define-key evil-insert-state-map (kbd "C-v") nil) + (define-key evil-insert-state-map (kbd "C-v") 'evil-paste-after) +(use-package evil-surround :ensure t + :after evil + :config (global-evil-surround-mode 1)) +(use-package evil-collection :ensure t + :after evil + :config (evil-collection-init) + :custom (evil-collection-setup-minibuffer t)) (use-package evil-matchit :ensure t :config (global-evil-matchit-mode 1)) - -;; ivy config -(use-package ivy :ensure t +(use-package undo-tree :ensure t :config - (setq ivy-height 10) - (setq ivy-use-virtual-buffers t) - (setq enable-recursive-minibuffers t) - (setq ivy-re-builders-alist - '((swiper . ivy--regex-plus) - (t . ivy--regex-fuzzy))) - (ivy-mode 1) - (define-key ivy-minibuffer-map (kbd "C-j") 'ivy-next-line) - (define-key ivy-minibuffer-map (kbd "C-k") 'ivy-previous-line) - (define-key ivy-minibuffer-map (kbd "C-h") (kbd "DEL")) - (define-key ivy-minibuffer-map (kbd "C-S-h") help-map) - (define-key ivy-minibuffer-map (kbd "C-l") 'ivy-alt-done) - (define-key ivy-minibuffer-map (kbd "") 'minibuffer-keyboard-quit)) -(use-package ivy-xref :ensure t - :init (setq xref-show-xrefs-function #'ivy-xref-show-xrefs)) -(use-package ivy-rich :ensure t - :config (ivy-rich-mode 1)) + (global-undo-tree-mode) + (evil-set-undo-system 'undo-tree)) +(use-package evil-escape :ensure t + :config + (setq-default evil-escape-delay 0.2) + (evil-escape-mode 1)) -;; counsel -(use-package counsel :ensure t - :config (counsel-mode 1)) -(use-package counsel-projectile :ensure t) -(use-package swiper :ensure t) +;; helm config +(use-package helm :ensure t + :bind ( + ([remap apropos] . helm-apropos) + ([remap find-library] . helm-locate-library) + ([remap bookmark-jump] . helm-bookmarks) + ([remap execute-extended-command] . helm-M-x) + ([remap find-file] . helm-find-files) + ([remap imenu-anywhere] . helm-imenu-anywhere) + ([remap imenu] . helm-semantic-or-imenu) + ([remap noop-show-kill-ring] . helm-show-kill-ring) + ([remap persp-switch-to-buffer] . helm-mini) + ([remap switch-to-buffer] . helm-buffers-list) + ([remap projectile-find-file] . helm-projectile-find-file) + ([remap projectile-recentf] . helm-projectile-recentf) + ([remap projectile-switch-project] . helm-projectile-switch-project) + ([remap projectile-switch-to-buffer] . helm-projectile-switch-to-buffer) + ([remap recentf-open-files] . helm-recentf) + :map helm-map + ("C-k" . helm-previous-line) + ("C-j" . helm-next-line) + ("C-p" . helm-previous-line) + ("C-n" . helm-next-line) + ("C-h" . nil) + ("C-h" . helm-find-files-up-one-level) + ("C-l" . nil) + ("C-l" . helm-ff-RET) + ("ESC" . abort-recursive-edit) + :map helm-find-files-map + ("C-l" . nil) + ("C-l" . helm-ff-RET) + ) + :preface + (setq + helm-display-buffer-default-height 0.25 + helm-display-header-line nil + helm-ff-file-name-history-use-recentf t + helm-find-files-doc-header nil + helm-mode-line-string nil + helm-move-to-line-cycle-in-source t) + :config + (require 'helm-config) + (helm-mode 1)) +(use-package helm-lsp :ensure t) +(use-package helm-company :ensure t) +(use-package swiper-helm :ensure t) +(use-package helm-projectile :ensure t) +(use-package helm-ag :ensure t + :config + (setq helm-ag-base-command "rg --vimgrep --no-heading --smart-case")) ;; projectile (use-package projectile :ensure t :config (projectile-mode +1)) +;; treemacs +(use-package treemacs :ensure t) +(use-package all-the-icons :ensure t) +(use-package treemacs-evil :ensure t + :after (treemacs evil)) +(use-package treemacs-projectile :ensure t + :after (treemacs projectile)) +(use-package lsp-treemacs :ensure t + :after (treemacs lsp) + :config + (lsp-treemacs-sync-mode 1)) + ;; which key (use-package which-key :ensure t :config - (which-key-mode 1) + (which-key-mode) (which-key-setup-side-window-bottom) (which-key-setup-minibuffer) (setq which-key-idle-delay .3) ) +;; jira +(use-package org-jira :ensure t + :config + (jiralib-url "https://thomannio.atlassian.net")) + ;; langs ;; +;; nixos +(use-package nix-mode :ensure t + :mode "\\.nix\\'") +;; terraform +(use-package terraform-mode :ensure t + :config + (add-hook 'terraform-mode-hook #'terraform-format-on-save-mode)) +;; rego +(use-package rego-mode :ensure t) ;; vue (use-package vue-mode :ensure t :config @@ -141,6 +209,10 @@ "ma" 'puppet-align-block ) ) +(use-package markdown-mode :ensure t + :config + (add-hook 'markdown-mode-hook (lambda () (setq indent-tabs-mode nil))) + (set-variable 'markdown-max-image-size '(800 . 600))) ;; php (use-package php-mode :ensure t) ;; k8s @@ -151,19 +223,28 @@ (use-package rust-mode :ensure t :config (setq rust-format-on-save t) - (add-hook 'rust-mode-hook - (lambda () (setq indent-tabs-mode nil))) - ) -(add-hook 'rust-mode-hook - (lambda () (setq indent-tabs-mode nil))) -;; bazel / starlak -(use-package bazel-mode :ensure t) - + (add-hook 'rust-mode-hook (lambda () (setq indent-tabs-mode nil)))) +;; python +(use-package python-black + :ensure t + :hook (python-mode . python-black-on-save-mode-enable-dwim)) ;; code-with-fun +(use-package evil-org :ensure t + :after org + :hook (org-mode . (lambda () evil-org-mode))) +(use-package direnv :ensure t + :config + (direnv-mode)) +(use-package rainbow-mode :ensure t + :config + (rainbow-mode)) +(use-package hl-todo :ensure t + :config + (hl-todo-mode)) (use-package whitespace :config - (setq whitespace-style '(face empty tabs lines-tail trailing)) + (setq whitespace-style '(face empty tabs trailing)) (global-whitespace-mode t)) (use-package company :config @@ -172,53 +253,94 @@ (define-key company-active-map (kbd "C-p") 'company-select-previous) (define-key company-active-map (kbd "C-j") 'company-select-next) (define-key company-active-map (kbd "C-k") 'company-select-previous) - (setq company-idle-delay 0.2 + (define-key company-search-map (kbd "C-n") 'company-select-next) + (define-key company-search-map (kbd "C-p") 'company-select-previous) + (define-key company-search-map (kbd "C-j") 'company-select-next) + (define-key company-search-map (kbd "C-k") 'company-select-previous) + (setq company-idle-delay 0.1 company-minimum-prefix-length 2 - company-require-match nil - company-dabbrev-ignore-case nil - company-dabbrev-downcase nil) - ) + company-require-match nil)) +(use-package graphql-mode :ensure t) + (use-package highlight-indentation :ensure t) +(use-package quelpa-use-package :ensure t) +(use-package copilot :ensure t + :after evil + :quelpa (copilot :fetcher github + :repo "zerolfx/copilot.el" + :branch "main" + :files ("dist" "*.el")) + :bind ("C-," . 'copilot-accept-completion) + :hook (go-mode . copilot-mode) + :hook (python-mode . copilot-mode) + :hook (rust-mode . copilot-mode) + ) + ;; lsp (use-package lsp-mode :ensure t :commands (lsp lsp-deferred) :hook (c++-mode . lsp-deferred) - (dockerfile-mode . lsp-deferred) (go-mode . lsp-deferred) (javascript-mode . lsp-deferred) (js2-mode . lsp-deferred) + (php-mode . lsp-deferred) (puppet-mode . lsp-deferred) (python-mode . lsp-deferred) (ruby-mode . lsp-deferred) (rust-mode . lsp-deferred) + (terraform-mode . lsp-deferred) (vue-mode . lsp-deferred) + (yaml-mode . lsp-deferred) :config - (lsp-register-client - (make-lsp-client :new-connection (lsp-stdio-connection '("/usr/bin/terraform-lsp" "-enable-log-file")) - :major-modes '(hcl-mode) - :server-id 'terraform-ls)) (lsp-register-client (make-lsp-client :new-connection - (lsp-stdio-connection '("bundle" - "exec" - "--keep-file-descriptors" - "/home/stefan/Apps/puppet-editor-services/puppet-languageserver" - "--debug=/tmp/puplsp" - "--stdio")) + (lsp-stdio-connection + '("bundle" "exec" "--keep-file-descriptors" + "/nix/store/pgjhgk5d41q6jjxiympqjs3qzxf52mg9-puppet-editor-services-9fd4984/puppet-languageserver" + "--local-workspace=/home/stefan/git/sysadmin/puppet" "--debug=/tmp/puplsp" "--stdio")) + :environment-fn (lambda() '(("BUNDLE_GEMFILE" . "/home/stefan/Apps/puppet-editor-services/Gemfile"))) :major-modes '(puppet-mode) :server-id 'puppet-languageserver)) (add-to-list 'lsp-language-id-configuration '(puppet-mode . "puppet-languageserver")) + (lsp-register-client (make-lsp-client :new-connection - (lsp-stdio-connection '("/home/stefan/Apps/yaml-language-server/bin/yaml-language-server" - "--stdio")) + (lsp-stdio-connection '("nix-shell" "-p" "nodePackages.yaml-language-server" + "--run" "yaml-language-server --stdio")) :major-modes '(yaml-mode) - :server-id 'yaml-languageserver)) - (add-to-list 'lsp-language-id-configuration '(yaml-mode . "yaml-languageserver")) + :server-id 'nix-yls)) + (add-to-list 'lsp-language-id-configuration '(yaml-mode . "yaml-language-server")) + + (lsp-register-client + (make-lsp-client + :new-connection + (lsp-stdio-connection '("nix-shell" "-p" "nodePackages.typescript-language-server" + "--run" "typescript-language-server --stdio")) + :major-modes '(js2-mode) + :server-id 'nix-tls)) + (add-to-list 'lsp-language-id-configuration '(js2-mode . "nix-tls")) + + (lsp-register-client + (make-lsp-client + :new-connection + (lsp-stdio-connection + '("nix-shell" "-p" "phpactor" "--run" "phpactor language-server")) + :major-modes '(php-mode) + :server-id 'php-custom)) + (add-to-list 'lsp-language-id-configuration '(puppet-mode . "php-custom")) + + (lsp-register-client + (make-lsp-client + :new-connection + (lsp-stdio-connection '("nix-shell" "-p" "rnix-lsp" "--run" "rnix-lsp")) + :major-modes '(nix-mode) + :server-id 'nix)) + (add-to-list 'lsp-language-id-configuration '(nix-mode . "nix-custom")) + (setq lsp-auto-configure t lsp-auto-guess-root t lsp-enable-indentation t @@ -226,44 +348,27 @@ lsp-before-save-edits t lsp-enable-snippet t ) - (defvar lsp-vetur-validation-template nil) ) (use-package flycheck :ensure t :init (global-flycheck-mode)) (use-package lsp-ui :ensure t - :commands lsp-ui-mode - :config - (setq lsp-ui-doc-position 'at-point - lsp-ui-doc-use-childframe t) - ) -(use-package company-lsp :ensure t - :commands company-lsp) + :commands lsp-ui-mode) (use-package yasnippet :ensure t :config (yas-global-mode 1)) (use-package yasnippet-snippets :ensure t) (use-package smartparens :ensure t :config (smartparens-global-mode 1)) -;; treemacs -(use-package treemacs :ensure t) -(use-package lsp-treemacs :ensure t - :commands lsp-treemacs-errors-list) -(use-package treemacs-evil :ensure t - :after treemacs evil) -(use-package treemacs-evil :ensure t - :after treemacs evil) -(use-package treemacs-evil :ensure t - :after treemacs evil) - ;; magit -(use-package evil-magit :ensure t) (use-package magit :ensure t) ;; general config (use-package general :ensure t :config + (global-set-key (kbd "") 'evil-escape) + (global-set-key (kbd "C-c C-g") 'evil-escape) (menu-bar-mode -1) - (toggle-scroll-bar -1) + (scroll-bar-mode -1) (tool-bar-mode -1) (general-define-key :states '(normal visual insert emacs) @@ -271,10 +376,9 @@ :non-normal-prefix "C-SPC" ;; simple command - "SPC" 'counsel-M-x + "SPC" 'helm-M-x "'" '(iterm-focus :which-key "iterm") "?" '(iterm-goto-filedir-or-home :which-key "iterm - goto dir") - "/" 'counsel-ag "TAB" '(foo/switch-to-last-buffer :which-key "prev buffer") ;; Applications @@ -284,16 +388,16 @@ ;; Buffers "b" '(:ignore t :which-key "Buffers") - "bb" 'switch-to-buffer + "bb" 'helm-buffers-list "bd" 'evil-delete-buffer "bn" 'next-buffer "bn" 'next-buffer + "br" 'helm-recentf "bs" 'foo/switch-to-scratch-buffer ;; Files - "ff" 'counsel-find-file - "fL" 'counsel-locate - "fr" 'counsel-recentf + "ff" 'helm-find-files + "fr" 'helm-recentf "fR" 'foo/rename-current-buffer-file "fD" 'foo/delete-current-buffer-file "fc" 'foo/copy-file' @@ -319,27 +423,46 @@ "mj" 'imenu "me" 'lsp-ui-flycheck-list "mn" 'flycheck-next-error + "ms" 'lsp-ivy-workspace-symbol + "mS" 'lsp-ivy-global-workspace-symbol + "m RET" 'lsp-execute-code-action ;; Projectile "p" '(:ignore t :which-key "Projectile") - "p SPC" 'counsel-projectile - "pb" 'counsel-projectile-switch-to-buffer - "pd" 'counsel-projectile-find-dir - "pp" 'counsel-projectile-switch-project - "pf" 'counsel-projectile-find-file - "pr" 'projectile-recentf + "pb" 'helm-projectile-switch-to-buffer + "pd" 'helm-projectile-find-dir + "pp" 'helm-projectile-switch-project + "pf" 'helm-projectile-find-file + "pr" 'helm-projectile-recentf + "pg" 'helm-ag + "/" 'helm-ag ;; Swyper "s" '(:ignore t :which-key "Swyper") - "ss" 'swiper - "sb" 'swiper-all + "ss" 'swiper-helm "sw" 'avy-goto-word-0 - ;; Treemacs - "ft" 'treemacs - "fB" 'treemacs-bookmark - "fT" 'treemacs-find-file - "f M-t" 'treemacs-find-tag + ;; Ticket (jira) + "tpg" 'org-jira-get-projects + "tib" 'org-jira-browse-issue + "tig" 'org-jira-get-issues + "tij" 'org-jira-get-issues-from-custom-jql + "tih" 'org-jira-get-issues-headonly + "tiu" 'org-jira-update-issue + "tiw" 'org-jira-progress-issue + "tin" 'org-jira-progress-issue-next + "tia" 'org-jira-assign-issue + "tir" 'org-jira-refresh-issue + "tiR" 'org-jira-refresh-issues-in-buffer + "tic" 'org-jira-create-issue + "tik" 'org-jira-copy-current-issue-key + "tsc" 'org-jira-create-subtask + "tsg" 'org-jira-get-subtasks + "tcc" 'org-jira-add-comment + "tcu" 'org-jira-update-comment + "twu" 'org-jira-update-worklogs-from-org-clocks + "ttj" 'org-jira-todo-to-jira + "tif" 'org-jira-get-issues-by-fixversion ;; Window "w" '(:ignore t :which-key "Window") @@ -375,12 +498,23 @@ "wV" 'split-window-right-and-focus "ww" 'other-window "wx" 'kill-buffer-and-window - - - )) +)) ;; custom functions +(defun foo/helm-or-evil-escape () + "Escape from anything." + (interactive) + (cond ((minibuffer-window-active-p (minibuffer-window)) + ;; quit the minibuffer if open. + (abort-recursive-edit)) + ;; Run all escape hooks. If any returns non-nil, then stop there. + ;; ((cl-find-if #'funcall doom-escape-hook)) + ;; don't abort macros + ((or defining-kbd-macro executing-kbd-macro) nil) + ;; Back to the default + ((keyboard-quit)))) + (defun foo/toggle-maximize-buffer () "Maximize buffer." (interactive) (save-excursion @@ -445,6 +579,7 @@ initialized with the current directory instead of filename." (yes-or-no-p (format "Create directory '%s'?" dir))) (make-directory dir t))) + (rename-file filename new-name 1) (rename-buffer new-name) (set-visited-file-name new-name) @@ -497,19 +632,20 @@ initialized with the current directory instead of filename." ;; 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. + '(auth-source-save-behavior nil) '(custom-safe-themes - (quote - ("99ea831ca79a916f1bd789de366b639d09811501e8c092c85b2cb7d697777f93" "e074be1c799b509f52870ee596a5977b519f6d269455b84ed998666cf6fc802a" "ca849ae0c889eb918785cdc75452b1e11a00848a5128a95a23872e0119ccc8f4" "1ca1f43ca32d30b05980e01fa60c107b02240226ac486f41f9b790899f6f6e67" "55257ccc6763185dde2146bcc5aa2b83130cc55042c45daaf5efe3c3137b578f" "5091eadbb87fa0a168a65f2c3e579d1a648d764f12ab9d3ab7bdefca709cd2a5" "5a411e7cb2d7955b28c514cd5b75782c6dd4ba027089fec17a2573405b0fdd5c" "aed6332e9a38b49bb044b994e8be0d57a2f67ff6ca96f5ce8e0130562c4cc233" "2d1fe7c9007a5b76cea4395b0fc664d0c1cfd34bb4f1860300347cdad67fb2f9" "7dc3fe8fadb914563790a3fbe587fd455626442f66da333ea4de2c455feefb98" "37ba833442e0c5155a46df21446cadbe623440ccb6bbd61382eb869a2b9e9bf9" "09cadcc2784baa744c6a7c5ebf2a30df59c275414768b0719b800cabd8d1b842" "427fa665823299f8258d8e27c80a1481edbb8f5463a6fb2665261e9076626710" "614e5089876ea69b515c50b6d7fa0a37eb7ed50fda224623ec49e1c91a0af6a1" "93a0885d5f46d2aeac12bf6be1754faa7d5e28b27926b8aa812840fe7d0b7983" "b0fd04a1b4b614840073a82a53e88fe2abc3d731462d6fde4e541807825af342" "cdb3e7a8864cede434b168c9a060bf853eeb5b3f9f758310d2a2e23be41a24ae" "ef4edbfc3ec509612f3cf82476beddd2aeb3da7bdc3a35726337a0cc838a4ef4" "a16e816774b437acb78beb9916a60ea236cfcd05784227a7d829623f8468c5a2" "8c847a5675ece40017de93045a28ebd9ede7b843469c5dec78988717f943952a" "e3c87e869f94af65d358aa279945a3daf46f8185f1a5756ca1c90759024593dd" "db10381a554231a40b7474eaac28bd58f05067faacce3b25d294bb179a3511a1" "34c99997eaa73d64b1aaa95caca9f0d64229871c200c5254526d0062f8074693" "868abc288f3afe212a70d24de2e156180e97c67ca2e86ba0f2bf9a18c9672f07" default))) + '("2853dd90f0d49439ebd582a8cbb82b9b3c2a02593483341b257f88add195ad76" "a138ec18a6b926ea9d66e61aac28f5ce99739cf38566876dc31e29ec8757f6e2" "afa47084cb0beb684281f480aa84dab7c9170b084423c7f87ba755b15f6776ef" "234dbb732ef054b109a9e5ee5b499632c63cc24f7c2383a849815dacc1727cb6" "a0be7a38e2de974d1598cf247f607d5c1841dbcef1ccd97cded8bea95a7c7639" "47db50ff66e35d3a440485357fb6acb767c100e135ccdf459060407f8baea7b2" "1704976a1797342a1b4ea7a75bdbb3be1569f4619134341bd5a4c1cfb16abad4" "0d01e1e300fcafa34ba35d5cf0a21b3b23bc4053d388e352ae6a901994597ab1" "835868dcd17131ba8b9619d14c67c127aa18b90a82438c8613586331129dda63" "da186cce19b5aed3f6a2316845583dbee76aea9255ea0da857d1c058ff003546" "8d7b028e7b7843ae00498f68fad28f3c6258eda0650fe7e17bfb017d51d0e2a2" "1278c5f263cdb064b5c86ab7aa0a76552082cf0189acf6df17269219ba496053" "e19ac4ef0f028f503b1ccafa7c337021834ce0d1a2bca03fcebc1ef635776bea" "78e6be576f4a526d212d5f9a8798e5706990216e9be10174e3f3b015b8662e27" "7a7b1d475b42c1a0b61f3b1d1225dd249ffa1abb1b7f726aec59ac7ca3bf4dae" "6c98bc9f39e8f8fd6da5b9c74a624cbb3782b4be8abae8fd84cbc43053d7c175" "d47f868fd34613bd1fc11721fe055f26fd163426a299d45ce69bef1f109e1e71" "745d03d647c4b118f671c49214420639cb3af7152e81f132478ed1c649d4597d" "a7b20039f50e839626f8d6aa96df62afebb56a5bbd1192f557cb2efb5fcfb662" "246a9596178bb806c5f41e5b571546bb6e0f4bd41a9da0df5dfbca7ec6e2250c" "d268b67e0935b9ebc427cad88ded41e875abfcc27abd409726a92e55459e0d01" "3d54650e34fa27561eb81fc3ceed504970cc553cfd37f46e8a80ec32254a3ec3" "613aedadd3b9e2554f39afe760708fc3285bf594f6447822dd29f947f0775d6c" "f91395598d4cb3e2ae6a2db8527ceb83fed79dbaf007f435de3e91e5bda485fb" "711efe8b1233f2cf52f338fd7f15ce11c836d0b6240a18fffffc2cbd5bfe61b0" "01cf34eca93938925143f402c2e6141f03abb341f27d1c2dba3d50af9357ce70" "37144b437478e4c235824f0e94afa740ee2c7d16952e69ac3c5ed4352209eefb" "93ed23c504b202cf96ee591138b0012c295338f38046a1f3c14522d4a64d7308" "f7216d3573e1bd2a2b47a2331f368b45e7b5182ddbe396d02b964b1ea5c5dc27" "c4bdbbd52c8e07112d1bfd00fee22bf0f25e727e95623ecb20c4fa098b74c1bd" "f2927d7d87e8207fa9a0a003c0f222d45c948845de162c885bf6ad2a255babfd" "71e5acf6053215f553036482f3340a5445aee364fb2e292c70d9175fb0cc8af7" "99ea831ca79a916f1bd789de366b639d09811501e8c092c85b2cb7d697777f93" "e074be1c799b509f52870ee596a5977b519f6d269455b84ed998666cf6fc802a" "ca849ae0c889eb918785cdc75452b1e11a00848a5128a95a23872e0119ccc8f4" "1ca1f43ca32d30b05980e01fa60c107b02240226ac486f41f9b790899f6f6e67" "55257ccc6763185dde2146bcc5aa2b83130cc55042c45daaf5efe3c3137b578f" "5091eadbb87fa0a168a65f2c3e579d1a648d764f12ab9d3ab7bdefca709cd2a5" "5a411e7cb2d7955b28c514cd5b75782c6dd4ba027089fec17a2573405b0fdd5c" "aed6332e9a38b49bb044b994e8be0d57a2f67ff6ca96f5ce8e0130562c4cc233" "2d1fe7c9007a5b76cea4395b0fc664d0c1cfd34bb4f1860300347cdad67fb2f9" "7dc3fe8fadb914563790a3fbe587fd455626442f66da333ea4de2c455feefb98" "37ba833442e0c5155a46df21446cadbe623440ccb6bbd61382eb869a2b9e9bf9" "09cadcc2784baa744c6a7c5ebf2a30df59c275414768b0719b800cabd8d1b842" "427fa665823299f8258d8e27c80a1481edbb8f5463a6fb2665261e9076626710" "614e5089876ea69b515c50b6d7fa0a37eb7ed50fda224623ec49e1c91a0af6a1" "93a0885d5f46d2aeac12bf6be1754faa7d5e28b27926b8aa812840fe7d0b7983" "b0fd04a1b4b614840073a82a53e88fe2abc3d731462d6fde4e541807825af342" "cdb3e7a8864cede434b168c9a060bf853eeb5b3f9f758310d2a2e23be41a24ae" "ef4edbfc3ec509612f3cf82476beddd2aeb3da7bdc3a35726337a0cc838a4ef4" "a16e816774b437acb78beb9916a60ea236cfcd05784227a7d829623f8468c5a2" "8c847a5675ece40017de93045a28ebd9ede7b843469c5dec78988717f943952a" "e3c87e869f94af65d358aa279945a3daf46f8185f1a5756ca1c90759024593dd" "db10381a554231a40b7474eaac28bd58f05067faacce3b25d294bb179a3511a1" "34c99997eaa73d64b1aaa95caca9f0d64229871c200c5254526d0062f8074693" "868abc288f3afe212a70d24de2e156180e97c67ca2e86ba0f2bf9a18c9672f07" default)) + '(helm-minibuffer-history-key "M-p") '(package-selected-packages - (quote - (bazel-mode rainbow-mode highlight-indentation k8s-mode darkokai-theme monokai-pro-theme php-mode puppet-mode smartparens yaml-mode ivy-hydra ivy-rich evy use-package general evil avy))) - '(require-final-newline t)) + '(evil-escape copilot editorconfig quelpa-use-package lsp-treemacs treemacs-projectile treemacs-evil treemacs graphql-mode helm-ag undo-tree direnv lsp-ivy bazel-mode rainbow-mode highlight-indentation k8s-mode darkokai-theme monokai-pro-theme php-mode puppet-mode smartparens yaml-mode ivy-hydra ivy-rich evy use-package general evil avy)) + '(require-final-newline t) + '(warning-suppress-types '(((flycheck syntax-checker))))) (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. - '(lsp-clients-php-server-command (quote ("php /home/stefan/Apps/php-language-server/vendor/bin/psalm-language-server")))) + ) (provide 'init) ;;; init.el ends here diff --git a/snippets/text-mode/umlaut-Ae b/snippets/text-mode/umlaut-Ae new file mode 100644 index 0000000..5e8dc01 --- /dev/null +++ b/snippets/text-mode/umlaut-Ae @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: umlaut-ae +# key: Ae +# -- +Ä \ No newline at end of file diff --git a/snippets/text-mode/umlaut-Oe b/snippets/text-mode/umlaut-Oe new file mode 100644 index 0000000..76f0d5b --- /dev/null +++ b/snippets/text-mode/umlaut-Oe @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: umlaut-Oe +# key: Oe +# -- +Ö \ No newline at end of file diff --git a/snippets/text-mode/umlaut-Ue b/snippets/text-mode/umlaut-Ue new file mode 100644 index 0000000..fb0480c --- /dev/null +++ b/snippets/text-mode/umlaut-Ue @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: umlaut-Ue +# key: Ue +# -- +Ü \ No newline at end of file diff --git a/snippets/text-mode/umlaut-ae b/snippets/text-mode/umlaut-ae new file mode 100644 index 0000000..ce1f083 --- /dev/null +++ b/snippets/text-mode/umlaut-ae @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: umlaut-ae +# key: ae +# -- +ä \ No newline at end of file diff --git a/snippets/text-mode/umlaut-fuer b/snippets/text-mode/umlaut-fuer new file mode 100644 index 0000000..0f5ee31 --- /dev/null +++ b/snippets/text-mode/umlaut-fuer @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: umlaut-fuer +# key: fuer +# -- +für \ No newline at end of file diff --git a/snippets/text-mode/umlaut-gruss b/snippets/text-mode/umlaut-gruss new file mode 100644 index 0000000..95dead8 --- /dev/null +++ b/snippets/text-mode/umlaut-gruss @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: umlaut-gruss +# key: Gruss +# -- +Gruß \ No newline at end of file diff --git a/snippets/text-mode/umlaut-oe b/snippets/text-mode/umlaut-oe new file mode 100644 index 0000000..059b57e --- /dev/null +++ b/snippets/text-mode/umlaut-oe @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: umlaut-oe +# key: oe +# -- +ö \ No newline at end of file diff --git a/snippets/text-mode/umlaut-ue b/snippets/text-mode/umlaut-ue new file mode 100644 index 0000000..8571f03 --- /dev/null +++ b/snippets/text-mode/umlaut-ue @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: umlaut-ue +# key: ue +# -- +ü \ No newline at end of file