Add extra configuration for WSL and Windows
This commit is contained in:
parent
1553ae6a92
commit
ad79192e2d
5 changed files with 155 additions and 8 deletions
|
@ -18,6 +18,7 @@
|
|||
* Add the `ag` package. It provides a nice alternative to `grep` and has nice Projectile integration.
|
||||
* Auto-install `adoc-mode` for AsciiDoc files.
|
||||
* Added `transient/` to `.gitignore`.
|
||||
* Added additional configuration modules for WSL (`prelude-wsl`) and Windows (`prelude-windows`).
|
||||
|
||||
### Bugs fixed
|
||||
|
||||
|
|
54
core/prelude-windows.el
Normal file
54
core/prelude-windows.el
Normal file
|
@ -0,0 +1,54 @@
|
|||
;;; prelude-windows.el --- Emacs Prelude: Windows-specific setup.
|
||||
;;
|
||||
;; Copyright © 2011-2020 Bozhidar Batsov
|
||||
;;
|
||||
;; URL: https://github.com/bbatsov/prelude
|
||||
|
||||
;; This file is not part of GNU Emacs.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; Additional setup that's useful when running Emacs in Windows.
|
||||
|
||||
;;; License:
|
||||
|
||||
;; This program is free software; you can redistribute it and/or
|
||||
;; modify it under the terms of the GNU General Public License
|
||||
;; as published by the Free Software Foundation; either version 3
|
||||
;; of the License, or (at your option) any later version.
|
||||
;;
|
||||
;; This program is distributed in the hope that it will be useful,
|
||||
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;; GNU General Public License for more details.
|
||||
;;
|
||||
;; You should have received a copy of the GNU General Public License
|
||||
;; along with GNU Emacs; see the file COPYING. If not, write to the
|
||||
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
;; Boston, MA 02110-1301, USA.
|
||||
|
||||
;;; Code:
|
||||
|
||||
;; Teach Emacs how to interpret various modifier keys
|
||||
(setq w32-pass-lwindow-to-system nil)
|
||||
(setq w32-lwindow-modifier 'super) ; Left Windows key
|
||||
|
||||
(setq w32-pass-rwindow-to-system nil)
|
||||
(setq w32-rwindow-modifier 'super) ; Right Windows key
|
||||
|
||||
(setq w32-pass-apps-to-system nil)
|
||||
(setq w32-apps-modifier 'hyper) ; Menu/App key
|
||||
|
||||
;; Git setup (assuming you've installed Git for Windows)
|
||||
(when (file-exists-p "C:/Program Files/Git/bin")
|
||||
(add-to-list 'exec-path "C:/Program Files/Git/bin")
|
||||
(add-to-list 'exec-path "C:/Program Files/Git/mingw64/bin")
|
||||
(setenv "PATH" (concat "C:/Program Files/Git/bin;" "C:/Program Files/Git/mingw64/bin;" (getenv "PATH"))))
|
||||
|
||||
;; needed for arc-mode (it allows you to open archives in Emacs)
|
||||
(if (file-exists-p "C:/Program Files/7-Zip")
|
||||
(add-to-list 'exec-path "C:/Program Files/7-Zip")
|
||||
(message "7-Zip not found. It's a good idea to install it."))
|
||||
|
||||
(provide 'prelude-windows)
|
||||
;;; prelude-windows.el ends here
|
42
core/prelude-wsl.el
Normal file
42
core/prelude-wsl.el
Normal file
|
@ -0,0 +1,42 @@
|
|||
;;; prelude-wsl.el --- Emacs Prelude: WSL-specific setup.
|
||||
;;
|
||||
;; Copyright © 2011-2020 Bozhidar Batsov
|
||||
;;
|
||||
;; URL: https://github.com/bbatsov/prelude
|
||||
|
||||
;; This file is not part of GNU Emacs.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; Additional setup that's useful when running Emacs in WSL.
|
||||
|
||||
;;; License:
|
||||
|
||||
;; This program is free software; you can redistribute it and/or
|
||||
;; modify it under the terms of the GNU General Public License
|
||||
;; as published by the Free Software Foundation; either version 3
|
||||
;; of the License, or (at your option) any later version.
|
||||
;;
|
||||
;; This program is distributed in the hope that it will be useful,
|
||||
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;; GNU General Public License for more details.
|
||||
;;
|
||||
;; You should have received a copy of the GNU General Public License
|
||||
;; along with GNU Emacs; see the file COPYING. If not, write to the
|
||||
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
;; Boston, MA 02110-1301, USA.
|
||||
|
||||
;;; Code:
|
||||
|
||||
;; teach Emacs how to open links with your default browser
|
||||
(let ((cmd-exe "/mnt/c/Windows/System32/cmd.exe")
|
||||
(cmd-args '("/c" "start")))
|
||||
(when (file-exists-p cmd-exe)
|
||||
(setq browse-url-generic-program cmd-exe
|
||||
browse-url-generic-args cmd-args
|
||||
browse-url-browser-function 'browse-url-generic
|
||||
search-web-default-browser 'browse-url-generic)))
|
||||
|
||||
(provide 'prelude-wsl)
|
||||
;;; prelude-wsl.el ends here
|
24
init.el
24
init.el
|
@ -37,7 +37,7 @@
|
|||
;; installed packages. Don't delete this line. If you don't want it,
|
||||
;; just comment it out by adding a semicolon to the start of the line.
|
||||
;; You may delete these explanatory comments.
|
||||
;(package-initialize)
|
||||
;(package-initialize)
|
||||
|
||||
(defvar prelude-user
|
||||
(getenv
|
||||
|
@ -77,13 +77,13 @@ by Prelude.")
|
|||
(make-directory prelude-savefile-dir))
|
||||
|
||||
(defun prelude-add-subfolders-to-load-path (parent-dir)
|
||||
"Add all level PARENT-DIR subdirs to the `load-path'."
|
||||
(dolist (f (directory-files parent-dir))
|
||||
(let ((name (expand-file-name f parent-dir)))
|
||||
(when (and (file-directory-p name)
|
||||
(not (string-prefix-p "." f)))
|
||||
(add-to-list 'load-path name)
|
||||
(prelude-add-subfolders-to-load-path name)))))
|
||||
"Add all level PARENT-DIR subdirs to the `load-path'."
|
||||
(dolist (f (directory-files parent-dir))
|
||||
(let ((name (expand-file-name f parent-dir)))
|
||||
(when (and (file-directory-p name)
|
||||
(not (string-prefix-p "." f)))
|
||||
(add-to-list 'load-path name)
|
||||
(prelude-add-subfolders-to-load-path name)))))
|
||||
|
||||
;; add Prelude's directories to Emacs's `load-path'
|
||||
(add-to-list 'load-path prelude-core-dir)
|
||||
|
@ -122,6 +122,14 @@ by Prelude.")
|
|||
(when (eq system-type 'gnu/linux)
|
||||
(require 'prelude-linux))
|
||||
|
||||
;; WSL specific setting
|
||||
(when (getenv "WSLENV")
|
||||
(require 'prelude-wsl))
|
||||
|
||||
;; Windows specific settings
|
||||
(when (eq system-type 'windows-nt)
|
||||
(require 'prelude-windows))
|
||||
|
||||
(message "Loading Prelude's modules...")
|
||||
|
||||
;; the modules
|
||||
|
|
42
personal/prelude-modules.el
Normal file
42
personal/prelude-modules.el
Normal file
|
@ -0,0 +1,42 @@
|
|||
;;; Uncomment the modules you'd like to use and restart Prelude afterwards
|
||||
|
||||
;; Emacs IRC client
|
||||
(require 'prelude-erc)
|
||||
;; (require 'prelude-ido) ;; Super charges Emacs completion for C-x C-f and more
|
||||
(require 'prelude-ivy) ;; A mighty modern alternative to ido
|
||||
;; (require 'prelude-helm) ;; Interface for narrowing and search
|
||||
;; (require 'prelude-helm-everywhere) ;; Enable Helm everywhere
|
||||
(require 'prelude-company)
|
||||
;; (require 'prelude-key-chord) ;; Binds useful features to key combinations
|
||||
;; (require 'prelude-evil)
|
||||
|
||||
;;; Programming languages support
|
||||
(require 'prelude-c)
|
||||
(require 'prelude-clojure)
|
||||
;; (require 'prelude-coffee)
|
||||
;; (require 'prelude-common-lisp)
|
||||
(require 'prelude-css)
|
||||
;; (require 'prelude-dart)
|
||||
(require 'prelude-emacs-lisp)
|
||||
;; (require 'prelude-erlang)
|
||||
;; (require 'prelude-elixir)
|
||||
;; (require 'prelude-go)
|
||||
;; (require 'prelude-haskell)
|
||||
(require 'prelude-js)
|
||||
;; (require 'prelude-latex)
|
||||
(require 'prelude-lisp)
|
||||
(require 'prelude-lsp)
|
||||
;; (require 'prelude-ocaml)
|
||||
(require 'prelude-org) ;; Org-mode helps you keep TODO lists, notes and more
|
||||
(require 'prelude-perl)
|
||||
;; (require 'prelude-python)
|
||||
(require 'prelude-ruby)
|
||||
;; (require 'prelude-rust)
|
||||
;; (require 'prelude-scala)
|
||||
(require 'prelude-scheme)
|
||||
(require 'prelude-shell)
|
||||
(require 'prelude-scss)
|
||||
(require 'prelude-ts)
|
||||
(require 'prelude-web) ;; Emacs mode for web templates
|
||||
(require 'prelude-xml)
|
||||
(require 'prelude-yaml)
|
Loading…
Reference in a new issue