From 81e9f8b8b5e02edca0cec7680fb43f0cd64200ae Mon Sep 17 00:00:00 2001 From: Jeschli Date: Sat, 16 Nov 2019 04:10:53 +0100 Subject: j emacs: +spacemacs theme --- jeschli/2configs/emacs.nix | 1 + 1 file changed, 1 insertion(+) (limited to 'jeschli/2configs/emacs.nix') diff --git a/jeschli/2configs/emacs.nix b/jeschli/2configs/emacs.nix index f866bbca9..614f195fa 100644 --- a/jeschli/2configs/emacs.nix +++ b/jeschli/2configs/emacs.nix @@ -210,6 +210,7 @@ let epkgs.melpaPackages.evil epkgs.melpaPackages.google-this epkgs.melpaPackages.monokai-alt-theme + epkgs.melpaPackages.spacemacs-theme epkgs.melpaPackages.zenburn-theme # development -- cgit v1.2.3 From c4806aa4f791b11358fa9e8f3b52cad400212dca Mon Sep 17 00:00:00 2001 From: Jeschli Date: Wed, 11 Dec 2019 19:34:08 +0100 Subject: j emacs: set racer paths for use with a shell-nix --- jeschli/2configs/emacs.nix | 2 ++ 1 file changed, 2 insertions(+) (limited to 'jeschli/2configs/emacs.nix') diff --git a/jeschli/2configs/emacs.nix b/jeschli/2configs/emacs.nix index 614f195fa..0a81048fa 100644 --- a/jeschli/2configs/emacs.nix +++ b/jeschli/2configs/emacs.nix @@ -123,6 +123,8 @@ let # # 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) -- cgit v1.2.3 From eb6669994ed94ceae9acbf25aae86eabec0e856f Mon Sep 17 00:00:00 2001 From: Jeschli Date: Tue, 11 Feb 2020 17:52:46 +0100 Subject: j emacs as exwm; add chrome --- jeschli/2configs/emacs.nix | 34 ++++++++++++++++++++++++++++------ 1 file changed, 28 insertions(+), 6 deletions(-) (limited to 'jeschli/2configs/emacs.nix') diff --git a/jeschli/2configs/emacs.nix b/jeschli/2configs/emacs.nix index 0a81048fa..cffa1c744 100644 --- a/jeschli/2configs/emacs.nix +++ b/jeschli/2configs/emacs.nix @@ -9,7 +9,7 @@ let ]; }; - orgAgendaView = import ./emacs-org-agenda.nix; +# orgAgendaView = import ./emacs-org-agenda.nix; packageRepos = '' (require 'package) ;; You might already have this line @@ -179,7 +179,6 @@ let ${theme} ${windowCosmetics} - ${orgAgendaView} ${myFunctionKeys} ${lspMode} ''; @@ -202,9 +201,14 @@ let epkgs.melpaPackages.academic-phrases epkgs.melpaPackages.gitlab - epkgs.melpaPackages.helm epkgs.melpaPackages.weechat +# helm + epkgs.melpaPackages.helm + epkgs.melpaPackages.helm-fuzzier + epkgs.melpaPackages.helm-ag + + # emacs convenience epkgs.melpaPackages.ag epkgs.melpaPackages.company @@ -235,12 +239,15 @@ let epkgs.melpaPackages.org-mime epkgs.melpaPackages.orgit - epkgs.elpaPackages.which-key + + epkgs.exwm + epkgs.melpaPackages.desktop-environment + epkgs.melpaPackages.helm-exwm ]; emacsWithOverlay = pkgsWithOverlay.emacsWithPackagesFromUsePackage { - config = builtins.readFile dotEmacs; # builtins.readFile ./emacs.el; + config = builtins.readFile ./elisp/init.el; # Package is optional, defaults to pkgs.emacs package = pkgsWithOverlay.emacsGit; # Optionally provide extra packages not in the configuration file @@ -260,6 +267,21 @@ let ''; in { environment.systemPackages = [ - myEmacs myEmacsWithDaemon myEmacsClient + myEmacs myEmacsWithDaemon myEmacsClient emacsWithOverlay ]; + + services.xserver = { + enable = true; + xkbOptions = "caps:super"; + exportConfiguration = true; + + displayManager.slim.enable = true; + windowManager.default = "exwm"; + + # Set up the login session + windowManager.session = [{ + name = "exwm"; + start = "${emacsWithOverlay}/bin/emacs -q -l " + builtins.toString ./elisp/init.el; + }]; + }; } -- cgit v1.2.3 From a8322014cb96d6620787deb15c905dd9507b9e19 Mon Sep 17 00:00:00 2001 From: Jeschli Date: Mon, 30 Mar 2020 08:18:10 +0200 Subject: j emacs: org beautification --- jeschli/2configs/emacs.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'jeschli/2configs/emacs.nix') diff --git a/jeschli/2configs/emacs.nix b/jeschli/2configs/emacs.nix index cffa1c744..fb087a95f 100644 --- a/jeschli/2configs/emacs.nix +++ b/jeschli/2configs/emacs.nix @@ -232,7 +232,11 @@ let # python epkgs.melpaPackages.elpy -# org-mode + # org-mode + epkgs.melpaPackages.org-super-agenda + epkgs.melpaPackages.org-bullets + epkgs.melpaPackages.org-ql + epkgs.elpaPackages.bbdb epkgs.orgPackages.org-plus-contrib epkgs.melpaPackages.smex -- cgit v1.2.3 From bd780544d8823ba8845ec1014fb85c720f401463 Mon Sep 17 00:00:00 2001 From: Jeschli Date: Mon, 30 Mar 2020 08:18:46 +0200 Subject: j emacs: disable exwm --- jeschli/2configs/emacs.nix | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) (limited to 'jeschli/2configs/emacs.nix') diff --git a/jeschli/2configs/emacs.nix b/jeschli/2configs/emacs.nix index fb087a95f..797a397ba 100644 --- a/jeschli/2configs/emacs.nix +++ b/jeschli/2configs/emacs.nix @@ -274,18 +274,19 @@ in { myEmacs myEmacsWithDaemon myEmacsClient emacsWithOverlay ]; - services.xserver = { - enable = true; - xkbOptions = "caps:super"; - exportConfiguration = true; - - displayManager.slim.enable = true; - windowManager.default = "exwm"; - - # Set up the login session - windowManager.session = [{ - name = "exwm"; - start = "${emacsWithOverlay}/bin/emacs -q -l " + builtins.toString ./elisp/init.el; - }]; - }; +## EXWM Config +# services.xserver = { +# enable = true; +# xkbOptions = "caps:super"; +# exportConfiguration = true; +# +# displayManager.slim.enable = true; +# windowManager.default = "exwm"; +# +# # Set up the login session +# windowManager.session = [{ +# name = "exwm"; +# start = "${emacsWithOverlay}/bin/emacs -q -l " + builtins.toString ./elisp/init.el; +# }]; +# }; } -- cgit v1.2.3 From 5fa5426989baf0e44f0525775e6c4548f2d2d3a0 Mon Sep 17 00:00:00 2001 From: Jeschli Date: Tue, 14 Apr 2020 20:42:06 +0200 Subject: j emacs: remove dead code --- jeschli/2configs/emacs.nix | 178 +-------------------------------------------- 1 file changed, 2 insertions(+), 176 deletions(-) (limited to 'jeschli/2configs/emacs.nix') diff --git a/jeschli/2configs/emacs.nix b/jeschli/2configs/emacs.nix index 7400663a2..5bdd6d519 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-") 'kill-actual-buffer) - - (global-set-key (kbd "") 'mh/open-term-and-rename) - (global-set-key (kbd "") 'other-window) - (global-set-key (kbd "") 'split-window-right) - (global-set-key (kbd "") '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" '' -- cgit v1.2.3 From f8416778977803649e2b00f70ad8c5f4590f6d1b Mon Sep 17 00:00:00 2001 From: Jeschli Date: Tue, 14 Apr 2020 20:42:37 +0200 Subject: j emacs: let emacsclient accept files from terminal --- jeschli/2configs/emacs.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'jeschli/2configs/emacs.nix') diff --git a/jeschli/2configs/emacs.nix b/jeschli/2configs/emacs.nix index 5bdd6d519..c57a06f8c 100644 --- a/jeschli/2configs/emacs.nix +++ b/jeschli/2configs/emacs.nix @@ -93,7 +93,7 @@ let ''; myEmacsClient = pkgs.writeDashBin "meclient" '' - exec ${emacsWithOverlay}/bin/emacsclient --create-frame + exec ${emacsWithOverlay}/bin/emacsclient --create-frame "$@" ''; in { environment.systemPackages = [ -- cgit v1.2.3 From 467590736424f0bf0c51d50742b886728207a9d8 Mon Sep 17 00:00:00 2001 From: Jeschli Date: Tue, 14 Apr 2020 20:43:33 +0200 Subject: j emacs: cleanup and add documentation of used emacs pkgs --- jeschli/2configs/emacs.nix | 127 ++++++++++++++++++++++----------------------- 1 file changed, 62 insertions(+), 65 deletions(-) (limited to 'jeschli/2configs/emacs.nix') diff --git a/jeschli/2configs/emacs.nix b/jeschli/2configs/emacs.nix index c57a06f8c..caece8c9e 100644 --- a/jeschli/2configs/emacs.nix +++ b/jeschli/2configs/emacs.nix @@ -9,72 +9,69 @@ let ]; }; - #emacsWithCustomPackages - emacsPkgs= epkgs: [ - # testing lsp mode - epkgs.melpaPackages.lsp-ui - epkgs.melpaPackages.company-lsp - epkgs.melpaPackages.lsp-treemacs - epkgs.melpaPackages.helm-lsp - epkgs.melpaPackages.dap-mode - epkgs.melpaPackages.lsp-mode - + # The emacs packages that I use + # I differ between + # - stable (Packages that I use for some time - happy with it) + # - unstable (Packages that I use for some time - but may drop) + # - testing (Packages that I try out - the new stuff) + emacsPkgs = epkgs: + (with epkgs.melpaPackages ; + + ## helm (stable) + # emacs completion engine + [ helm helm-ag ] ++ + + ## deft (testing) + # text search for a directory + [ deft ] ++ + + ## lsp mode (unstable) + # Language Server Protocol mode + # Used for rust + [ company-lsp dap-mode helm-lsp lsp-mode lsp-treemacs lsp-ui ] ++ + + ## emacs convenience (stable) + # Mixed and general purpose + [ ag company direnv evil google-this spacemacs-theme ] ++ + + ## common lisp (testing) + [ slime ] ++ + + ## magit (stable) + [ magit ] ++ + + ## bunch of programming languages (unstable) + [ go-mode haskell-mode nix-mode ] ++ + + ## rust (unstable) + [ racer rust-mode ] ++ + + ## python (stable) + # Python IDE for emacs + [ elpy ]) ++ + + ## org-mode + # Org-Mode has several extensions + # and can be seen as an application of its own. + (with epkgs.melpaPackages ; # testing - epkgs.melpaPackages.web-mode - epkgs.melpaPackages.js2-mode - epkgs.melpaPackages.xref-js2 - - epkgs.melpaPackages.academic-phrases - - epkgs.melpaPackages.gitlab - epkgs.melpaPackages.weechat - -# helm - epkgs.melpaPackages.helm - epkgs.melpaPackages.helm-fuzzier - epkgs.melpaPackages.helm-ag - - -# emacs convenience - epkgs.melpaPackages.ag - epkgs.melpaPackages.company - epkgs.melpaPackages.direnv - epkgs.melpaPackages.evil - epkgs.melpaPackages.google-this - epkgs.melpaPackages.monokai-alt-theme - epkgs.melpaPackages.spacemacs-theme - epkgs.melpaPackages.zenburn-theme - -# development - epkgs.melpaPackages.magit - epkgs.melpaPackages.nix-mode - epkgs.melpaPackages.go-mode - epkgs.melpaPackages.haskell-mode -# rust - epkgs.melpaPackages.rust-mode -# epkgs.melpaPackages.flycheck-rust - epkgs.melpaPackages.racer - -# python - epkgs.melpaPackages.elpy - - # org-mode - epkgs.melpaPackages.org-super-agenda - epkgs.melpaPackages.org-bullets - epkgs.melpaPackages.org-ql - - epkgs.elpaPackages.bbdb - epkgs.orgPackages.org-plus-contrib - epkgs.melpaPackages.smex - epkgs.melpaPackages.org-mime - epkgs.melpaPackages.orgit - - epkgs.elpaPackages.which-key - - epkgs.exwm - epkgs.melpaPackages.desktop-environment - epkgs.melpaPackages.helm-exwm - ]; + [ org-super-agenda org-bullets org-ql ] ++ + # unstable + [ smex org-mime orgit ] + ) ++ + + # stable + (with epkgs.orgPackages ; + [ org-plus-contrib ]) ++ + + (with epkgs.elpaPackages ; + [ bbdb which-key ]); + +# ## EXWM related (unstable) +# epkgs.exwm +# epkgs.melpaPackages.desktop-environment +# epkgs.melpaPackages.helm-exwm +# ]; emacsWithOverlay = pkgsWithOverlay.emacsWithPackagesFromUsePackage { config = builtins.readFile ./elisp/init.el; -- cgit v1.2.3 From d947b167df49894e11b9685906bbbe8736b11aef Mon Sep 17 00:00:00 2001 From: Jeschli Date: Tue, 21 Apr 2020 19:54:45 +0200 Subject: j emacs: add window-purpose --- jeschli/2configs/emacs.nix | 3 +++ 1 file changed, 3 insertions(+) (limited to 'jeschli/2configs/emacs.nix') diff --git a/jeschli/2configs/emacs.nix b/jeschli/2configs/emacs.nix index caece8c9e..cb1bef949 100644 --- a/jeschli/2configs/emacs.nix +++ b/jeschli/2configs/emacs.nix @@ -17,6 +17,9 @@ let emacsPkgs = epkgs: (with epkgs.melpaPackages ; + ## windows-purpose (testing) + [ window-purpose ] ++ + ## helm (stable) # emacs completion engine [ helm helm-ag ] ++ -- cgit v1.2.3 From d20962339130e27acf883e6e4149ba3d13db1994 Mon Sep 17 00:00:00 2001 From: Jeschli Date: Tue, 21 Apr 2020 19:56:00 +0200 Subject: j emacs: stable for bbdb which-key --- jeschli/2configs/emacs.nix | 1 + 1 file changed, 1 insertion(+) (limited to 'jeschli/2configs/emacs.nix') diff --git a/jeschli/2configs/emacs.nix b/jeschli/2configs/emacs.nix index cb1bef949..73a2320d4 100644 --- a/jeschli/2configs/emacs.nix +++ b/jeschli/2configs/emacs.nix @@ -67,6 +67,7 @@ let (with epkgs.orgPackages ; [ org-plus-contrib ]) ++ + # stable (with epkgs.elpaPackages ; [ bbdb which-key ]); -- cgit v1.2.3 From 8684b9b771ac038b632b61bfefad75a1a6642c53 Mon Sep 17 00:00:00 2001 From: Jeschli Date: Tue, 21 Apr 2020 19:58:14 +0200 Subject: j emacs: use ./elisp/init.el --- jeschli/2configs/emacs.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'jeschli/2configs/emacs.nix') diff --git a/jeschli/2configs/emacs.nix b/jeschli/2configs/emacs.nix index 73a2320d4..5c35bc280 100644 --- a/jeschli/2configs/emacs.nix +++ b/jeschli/2configs/emacs.nix @@ -90,7 +90,7 @@ let ''; myEmacsWithDaemon = pkgs.writeDashBin "my-emacs-daemon" '' - exec ${emacsWithOverlay}/bin/emacs -q --daemon + exec ${emacsWithOverlay}/bin/emacs -q --daemon -l ${./elisp/init.el} ''; myEmacsClient = pkgs.writeDashBin "meclient" '' -- cgit v1.2.3