diff options
| -rw-r--r-- | jeschli/2configs/emacs.nix | 178 | 
1 files changed, 2 insertions, 176 deletions
| diff --git a/jeschli/2configs/emacs.nix b/jeschli/2configs/emacs.nix index 7400663..5bdd6d5 100644 --- a/jeschli/2configs/emacs.nix +++ b/jeschli/2configs/emacs.nix @@ -9,180 +9,6 @@ let      ];    }; -#  orgAgendaView = import ./emacs-org-agenda.nix; - -  packageRepos = '' -    (require 'package) ;; You might already have this line -    (let* ((no-ssl (and (memq system-type '(windows-nt ms-dos)) -                        (not (gnutls-available-p)))) -           (url (concat (if no-ssl "http" "https") "://melpa.org/packages/"))) -      (add-to-list 'package-archives (cons "melpa" url) t) -      (add-to-list 'package-archives -                 '("org" . "http://orgmode.org/elpa/") t) -    ) -    (when (< emacs-major-version 24) -      ;; For important compatibility libraries like cl-lib -      (add-to-list 'package-archives '("gnu" . "http://elpa.gnu.org/packages/"))) -    (package-initialize) -  ''; - -  evilMode = '' -    ;; Evil Mode -    (require 'evil) -    (evil-mode 1) -    ;; (require 'evil-org) -    ;; (add-hook 'org-mode-hook 'evil-org-mode) -    ;; (evil-org-set-key-theme '(navigation insert textobjects additional calendar)) -    ;; (require 'evil-org-agenda) -    ;; (evil-org-agenda-set-keys) -  ''; - -  goMode = '' -    (setq godoc-and-godef-command "go doc") ;godoc has no cli support any more, thats go doc now -    (add-to-list 'exec-path "~/go/bin") -    (add-hook 'go-mode-hook -    (lambda () -      (setq-default) -      (setq tab-width 2) -      (setq standard-indent 2) -      (setq indent-tabs-mode nil))) -  ''; - -  ido = '' -    (require 'ido) -    (ido-mode t) -  ''; - -  helm = '' -    (helm-mode 1) -    (global-set-key (kbd "M-x") #'helm-M-x) -    (global-set-key (kbd "C-x r b") #'helm-filtered-bookmarks) -    (global-set-key (kbd "C-x C-f") #'helm-find-files) -  ''; - -  magit = '' -    (global-set-key (kbd "C-x g") 'magit-status) ; "Most Magit commands are commonly invoked from the status buffer" -  ''; - -  windowCosmetics = '' -    (menu-bar-mode -1) -    (tool-bar-mode -1)                  ; Disable the button bar atop screen -    (scroll-bar-mode -1)                ; Disable scroll bar -    (toggle-scroll-bar -1) -    (setq inhibit-startup-screen t)     ; Disable startup screen with graphics -    (setq-default indent-tabs-mode nil) ; Use spaces instead of tabs -    (setq default-tab-width 2)          ; Two spaces is a tab -    (setq tab-width 2)                  ; Four spaces is a tab -    (setq visible-bell nil)             ; Disable annoying visual bell graphic -    (setq ring-bell-function 'ignore)   ; Disable super annoying audio bell -  ''; - -  orgMode = '' -    (add-to-list 'auto-mode-alist '("\\.\\(org\\|org_archive\\|txt\\)$" . org-mode)) -    (global-set-key "\C-cl" 'org-store-link) -    (global-set-key "\C-ca" 'org-agenda) -    (global-set-key "\C-cb" 'org-iswitchb) -    (global-set-key "\C-c L" 'org-insert-link-global) -    (global-set-key "\C-c o" 'org-open-at-point-global) -    (setq org-link-frame-setup '((file . find-file))) ; open link in same frame. -    (if (boundp 'org-user-agenda-files) -      (setq org-agenda-files org-user-agenda-files) -      (setq org-agenda-files (quote ("~/projects/notes_privat"))) -    ) -  ''; - -  theme = '' -    (load-theme 'monokai-alt t) -    (load-theme 'whiteboard t) -    (disable-theme 'monokai-alt) -    (disable-theme 'whiteboard) - -    (defun mh/load-whiteboard-theme () -      "load whiteboard theme" -      (interactive) -      (message "whiteboard loaded") -      (disable-theme 'monokai-alt) -      (enable-theme 'whiteboard) -    ) - -    (defun mh/load-monokai-theme () -      "load monokai theme" -      (interactive) -      (message "monokai loaded") -      (disable-theme 'whiteboard) -      (enable-theme 'monokai-alt) -    ) - -    (global-set-key "\C-ctw" 'mh/load-whiteboard-theme) -    (global-set-key "\C-ctm" 'mh/load-monokai-theme) -  ''; - -  # Configuration for rust development -  # inspired by -  # https://github.com/bbatsov/prelude/blob/master/modules/prelude-rust.el -  # -  # This requires rls and racer to be installed on the system -  rustDevelopment = '' -    (setq racer-rust-src-path nil) ;; read from shell-nix -    (setq racer-cmd "racer") ;; read from shell-nix -    (add-hook 'rust-mode-hook #'racer-mode) -    (add-hook 'rust-mode-hook (lambda() -      (local-set-key (kbd "C-c C-d") 'racer-describe) -      (local-set-key (kbd "C-c .") 'racer-find-definition) -      (local-set-key (kbd "C-c ,") 'pop-tag-mark)) -    ) -    (add-hook 'racer-mode-hook #'eldoc-mode) -    (add-hook 'racer-mode-hook #'company-mode) -    (require 'rust-mode) -    (define-key rust-mode-map (kbd "TAB") #'company-indent-or-complete-common) -    (setq company-tooltip-align-annotations t) -  ''; - -  recentFiles = '' -    (recentf-mode 1) -    (setq recentf-max-menu-items 25) -    (global-set-key "\C-x\ \C-r" 'recentf-open-files) -  ''; - -  myFunctionKeys = '' -    (fset 'kill-actual-buffer -      [?\C-x ?k return]) - -    (defun mh/open-term-and-rename (name) -      "open a new bash and rename it" -      (interactive "sName of new terminal: ") -      (term "/run/current-system/sw/bin/bash") -      (rename-buffer name) -    ) -    (global-set-key (kbd "M-<f8>") 'kill-actual-buffer) - -    (global-set-key (kbd "<f5>") 'mh/open-term-and-rename) -    (global-set-key (kbd "<f6>") 'other-window) -    (global-set-key (kbd "<f7>") 'split-window-right) -    (global-set-key (kbd "<f8>") 'delete-other-windows) -  ''; - -  lspMode = '' -    (require 'lsp-mode) -    (add-hook 'rust-mode-hook #'lsp) -  ''; - -  dotEmacs = pkgs.writeText "dot-emacs" '' -    ${packageRepos} - -    ${evilMode} -    ${goMode} -    ${helm} -    ${magit} -    ${orgMode} -    ${rustDevelopment} -    ${theme} -    ${windowCosmetics} - -    ${myFunctionKeys} -    ${lspMode} -  ''; -    #emacsWithCustomPackages    emacsPkgs= epkgs: [      # testing lsp mode @@ -259,11 +85,11 @@ let    };    myEmacs = pkgs.writeDashBin "my-emacs" '' -    exec ${emacsWithOverlay}/bin/emacs -q -l ${dotEmacs} "$@" +    exec ${emacsWithOverlay}/bin/emacs -q "$@"    '';    myEmacsWithDaemon = pkgs.writeDashBin "my-emacs-daemon" '' -    exec ${emacsWithOverlay}/bin/emacs -q -l ${dotEmacs} --daemon +    exec ${emacsWithOverlay}/bin/emacs -q --daemon    '';    myEmacsClient = pkgs.writeDashBin "meclient" '' | 
